I'm often asked how we can keep up with the trends in the field of software engineering. So I'm writing this article:
- as an answer to any future questions I get, and
- as a cheat sheet because I am getting older and you never know :)
For ease of future reference, I will separate these topics into time-based categories. Those categories will indicate how often you need to check up on the resource.
Because – let's be honest – some people have less time to allocate towards keeping up with trends than others. Like new parents - they have less time than anyone, of course. And while reading every day for three hours to hone your craft is a great idea, it is not feasible for many people.
So with that out of the way, let's get started!
A couple of times per year
Various learning organizations do surveys and publish results once or twice per year. These surveys show the trends of many fields of computer science in a high quality and entertaining manner.
I couldn't find a better example than StackOverflow's surveys. There are other players as well, which do quality work like hired.com and packtpub.
It is worth diving into them and analyzing their interesting data insights. You can quickly how the big community behind those sites perceives the field.
Late December or early January prediction posts
It is almost a cliché: from about December 15th to January 30th you cannot escape from articles like "Top N software development trends in X year".
It is a nice way to get a grasp of what other people study and work on, but I think they can be very subjective and might not appeal to everyone. But every developer is different, so give them a try first.
Trends and newest courses from training providers
This is not an exhaustive list, so feel free to add other interesting sources below. My favorites are:
- Udemy trending topics and featured courses
- Oreilly's most popular titles
- Pluralsight tech index, though it is a bit skimpy in my humble opinion.
Those are some of the most popular platforms for self-learning so they're always sharing something new.
Once every few weeks
Serious reports come from the consultants of thoughtworks. I love the labels "Adopt", "Trial", "Assess", and "Hold" against all the buzzwords you can find. If you want to stick to one tip, this should be it.
Meetups and your social/professional circle
Have you ever been to a meetup where they discuss stuff from the previous decade? Me neither!
It is very easy to get overwhelmed, so pick a couple and don't miss a single talk.
Usually speakers talk about tech they use at the company where they work. This can be a great chance to see how that company works and gain insights if you want to work for them. (And there's always Glassdoor, too, of course. :) ).
Not to mention the people you can meet and all the free pizza.
Along similar lines, don't underestimate your social and professional circle. Yes, software people flock together...if you keep yourself apart, you are probably the exception rather than the rule :) Your ambitious colleague always has something new and hot in their agenda to learn.
So make sure you exchange ideas. You will both enjoy it and benefit from it. That means you should always target companies that have a high-quality engineering culture.
If you want to focus on a few technologies, the best passive way I have found is google alerts.
You subscribe to the terms you like and an email will come when a new significant result is indexed to the google results of your term.
It is like having someone to search, for example, "python3 Django" for you a few times a day.
Github explore and the subsequent pages, for example trending can point out in a glance what devs are working on.
At the time of writing this sentence, the top trending results are about Blockchain, Machine Learning, and Python. I think these results represent a good portion of the current trends in the field.
This is another great resource.
I would classify it as similar quality to Thoughtworks, though they structure the knowledge differently.
On their homepage they show a few trending sectors. Their articles could easily be conference talks or mini books, not to mention some ebooks they give away from time to time.
You can look at their 2020 trends article to get an idea of what you'll find.
Multiple times per week
Summaries from blog platforms
My favorites, in no particular order, are dev.to, hackernoon.com and freecodecamp.com.
You can either visit them every day or use their article digest features (usually weekly).
As these platforms work based on a crowd-info model, if something is important enough you'll find many articles about it.
Sadly they only have a browser extension. Daily is a popularity based newsfeed. You can easily spot daily trends and high-quality articles just by opening a new tab on your browser.
It is always nice to see your article in the first position, speaking from personal experience.
Hackernews and proggit
I couldn't leave the social news king out of the loop. People have mixed feelings about these two (mostly from a behavioral aspect, as the comments can range from insults and trolling to serious views of the subject). But you can extract value if you try.
Twitter trends (or trends from other social media)
As I have written in one of my previous articles, social media might be demonized but it's up to you to set up a great circle and benefit from it.
I personally follow any company or author or speaker I have found to produce interesting work.
I would suggest you focus on Twitter and LinkedIn, as they tend to fit the purpose better, in my experience.
I will pay 10 euros to any active developer that can prove to me that they've never subscribed to a technical newsletter. These newsletters are ubiquitous.
The authors of those newsletters do the hard work for you and extract the foam from the trends.
Some of my favorites are tldr, better dev, codeproject and my recent addition, Dev weekly
Thank you for reading this article. I hope you enjoyed my tips above. If you have any further tips, don't hesitate to put them in the comments. Happy reading!!