The only thing more exciting than learning something new is telling someone else about it... or better yet, showing them. I see it with my kids all the time - "Hey, Dad, look at me. Look what I did. Look what I made. Listen to this!!!" - and I don't see why it should be any different for adults. Hopefully we're a little less demanding, a little more reserved, but still... we deserve to get excited too. 😉

Ten Thousand

When it comes to sharing what I've learned with programming, I pretty much either blog about it right here, or help someone get over a hurdle on Stack Overflow. I like blogging because it's 100% mine and it leads to random interactions with people I would've never met otherwise. I even had someone request permission to translate one of my posts into another language, which was awesome.

And Stack Overflow, well... when I started answering questions 7 years ago, it was satisfying. Maybe I was just more naive and fresh. Now it feels like it's just a tool - a useful tool, of course. For me, the excitement fizzled out a long time ago, buried under an avalanche of endless meta discussions on hi, thanks and other salutations, flatout accusations by corporate that high-rep users discriminate against women and minorities, and laments on why everyone and everything is so rude and negative. It shouldn't be that difficult to just help people out, but with SO it sometimes is.

Exercism.io v2

So with that on my mind, a friend happened to share a tweet about Exercism revamping their entire site and how they're looking for mentors. If you're unfamilar with Exercism, it's a free site where you can pick a language (a "track") and step through lots of exercises, each of which has a set of tests that must pass before you can continue. You can go it on your own, or submit each one and wait for feedback from mentors who have more/different experience in the language.

If you think you might be interested in mentoring too, they've written up a nice guide that steps through the process, as well as an FAQ with more helpful hints and links to articles on mentoring well. The main gist of it is that you won't be mentoring alone, they've setup a slack team where anyone helping out can ask questions and report problems, and they're only asking for about 1 hour per week (although I wonder if that's realistic given the number of submissions).

After mulling it over a bit, I decided to join the C# track as a mentor. I'm not too familiar with the site or the process of going through a track (I tried it once but didn't stick with it for <insert reasons>), so I intend to progress through the Python track with mentor feedback, and the Erlang track independently (without feedback), so I have a better idea of what it's like.

My first feedback

As I write this, I just submitted feedback on the first solution that popped up in my "Mentor Dashboard". I don't know what I was expecting, but wow... I won't say too much about it except that it used the power of LINQ really well, and some new features like expression-bodied function members (C# 6) and the new way to declare tuples (C# 7), which sent me scrambling to the docs to review a few things. I didn't just provide feedback on it, I learned new things too. I'm looking forward to this. :)