<TLDR> You may want to follow these periodic reports from experts to help you choose technologies to learn and use next.
I'm sure you noticed - the world is changing fast. Technology industry as a whole and software engineering specifically evolve at pace never seen before.
If you're a backend developer, you may remember how physical servers were purchased or rented to start a new project. A few years later - VMs in the cloud were the preferred way. 2020? Serverless is a huge trend.
If you're a frontend developer, can you imagine writing React code without hooks? Well, 2 years ago the feature didn't even exist.
It can be stressful too. You mastered that framework or tool yesterday? Great, you better learn something new today because tomorrow that tool may not be relevant anymore.
For anyone in a decision making position, it's important to know the options you have when planning the technology stack for a future project, and tradeoffs of those options.
How do we know what's going to be hot/obsolete tomorrow? What technologies should we learn next?
Here are 4 great resources to keep up with software development trends.
Stack Overflow’s annual Developer Survey is the largest and most comprehensive survey of people who code around the world.
This is hard to miss. Each year when it's released it's all over the Internet. Released with both the raw downloadable data and summarized results and top takeaways.
- Developer profile: geography, roles, experience, education, demographics
- Technology: what's popular, what's wanted and what pays
- Work and employment
When: every year in February.
Latest report: https://insights.stackoverflow.com/survey/2020
SREs, DevOps specialists, and data engineers command a disproportionately higher salary compared to developers within a similar level of experience in different roles. This is consistent with what we saw in the salary trends as a whole.
This is an opinion piece that is formed from extensive internal discussions with our editors, who are active software engineers themselves, reviews of external public survey results, and reviews of internal or private survey and analysis results.
Reports are divided by topics and released independently. Technologies are grouped by maturity and adoption levels into 5 categories: Innovators, Early Adopters, Early Majority, Late Majority, Laggards.
- Software architecture and design
- Teams and teamwork
- Programming languages
- Culture & methods
When: multiple times a year
Latest report: Java Trends Report https://www.infoq.com/articles/java-jvm-trends-2020/
[of Micro frontends] There are still a lot of best practices to discover and the community is very vibrant. In the past 8-10 months we produced new frameworks, techniques and documentation for making micro frontends more approachable for all developers.
Tech Trends identifies the trends Deloitte believes will disrupt businesses in the next 18 to 24 months. Based on insights from Deloitte subject matter specialists, the world’s leading organizations, academic and industry luminaries, and leading startups, venture capitalists, and technology providers, Tech Trends explores five key trends, shares examples from organizations on the front lines, and takes a look at what may come, beyond the next horizon.
This is a very broad and comprehensive overview of the technology landscape from a reputable audit and consulting company. Note it's not as technical as other reports and targets enterprise audience. One of the sections I found interesting: check the "Horizon Next" figure towards the end of the report where technologies are grouped by expected market time.
- Cyber security
- Business of technology
- Cloud & Blockchain
When: every year in January.
Ambient experience, exponential intelligence, and quantum are the nascent macro forces we currently see on the distant horizon. Like cloud technologies before them, they will evolve over time and perhaps cross-pollinate with other forces to create something wholly new.
The Radar is a document that sets out the changes that we think are currently interesting in software development - things in motion that we think you should pay attention to and consider using in your projects.
My personal favorite. Prepared by ThoughtWorks Technology Advisory Board (where Martin Fowler is one of the members). Graphical and concise. It has 4 major sections: Techniques, Platforms, Tools, Languages & Frameworks. Each section item is placed on a scale, representing the adoption recommendation: should you Hold, Assess, Trial, or Adopt.
- Software development process and techniques
- Mobile, virtual and cloud platforms
- Databases and software development tools
- Programming Languages & Frameworks
When: twice a year, April/May and November
Latest report: https://www.thoughtworks.com/radar#download-current-radar
We encourage teams to use GraphQL and the burgeoning tools around it; but be cautious of narrowly focused technology generalized to solve too many problems.
Hopefully these resources will provide you with insights and help you make informed decisions when choosing which technology to learn next.
Of course you shouldn't follow advice presented in the reports blindly. Trust your own judgement and gut feeling.
What's your top resources to keep your software engineering skills up to date?
If you like this type of content you can follow me on Twitter for the latest updates.