I can hardly imagine any other industry that is so dynamic and inviting as software development. I mean, imagine your young-self, dreaming to be the best heart surgeon in the world? You’ll have to study 11 to 13 years after high school before you can actually perform an unassisted surgery. What if you want to be a chemistry Nobel winner? There’s no way you can just build a lab in your garage and start practicing (or at least it’s very unlikely)
This is not true for developers.
As a developer, you can sign up to a GitHub account and start doing whatever you want as soon as you understand the basics of how computers and programming works. GitHub is swamped in debt to make it possible for you. All the tools you need are free and every knowledge is available online. That’s why there are more than 7.8 million public GitHub repositories today (I think). This means now there’re probably a bunch of 14 to 18 years-old that got tired of playing Minecraft, that are now making the next libraries/frameworks we’ll all be concerned about in 1 to 2 years. This is the recipe to chaos and tech-fatigue, but it’s also the very seed to the human future and evolution ಥ_ಥ.
This leaves us with the ultimate question: How can we get up-to-date with what is relevant and is still maintain a healthy and balanced “normal” life? The answer is: Not much! This will come at a cost because how fast things evolve, but it’s up to you whether to sacrifice a bit of your life-style.
So, why would you want to stay up-to-date?
Again: You don’t have to. It’s a choice. But here’s why you’d consider it:
- You want to stay relevant in in the job market. You like it or not, the “coolest” places you can land a job on will probably require you to know what is new. When I say new, I don’t mean “3 months new”, I mean “1 to 3 years new”. This may not apply depending on your market. If you work with C/C++, Perl or Pascal, for instance, your market might not be as dynamic. But if you’re a front-end developer, things will evolve pretty quickly.
- You want to be always in the edge of productivity. No new technology catches on if it’s not adding anything to the table. Technologies that thrive are the ones that made it easier to solve particular problems that otherwise would be harder. If the problems you’re tackling are the ones getting facilitated, you should experience a productivity boost by keeping up. Of course, your experience with the technologies you excel will also make you quite productive. You have to find the balance. Again, this doesn’t apply to all niches but for web development I think it does.
- You like it. That’s me! Not everybody is the same and most developers won’t agree. But some of us simply enjoy being a forever student.
I’ve put together a list of relevant sources so you can stay up-to-date in such a swifty, dynamic, sleep-taking industry.
Create an account, remove all the default subreddits, go here and pick the first ones you find interesting, then you can search for the techs you’re more interested in and complete your list. Done. Now reddit.com will display only the juice.
- /r/programming: programming
- /r/technology: Technology
- /r/web_design: web_design
- /r/dotnet: .NET
- /r/webdev: webdev: reddit for web developers
Or… as suggested by Abhinav Kumar, you can create a “multi” for development and keep your other interests showing up in the home page.
YCombinator’s news website is also pretty good for keeping up. You can also use http://hckrnews.com/, which is an alternate UI I find more attractive.
Normally people go to SO when they are too lazy to try something themselves. Actually they don’t even go to SO. They go to Google. The first SO result is usually the better one. No luck? Try searching for “stackoverflow “ + [your_question]. No luck? Ask :D.
Now seriously, Stackoverflow is not just about copying and pasting. It’s also about learning. I usually browse the newest questions when I want to farm up points, but when I want to learn, I browse the hottest. You can always learn new things about the technologies you’re interested in. It also gives you a glimpse at what is trending, but with a delay. It takes a while before people start adopting stuff, and you need to start implementing real projects to start having problems. That’s what Stackoverflow is about: People having problems with stuff.
I love podcasts, specially about technology. It’s amazing how many are there. These are my favorite 2:
- https://softwareengineeringdaily.com/: Think micro-services are cool? Pff. They’re so behind the time. You should be using Self-contained Systems :). This is the kind of stuff you learn with Jeff Meyerson. Of course this is a joke, there’s nothing wrong with micro-services, but it’s always a good idea to at least “have heard” of the new trends. This podcast is about modern software-architecture and devops. When I first started developing, devops was still far from being a thing. But today, it’s very trendy and knowing at least the basics is crucial if you’re a web developer.
- https://www.dotnetrocks.com/: The name is deceiving. They started as a .NET podcast but now they talk about everything. Pretty worth listening to.
At least once a week I like to browse the Picked Pens, actually pick a pen and try to figure out how it was done and what’s going on behind the scene. It’s 100% guaranteed I’ll learn something new. Not necessarily new to the world, but new to me.
If you decide to go the next mile and actually learn, check out my other article: The best way to learn new technologies is by doing. Here’s some inspiration.
But be cautious…
Please folks. Again. Don’t get too obsessed with the new. I mean… As new libraries come along, there’s often some productivity you'd be taking advantage of if you migrated everything. But there’s also another thing that makes you quite productive: Your experience! If you think you can be productive doing stuff they way you’re used to, and, if you don’t think your competition will get the edge by using a possibly better tool for the job, then don’t upgrade.