If you truly want to stay relevant as a programmer, you have to keep learning.
Questioning Lifelong Learning
Right now, you probably fall into one of these three categories:
- You cannot agree more and you feel great — hey, you’ve just been told you were a true programmer after all. Whether you actually learn new stuff about programming every week, or you’re convinced you should, read on; we’re on the same page.
- You’re in a state of denial. You’re doing fine at your job, and you don’t need — nor want, for that matter — to spend more time on programming than for your daily work. Who am I to tell you what to do? Calm down and read on; you might be surprised.
- You’re freaking out. You’re thinking that finally you might not be built for this job. You feel overwhelmed. Don’t give up so easily on programming. Cheer up and read on; I’m here to help.
Is this really necessary?
Well, I’m sure a lot of coders don’t feel the need to learn new stuff for their work and still live a happy life as professional programmers. For how long? I don’t know but I wish them the best. I might sound alarming here, but I’m just trying to be realistic. Any job requires some evolution and learning. Not just programming. The evolution pace for our industry just happens to be one of the fastest.
It is most likely that you have to progress to keep up with what your company expects from you anyway. Today, the world is ruled by competition. One way for a company to make business is to continuously stay on top of things. If not using the latest trendy stuff, at least replacing old stacks with up-to-date things. If your company is moving on but you’re not, you might get replaced by other programmers.
I don’t want to throw the blame on anybody here. When everything is fine at work, why bother learning new things, right? But time passes, and conditions may change. Once you decide that you want to change your job, you realize how lazy you’ve been. Continuously acquiring new skills helps you to change companies. Keeping up to date might be the little difference which allows you to land a job.
What should I learn then?
Depends on what you work on and what you’re interested in. You don’t have to learn just for the sake of learning. Anything you learn might be useful one day, but it makes sense to focus on the things that can improve your daily programming life. You don’t have to work only on your technical skills. Working on your soft skills can also be very beneficial.
You should not necessarily look negatively at this learning duty. It actually makes the job of a software developer quite exciting. If you like programming, I bet you like innovation. Learning new stuff is also part of our nature. It leaves you with a great feeling. I believe that progressing at work contributes globally to your well-being, whatever your domain. After all, we spend quite a significant time at work. We’d better stay on top of things and enjoy it all along the way.
How hard will it be?
A wise man said once, “I didn’t say it would be easy. I just said it would be the truth.” Keeping up to date with programming updates might be the most difficult challenge of a programmer these days. It requires discipline, time and effort. In case you have difficulties to keep yourself motivated at work, I shared recently The Secrets to Staying Motivated as a Software Developer.
Continuous learning shouldn’t feel like a constant ordeal for you. It should almost feel natural. Of course, if your company gives you enough space to learn new things during your work time, it’s easier. However, you should not wait for your company to make you progress: You Progress As A Programmer Is All Up To You. Don’t force yourself into it every day, but try to keep it regular. You have to accept that it takes time. If it is of help to you, you can share your progress on social media with friends. This is what some developers do on Twitter for the #100DaysOfCode challenge.
At the end of the day, just remember that every programmer has the same issue — you’re not alone.
Helping You in the Learning Process
The easiest way to keep up to date is probably to read. Nowadays, we have the opportunity to access a lot of great free content online; make the most of it! Read books! Read articles! And read the discussions on the article! Never take anything for granted, build your own understanding of things — how it works, why it’s relevant…
Jason Roell shared a list of must-read books for a software engineer on Quora. Reading a book about programming could be tedious; I personally prefer reading blog articles. A lot of software developers happen to be great bloggers as well. You probably know the most well-known: Jeff Atwood with his CodingHorror blog and Joel Spolsky with his Joel on Software blog. If you prefer podcasts, John Sonmez recently shared a list of the best developer podcasts.
If you doubt that you can find the best articles online yourself, I advise you to trust curated lists of articles. On Reddit, for example, you can discover great content in the /r/programming subreddit.
“It’s why browsing /r/programming is a daily routine for me. I know that I’m not going to use preact at my workplace, but I still want to know about it, and want to know why I’d use it. Reddit does a good job of showcasing what is out there and why you would or wouldn’t use it (as always on Reddit the comments are better than the article)”
If you prefer more technical articles, check out /r/coding subreddit. You could also be interested in coding challenges in /r/dailyprogrammer subreddit. I advise also to check /r/cscareerquestion subreddit; it can help answer your doubts and questions about your career. Of course, you should also join specific programming language subreddits.
If you like Reddit’s design, you will love HackerNews. It’s a great source to find interesting content about programming and technology. In case you’re afraid you won’t have the time to navigate these forums, you could rely on newsletters and digests. Kale Davis curates the best articles from HackerNews in his hackernewsletter. You can find newsletters of curated articles on pretty much anything: check out this list of programming newsletters by loggly. I personally follow Bill Sourour and his DevMastery newsletter.
You’re not going to like it, but Twitter is a great source for curating articles as well. You can find plenty of great programmers to follow on Twitter. Here it really depends on what languages and technologies you’re interested in. You can find lists of twitter influencers to follow for any technology. If you’re French, you will probably find awesome the rankings made by humancoders: check out their lists of Twitter profiles — be it Francophone software developers, Francophone events, or languages — ranked by the number of their followers. I’m not going to give you a list of people to follow blindly. I recommend that you create your own experience. Same for the books, blogs, newsletters or podcasts. Ideally, you should test and see what fits best for you.
Only reading won’t get you far, though. You truly learn programming when you start coding. I know that it’s not easy, either, to start testing new stuff, because you need to set up the proper coding environment –by the way, we’ve got some promising plans about that issue; bear with us. But remember when you started programming; you didn’t really learn by staring blankly at your screen. It’s when you get your hands dirty that you truly make progress.
Another way to keep up to date is to join technical meetups. There you have plenty of opportunities — discover new technologies, discuss with peers, ask specific questions. More than anything, you’ve got the opportunity to meet coders with the same mindset and increase your network. Who knows who you could get in touch with? I cannot really suggest any meetup to attend except the ones in your vicinity. Soon, I’ll share more insights on technical meetups in an upcoming post.
Nobody can rest on his laurels. Having a computer science diploma is not sufficient anymore. But cheer up, the future of programming is full of surprises and exciting innovations. Never ever stop learning — you won’t regret it!
About the Author:
Fond of challenges and board games fan, I like to solve people’s problems. CodinGame Community Manager since July 2016, I still code a bit in Java.