If you’re a programmer “too busy to learn more”, you need to read this
Learning by working should not be optional for a programmer. And it should not come at the expense of your free time.
Working in a coding school, there is a phrase I sometimes hear which I am never entirely sure how to respond to: “I am too busy with work at the moment to be learning new things on top of it.”
The reason I’m not sure how to respond, is that I can’t find a tactful way of saying that this entire way of thinking is a problem.
Before I say anything else, I want to be clear from the outset that the point of this article isn’t to push anyone to do more hours at work. Absolutely not. Few things drive me up the walls like hearing self-styled influencers in the tech scene announce that you’re ‘not a real developer’ if you’re not coding 60 or 70 hours a week, and I’ve written before about the importance of taking care of your well-being and avoiding burnout.
No developer, at any stage of their career, should be expected not to have time to dedicate to friends and family.
That being said, one principle that I do believe quite firmly is that if you are in this line of work, then you should be learning by working. That’s why being too busy to learn is a contradiction.
In a field as creative, as challenging and potentially as complex as that of programming, this is really not an unreasonable expectation. In fact, it’s a matter of staying competitive: the treadmill of technology moves quickly, and if you don’t regularly update and sharpen your skills, these will eventually become obsolete.
The good news is that the sense of being ‘too busy to learn’ is very often illusory. The matter of how to organise one’s schedule and priorities outside of work is wide enough that I will give it its own blog next week, but I want to dedicate this space to the more specific side of the question, how can I learn on the job?
Firstly, the process does not start in the office — it starts at the application level. You may not always have as much choice as you’d like in terms of where you will be working, sure, but you should make it a rule of applying for positions that match your learning aspirations. Avoid, in particular, those projects you’re overqualified for: they may feel easy and relaxing for as long as you’re working on them, but your knowledge will stagnate over their duration, and on the long term you’ll be damaging your own career. Apply for jobs which allow you to expand on your skills, and when said jobs are not doing that anymore, don’t just sit on them — move on.
Once you do have a job, to ensure you are growing, there are two things that you should be: proactive and communicative. Proactive, because you can’t allow yourself to be slotted by the rest of your team into repetitive chores. Instead, get to work on prototyping, and take on new problems, keeping it reasonable (don’t start doing something you don’t fully understand if messing it up will cost your company half its budget).
You should be communicative, because you ought to be clear with your boss that letting you expand your skills and trying out new things, even when the returns are not immediate, will benefit the company in the long run. If your boss is smart, you’ll be given that flexibility.
Communicating is also important because that’s how you find out about upskilling opportunities. Sometimes, a dev who complains that s/he is too busy to learn simply hasn’t looked into the training programs offered by their company. Big tech companies in particular often like to ‘develop their developers’ inhouse.
So, sit down with your boss, explain to him/her that you are currently not making any personal progress, and ask to enrol on a training program — one that is included in your working hours.
On the topic of working hours — while I stressed the importance of having free time, it is not unreasonable to suggest spending a little bit of it — perhaps just a few hours per week — listening to podcasts or conferences on new technologies (as promised, we will go into greater detail on how to organise these activities next week). Cultivating yourself this way, for anyone who loves coding, should be a matter of pleasure, not duty.
Finally, as a last resort, consider leaving, or else upskilling outside of work. If your job really doesn’t offer any learning opportunities, the extra hours it demands are untenable, your boss is inflexible, your commute is too long, or whatever other issue is getting in the way of your ability to develop yourself, then perhaps you are simply not in the right place. And for that, there’s always a solution.