Around the first of the year I wrote a post about skill development. it covered a handful of things I would be forced into learning over the next year or so. Skill development is something that most people do on the job. There is demand for something new. and someone has to do it. May as well be you. So you fumble through whatever the new skill set for a while and become competent. The first bits of work are probably something you look back on regrettably as soon as you have to make changes there.
This process can be amplified (good or bad) by spending some personal time. It is easy to talk about what people ‘should’ do, but those ideas are usually wrapped up in the idea of a privileged person with unlimited spare time and resources. That ain’t most people, it certainly isn’t me. And yet, there are still some things I want to get good at.
I wrote this elsewhere, but my daily routine starts pretty early. That gives me time to get my kid ready, get myself ready, and figure out where to start working. I started waking up 20 minutes earlier each day, which sucks, so that I can spend 20 minutes each morning on some sort of skill development. That is programming at the moment. I start each day with a series of Ruby koans. I wrote a fair bit of test tool code in the early 2000s, but haven’t done much beyond small scripts since then. That has left me rusty, so I am starting from the start. Sometimes if if I have a few minutes during lunch or the afternoon, I’ll try to put the fundamentals together with an exercise or two on codewars.
All of this sounds pretty trivial. But it is hard to keep up over the long term. 15 or 20 minutes a day over the course of a week doesn’t seem like it would add up to anything in terms of improving my ability to write code. I have been doing this 15 to 20 minutes a day scheme for about a month and a half now. The product I am working has layers of programmatic testing in several different languages. I probably wouldn’t be able to address any particular coded test on my own, but I have been able to make small changes here and there. And in the context of a pair, that gets a little stronger.
My plan is to do this for a year. I mean actually committing to move from “what on earth am I doing” to “I am maybe not a competent programmer, but can be passable” Aside from time, this takes a task strategy. If I start by looking at the end state, my goal is terrifying. There is a lot there and the path over the course of a year is hard to plot in my head. What I can do is plan for today. Each day I have a goal to get through the next few koans. This is always plus or minus a few, there are no hard boundaries, but some need to get done.
So, my plan is small tasks each weekday (mostly) for about 15 minutes over the next year. Maybe there are more efficient methods, this works for me right now though. I’ll post an updates over the coming year to talk about how this strategy works (or doesn’t) and how it has changed over time. What do you all do?