How to Keep Learning as a Busy Software Engineer
Join other nerds - Subscribe to my free email newsletter where I share my experience and know how about the world of programming, productivity, and dev life.
Ever feel like you’re falling behind in this crazy, dynamic world of programming? Did you ever wonder, “How can I stay ahead when my job barely gives me any time to breathe, let alone learn new things?”. This question came up to me recently in a conversation with a friend, and it struck me because, honestly, it’s something many of us struggle with, and it’s important.
But here’s the thing: if you wait for your employer to give you time to learn, you’ll be done.
The hard truth is that staying relevant in this industry requires taking control of your learning journey.
In this article, I will share some practical strategies that have helped me keep up and progress through out my almost 20 years in the industry. Whether you’re a fresh boot camp graduate or a seasoned developer, these tips will help you stay sharp and ready for whatever comes your way.
If you prefer to watch a video version of this article, you can find it on my YouTube channel:
Why You Need to Own Your Career
First, let’s discuss the importance of owning your career. With coding, things go fast, and if you sleep for a bit, you’ll find yourself outdated, working on the next-gen Cobol. If you don’t want to be that guy maintaining a 20-year-old codebase, you need to take control of your learning.
Owning your career means taking responsibility for your growth. It’s about more than just googling to solve what’s currently getting you stuck or finding an answer to that problem or question that just came up. It’s about thinking ahead, exploring new technologies, and building a broad knowledge base that will serve you well in the future.
This proactive approach will keep you ahead of the curve and ensure you’re not just another developer who gets left behind. Sure, sometimes it’s unclear if what we are learning today will be applicable in the future, but that’s okay because the learning process is what matters the most. Believe me, more than once, I bet on learning a framework or programming language that I never used again; it’s all part of the game.
Now, let’s discuss a few tips and tricks that helped me stay ahead in my career.
Microlearning
Microlearning doesn’t sound very exciting, but hear me out. It’s the practice of learning in small sessions that are fully committed. That means no phone, no distractions, just you and the material you’re trying to learn.
I can’t multitask. I get easily distracted or unconsciously move from one book or tutorial window to another, and then I find myself scrolling numbly through YouTube shorts or Twitter.
So whenever I want to learn something new, I need to commit, mute notifications, close all other tabs, and focus on the material. Since I’m now using a Mac, I created a shortcut that helps me enter this focused mode and clears me out of distractions.
Microlearning is a great way to learn new things, especially when busy. You can learn a new concept in 10-15 minutes and then return to it when you have more time. It’s a great way to keep your brain engaged and learning new things, even when you’re short on time.
Teach What You Learn
There’s a quote attributed to the great Albert Einstein that says “If you can’t explain it simply, you don’t understand it well enough”. And I couldn’t agree more. This is the philosophy I live by when it comes to learning. One of the most effective ways to deepen your understanding of a topic is to teach it.
When you explain something to someone else- or even if you just write it down for yourself- you’re forced to clarify your thoughts and fill in any gaps in your knowledge and understanding. This process helps you solidify your understanding of the material and makes it easier for you to recall it later.
For me, this process has been invaluable. I started writing down notes of things I would learn, but then, about three years ago, I started a blog, and that was a game changer. Not only because it helped to learn new things but also made it possible for me to be here today, where I am in my career, as unexpectedly, it opened the doors to new opportunities, connections, and finally, to shifting my career to teaching as a developer advocate and content creator.
But even if you are just writing it down in your personal journal, or explaining it to a friend, the act of teaching reinforces what you have learned and will help you fill in the gaps.
Block Time for Learning
We are all busy. As software engineers, we’re dealing with project deadlines, dull tasks, meetings, on-call duties, even more meetings, I get it, it feels like there’s just not time left to learn. But the truth is, there’s always time. You just have to make it.
In my twenties I hardly ever had time for anything, or at least I thought so. Because looking back, and after having two kids, I can’t think of a time where I had more free time than back then. So, I know first hand, that time is what you make of it.
That’s why it’s crucial to block out specific times in your calendar for learning—and to treat this time as sacred.
Think of it like this: you wouldn’t skip a meeting with your boss, right? So why would you skip a meeting with yourself, especially when it’s about something as important as your career growth? Blocking time in your calendar ensures that you’re consistently making progress, even if it’s just an hour or two a week. Personally, I like to set aside time in the evenings after my kids are in bed. It’s a quiet time where I can focus on learning without distractions.
This idea is inspired by Cal Newport’s concept of “Deep Work,” where you schedule time for focused, uninterrupted work. When you apply this to learning, you’re more likely to make significant progress and truly absorb the material.
Don’t Try to Learn Everything From Everywhere
The internet is precious as it exposed us with all the information we may ever need, and more, a ton more of it. But that’s also a problem. With so much information available, it’s easy to get overwhelmed and feel like you need to learn everything.
I’m a big advocate for curating sources, rather than consuming everything or searching on demand, I like to have a curated list of sources, my read-it-later app, and a list of books I want to read. This way, I can focus on the material that’s most relevant to me and avoid getting distracted by all the noise.
When you’re learning something new, try to find a few high-quality resources that you trust and stick with them. This will help you avoid information overload and ensure that you’re learning from reputable sources.
This approach has a dual benefit. It keeps me focused and prevents me from getting distracted by the sheer volume of information out there. Plus, it ensures that the content I’m consuming is aligned with my goals, which makes my learning process much more efficient.
Practice, Practice, Practice
Finally, let’s talk about the importance of practice. It’s easy to fall into the trap of watching tutorials or reading articles without ever applying what you’ve learned. This is what I call “tutorial hell,” and it’s something you definitely want to avoid.
The best way to learn is by doing. After you’ve gone through a tutorial or read an article, take what you’ve learned and put it into practice. Start a side project, contribute to an open-source project, or simply write some code on your own. The act of building something with your hands is what will cement the knowledge in your brain and make it second nature.
Conclusion
In the end, your learning journey is yours to control. Don’t rely on your employer or anyone else to give you the time or resources to learn—take charge of it yourself. Make learning a habit, curate your sources, teach what you learn, and, most importantly, put that knowledge into practice.
By taking ownership of your learning, you’re not just preparing for your next job—you’re preparing for the future of your career. And trust me, your future self will thank you for the effort you put in today.
Thanks for reading, and happy learning!