Key 8 Takeaways from Stack Overflow 2021 Developers Survey

Krzysztof Gąsior from Iterative Engineering
Krzysztof Gąsior CEO @ Iterative Engineering
Paweł Grzywocz from Iterative Engineering
Paweł Grzywocz CTO @ Iterative Engineering

Recently over 80k developers gave their voice on how they earn, learn, level up and which tools they use the most willingly or which they hate. Following we share our CEO and CTO subjective viewpoint on some of the most important insights from Stack Overflow Developer Survey 2021.

The IT industry is a very dynamic landscape. As any competitive employer and digital product development company we try to stay up to date with rapid changes and newest technology trends. We analyse the market, track research reports and surveys, all of that to try to stay at the bleeding edge of technology.

Executive Summary

  1. JavaScript is the most widely used technology, however position of Python, Java and C# is still strong.
  2. Scripting (JavaScript, Python, TypeScript) and modern compiled languages (GO and Rust) are trending and getting more and more interest from the community.
  3. Proficiency with Docker & containers is a must have for modern developers.
  4. Visual Studio Code as an IDE, and React.js as a web framework are dominating on the market in their category, both loved and widely used.
  5. Open source document databases (Mongo, ElasticSearch) and SQL databases (PostgreSQL, MySql) are storage technologies which developers want to use the most.
  6. Online resources are the primary source for knowledge and information.
  7. Most of the developers are graduates but they learn how to code elsewhere.
  8. Top paid jobs, ranging at $100k+ per year, are related to functional programming (Clojure, F#). Except for the execs and management, devops and data engineering are positions with the highest salaries with an average of $70k per year.

Current tech demand and workloads

Let’s start with a look at the most utilised technologies across the sector and dive into details of what is used to turn the cogs

There can be only one king and it is JavaScript. The domination is impressive and we believe it will remain as such for a longer time. Its universality is probably a key factor here. It is applied for all ‘sides’ of software development: server side programming (backend), web (frontend) and mobile (hybrid). And to be fair it’s pretty damn good for all of those.

Most used programming language - there can only be one king and it is JavaScript

The trend of steady and constant growth of scripting languages such as JavaScript, Python or TypeScript still in place. As their performance limitations are less and less relevant, they can be applied to more and more cases. While working with such languages is in a lot of cases more efficient and quick compared to native or managed technologies.

However Java in Top 5 and C# in the Top 10 is definitely a signal that managed languages are still strong. In fact they are evolving faster than ever before. Very recently we’ve welcomed the official release of Java 17 (!) and it just took 6 months to get there after the release of Java 16, while in the past new releases took years (i.e. jump from java 8 to Java 9 took 5 years). It really became worth following the official road map: https://www.java.com/releases/ as changes are happening rapidly and often are pretty useful (i.e. Record).

It feels that we at Iterative Engineering are pretty well placed. Our main focus is Java for backend and JavaScript/TypeScript for frontend and mobile. We also often deal with most of the TOP 10, with the only exception of native technologies - C or C++, which we’ve never found that attractive. We believe that such focus gives a great current and future outlook.

Integrated Development Environment (IDE means)

Kudos to Microsoft for Visual Studio Code. Efficient yet lightweight tool, with on-demand support for a variety of technologies. It is truly a pleasure to use it and clearly the market voice confirms that. A well deserved 1st place with more than double the score of the closest competitor.

Top 5 consist of 3 lightweight and 2 fully featured IDEs. The trend is for sure related to increasing popularity of scripting languages. However we think that the core reason was that bloated IDEs used to be not fun to work with. A myriad of features along with bad performance - was just a killer. Fortunately modern ones like IntelliJ and Visual Studio (at least the recent versions) are definitely built with performance in mind and are superb to work with.

A surprise for us was the strong position of Notepad++. Internally we had given up on it a while ago in favour of Visual Studio Code or Sublime, but clearly it’s worth revisiting.

Most used IDEs - the winner is Visual Studio Code

Fundamental coding toolset

Git & Docker (containers), a must haves for any modern developer. Those tools make life (or work should we say?) so much easier that it’s unprecedented. If you wish to learn a recently new and interesting Docker feature might be worth a look at a really great article on Creating optimised Docker Images using Multi-Stage Builds.

Kubernetes as the only container orchestrator on the top 10 list is no surprise. Developer driven environment alongside reliable operations, makes it a first choice for more complex deployment scenarios. Once combined with other most used tools from devops perspective - Ansible and Terraform, we get a pretty neat set up for CI/CD.

Fundamental coding toolset starts with Git and Docker

A bit of curiosity for us are Yarn and Deno. The result of the first we take as a signal to consider it as a replacement of npm package manager, especially that it recently increased on development. The second proves that Rust and V8 JavaScript are reality and we really need to get up to speed with those technologies as we expect it to grow rapidly.

Top cloud platforms

AWS maintains its lead as the most widely used cloud platform, but Google Cloud and Microsoft Azure made substantial gains and are catching up. They simply became reliable and performant, especially Microsoft Azure, which a few years ago was just a pain to work with (from dev perspective).

Top cloud platforms - AWS maintains its lead but Google Cloud and Microsoft Azure are catching up

What is desired by the tech talents?

Now the other side of the coin - the outlook on which technologies are the most inspiring for and the most wanted across developers. While at Iterative we do not blindly follow hypes, we really keep an eye on the trends. Simply because all of the great technologies of tomorrow are newcomers of today.

Most wished programming languages

Coding in Python - bridy seems to not enjoy it that much!

One may not like it (as the birdy above!), yet still Python is the most desired programming language to work with across the Community. The lead however isn’t ultimate and there is strong competition right behind. TypeScript & JavaScript, but also Go and Rust - modern compile concurrency focused languages, which seems like another trend.

Most wished programming languages - One may not like it (as the birdy above!), yet still Python is the most desired programming language

From our tech of choice perspective seeing two JVM related Java & Kotlin in Top 10 feels pretty great. While not the most hyped out there, still many so many wish to learn it, just because of the fact that it’s reliable and enjoyable to work with.

Loved data storage technologies

Quite shocked by the fact of such a close competition for 1st place. PostgreSql and MongoDB, two completely different philosophies, yet both got a sizable amount of interest from the Community. Redis in 3rd and Elasticsearch in 4th place - no surprise at all - simply well proven and excellent at what they are aimed for. MySql closing Top 5 just seals that open source SQL and document stores are having a good time.

Loved data storage technologies - PostgreSql and MongoDB are the winners

A bit disappointing to not see any interest in graph databases like Neo4j, however it may be that they still need to prove their merits. Finally at Iterative we use 4 out of Top 5 daily, but now are also tempted to give Mongo a try, as the desire must be there for the reason.

Most wanted web frameworks

React.js not only has dominated the market (as this year it has overtaken jQuery in usage), but it is also the most wanted web framework by the devs. Winning in both rankings, in probably the most competitive and variable category, confirms that going with it you can’t be wrong.

Vue.js and Angular are still valued and on the radar of the community, but a newcomer Svelte had taken a fair chunk of interest too. Definitely a one to try out.

Most wanted web frameworks - React.js has dominated the market as most wanted and as moste used web framework

Learning curve and knowledge sources

The learning process or at least first encounters with coding happens pretty early, sometimes as early as 5-10y old, mostly before 18y old and in 90% before 24y! It may mean that learning to code in your 30’s may be nearly impossible. However we need to remember that for at least several years everyone has basic contact with programming in early school days, therefore the meaning might be a bit blurred here

When we start to code - in 90% of cases before 24y

It’s a pity that this question isn’t followed with more detailed ones about the learning curve. Writing first lines of code and the actual start of learning to code might not be the same for many.

80% of professionals have higher education and while (good) companies do not care for the education grades but rather for the actual knowledge. Still it’s the most natural path to become a developer.

Developers education - 80% of professionals have higher education

Contrary to education, developers do not learn how to code in a college but rather from online resources, books and in school. Younger ones tend to learn from online resources, while older ones have learned from traditional mediums like school or books. The speed at which technology changes might be the reason, as it’s not feasible to maintain college or school courses up to date with all updates and trends. However the principals and concepts for building the software remain mostly intact and this might be a real value proposition.

Where do devs learn from - Contrary to education, developers learn from online resources

Once work related questions or challenges are in need to solve then Google and StackOverflow are the first line of support. Countless situations for us in which those significantly helped to solve the problems. IT actually maybe one of the most important skills to learn as a developer - effective searching for information. One may think it’s easy, but it takes time to master to search efficiently.

If stuck, another approach is context switching or having a pause. Very often helpful, as problems then are analyzed subconsciously often leading to solutions immediately once back to work. However, sometimes it’s a burden, as not easy to switch off from working, that’s the reality and needs to be accepted.

What do devs when stuck - Google and StackOverflow are the first line of support

At Iterative in addition to all mentioned in TOP 5 we also like to use rubber duck debugging technique. It simply is about describing the problem to someone else, so he can understand the context. Turns out that such exercise helps to structure the problem to yourself and very often points to an error or blocker immediately once prepared.

Where is the money?

When it comes to coding, it looks like the biggest money is in less popular, functional paradigm related programming languages. Clojure with an average equal to $95k per year takes a 1st place with a big lead against following F# at $81k - pretty impressive! Python with $59k on 19th, JavaScript with $54k on 29th and Java with $52k on 34th places. Not bad, but the gap between leaders is quite significant. Not sure if the results are fully representative due a smaller sample for functional technologies, but not being common may actually be the reason for the price.

In the devops world what is popular and what is desired is also paid pretty well. 1st place was taken by Pulumi with an average of $110k, followed by Terraform and Chef with $90k averages, next are Ansible, Puppet and Chef with around $75k average.

Top paid technologies are related to functional programming (Clojure, F#)

Looking at salaries from a role angle confirms that except executives and managers ranging at average of $95k, devops specialists are the ones to earn the most with an average of $70k. Then next to them are data engineers at $68k. The gap to software developers is quite big as full stack or backend specialists average at around $55k, while frontend at $50k. The least paid are students at roughly $20k and weirdly mobile developers at only $42k.

Best salaries - except for the execs and management, devops and data engineering are positions with the highest salaries

Summary

Thank you for getting with us over here, as it wasn’t a short read! We hope our analysis will give you base ground for further thinking, discussion and planning the future.

Takeaways:

  1. JavaScript is the most widely used technology, however position of Python, Java and C# is still strong.
  2. Scripting (JavaScript, Python, TypeScript) and modern compiled languages (GO and Rust) are trending and getting more and more interest from the community.
  3. Proficiency with Docker & containers is a must have for modern developers.
  4. Visual Studio Code as an IDE, and React.js as a web framework are dominating on the market in their category, both loved and widely used.
  5. Open source document databases (Mongo, ElasticSearch) and SQL databases (PostgreSQL, MySql) are storage technologies which developers want to use the most.
  6. Online resources are the primary source for knowledge and information.
  7. Most of the developers are graduates but they learn how to code elsewhere.
  8. Top paid jobs, ranging at $100k+ per year, are related to functional programming (Clojure, F#). Except for the execs and management, devops and data engineering are positions with the highest salaries with an average of $70k per year.

Conclusions for us at Iterative Engineering:

  • Explore and evaluate Rust and GO technologies
  • Dockerize, Containerize, Kubernitize… just do it, no excuses!
  • Embrace the fact that devs learn online - encourage and provide them means for that
  • Consider unifying towards React.js and Visual Studio Code as a primary choice
  • Prepare higher budgets when going for devops and data engineering related endeavours.

Finally, while the above seemed most insightful, there are many other aspects which the StackOverflow survey has touched and we really recommend taking a look at it.

If you wish to discuss your thoughts or have any questions give us a shout on:

By clicking “Accept”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. View our Privacy Policy for more information.