We know as good software engineers that learning, and continuously upskilling is important to our careers. In fact, it’s important to any career.
But what the hell do we focus on? There’s a seemingly infinite amount of directions and paths to explore and content to learn. Right now I can name at least several things I want to learn more about: Elm, React Native, Rust, Nodebots, C# Core, Android, Futher Swift, Elixir, Go, Queues, Docker, AWS Cloud Formation, AWS EC2, Ruby Gems, …. the list goes on! What do I spend my spare time learning?!?
I’m feeling rather overwhelmed by it. I feel almost paralyzed by the choices in front of me.
There are so many questions plaguing me. Do I focus on what will help with my day job? How about stuff for future jobs? How about stuff that’s trendy? How do I decipher between what is a trend and what is here to stay? How do I know if I don’t like something vs I am too unmotivated to learn it properly (*cough* pure functional programming *cough*)? How do I get feedback on what I’m learning? How do I find out what I don’t know?
This isn’t a blog for answers — but here’s my current thinking and I’d love to know if I’m on the right track.
Do What You Love
By doing just what you’re interested in doing, you’ll keep doing it in the future. If you take the chance to learn to code iOS apps because you really like iOS apps, then, hey, you might land a job doing it, and you’ll be doing what you love and getting paid for it. There’s no point learning JS if you don’t “see” yourself being a frontend Guru. If, for example, you’re put off by the weaknesses of the language and having to worry about browser versions, then don’t bother. There are people who love that stuff, let them do it. But how do you know what you love?
Give Everything Five Hours
I try to spend at least 5 hours on everything that grabs me. I usually give most of this time to YouTube videos of conference talks of people explaining it. I usually watch a README type talk, followed by some advanced stuff followed by some case studies/lessons learned. This is usually enough. I then seek out the community, read some pull requests, and see what the mood is. Tools are important. Behaviour is important. If you like it, keep going! Get engaged. Attend meetups, read posts, document what you’re doing and keep learning! If it’s not for you, then move onto the next thing.
Remember 5 hours is less than one hour a day*. You could explore 52 topics in year. Actually that’s a cool idea for next year.
Get in the Habit
Like everything in life, a bit of pragmatism goes a long way. Follow what interests you, keep reading, but don’t spend all day on Hacker News. Try build a habit to make time for learning. Attend meetups. Read posts. Watch talks. Go to conferences. Subscribe to newsletters. Etc. Make upskilling a part of your life and embrace it.
This part of your career when you’re first starting out is overwhelming. I’m overwhelmed. But I’m still going. And so should you.
This post is part of my Junior Developer Diaries series. You can read other posts and join the mailing list here - samjarman.co.nz/diaries.
*I totally acknowledge that sort of time isn’t available for everyone, and that’s the privilege of my age speaking, but don’t give up, any time you can spend is better than none.