Monday, January 12, 2015

A programming workout buddy

Personal trainers and fitness gurus always recommend getting a workout buddy to help keep you motivated to work on your fitness goals.  It makes sense.  You inevitably hit a lull and want to slip back into old, bad habits, and give up.  If you have a buddy who is also motivated, hopefully you won't both hit a lull at the same point, and you can cross-motivate.  So, why can't we apply this same idea to other areas, like programming?  Programming takes a certain amount of rigor to learn, requires a lot of motivation to keep going, and has amazing benefits if learned well.

One of my goals this year, and every year for a while, is to learn a new programming language.  I guess I did learn Python for my job last year, but it didn't really stretch me much, coming from another dynamic, interpreted language like Perl.  So, this year, I've decided to seek out a programming workout buddy to help push me along, and vice-versa.  So, I pinged a good friend that I thought might be interested, and he liked the idea.

We're going to learn Rust, which is an up-and-coming systems language from Mozilla.  We debated between a few different languages, but decided Rust would push us both to learn more fundamental CS stuff that is abstracted away from you in the other languages we were debating among.  Maybe we'll go back to some of the others afterwards.

We haven't worked out all the specifics yet, but the first part will be a sort of book club where we choose a common set of learning material and meet at a regular interval to discuss it.  After that, we'll probably pick some algorithms or data structures to implement, then compare results.  After that, who knows, maybe team up on a side project or something.  It's a bit loose and undefined at the moment, but that's how I roll.  Wish us luck.

If you want to join us, let me know.  We're just starting up this week.  I'd like to avoid having too large a group, but we can probably accommodate a few folks.