How to learn as a developer

Posted by

One important aspect of being a programmer is learning. Sadly, the concept of “knowing it all” simply doesn’t exist, partly due to the fact that programming is a massive field. Additionally, programming is constantly evolving, to where there are jokes about how JavaScript books are out of date by the time they are published. As such, to stay relevant and competent as a programmer, you should always be learning. 

About a year ago this struck me kind of hard. I felt like I was stagnating in my job as I was hitting a plateau doing about the same thing every day, so I made a learning plan and set out to improve myself on my own terms. I figured that approaching it from multiple mediums would allow me to get a preference for what medium I enjoy most as well as get a variety of experience.

My original approaches were:

I’m well aware that my handwriting is poor, that’s why I stick to a keyboard 🙂

For clarity, I originally wasn’t sure what soft skills I would go for, and I meant adjacent and direct hard skills as direct being something that helps me in the workplace immediately, whereas adjacent would be a technical skill or language that I wouldn’t be (think, in a C# workplace, learning more C# would be direct, learning F# would be adjacent). Also, I’m not a huge fan of a hard structured in person classroom, so as of now, my learning plan looks like this:

Goals

While setting some initial goals, it’s a good idea to set reasonably easy goals. Actually hitting some goals can provide encouragement to keep going and potentially push yourself to do more and set higher goals. For my multiple mediums right now, I have some pretty easy goals. An hour of video classes a week, 200 pages of book reading a month, a blog post a month, and an hour of listening to podcasts a week. Failing to hit those goals happens, but I focus on the successes. If I don’t hit a goal with a certain medium, no problem, because I’m still likely improving myself through other mediums and hitting other goals I have.

Saying you’re going to improve yourself is one thing, but actually doing so is a different story. In my opinion, the key to actual execution is to keep track of progress. By tracking your progress, you can hold yourself accountable and, at the end, see that you’ve gotten somewhere (as to if learning something actually has an impact is a different discussion). Progress tracking is pretty much built in to most video class websites, podcast applications, as well as open source contributions and blogging. For me, it was extremely helpful to track my book reading using the GoodReads application, which allows you to keep track of what books you have read, what you want to read, and what you’re currently reading. 

Getting started can be hard, but lowering the barrier to entry helps. Podcasts, open source software and some video class sites are free to use, but books and conferences are a bit harder. For books, you can typically get a library card for free, and check out books to your hearts content. Conferences and paid video class sites can sometimes be covered by an employer if you’re lucky, otherwise you’ll have to cover it yourself. 

Making Time

Making time to actually do some learning is not easy. It seems that everyone is somehow busier than ever. If you’re not in any sort of commitment to talk to someone, reading or watching videos while eating is a decent strategy. Podcast are great for learning when you don’t have time. I recently changed jobs that tripled my commute, and now I listen to podcasts to and from work. I also like to listen to podcasts while I’m cleaning the house. Other than that, the only advice I can give you is that you have to make time for it. 

Results

After working on learning more outside of work for about a year now, I can honestly say that I feel more capable, competent, and confident. I can understand things that I wouldn’t have even thought of before, and I think it has made me a better programmer. As such, I would argue that working harder to be smarter enables you to do more of the “work smarter, not harder” thing.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.