Back in August I started working on the Ruby track on Exercism.io. I’ve had mixed success with structured code learning – I did the JS track on Codecademy two years ago, which worked fairly well, but I lose interest in “build a toy application” projects almost instantly. When I was working in Support at New Relic, I realized it’s because my interest in code isn’t as a craft or profession – my profession is solving problems, and code (like writing) is a tool I use to do that.
Codecademy and Exercism work for me because they set up well-defined small problems for me to solve with code. I’m not good enough at programming (yet) to solve a really big problem with code without guidance on how to approach it, so small problems work well.
The Exercism exercises are mostly somewhat silly artificial constructs, but I do think they’ve benefited my ability to mentally model problems, my familiarity with basic Ruby constructs, and my code style. At this point in the track (18 problems complete) I don’t always come up with a super awesome way to do something the first time, but I can often write code in such a way that my first attempt to create the algorithm works for most cases, and I’m also usually able to find the part of my code I want to tidy up later and understand why I’m having trouble with it.
Less than two weeks after I’d started, it was already helping me:
Interesting fact: @exercism_io has already contributed to my ability to do my job!
— Alexis Grant (@lyspeth) August 30, 2016
At the time I was writing a Ruby script to automate some tedious work with the Alerts Synthetics Conditions API, so I was using code to do my job, and using it better than before. Hopefully this will keep happening.