The State of Engineering Careers 🗳️
We surveyed 500+ people over more than 4 months — here is what we learned!
As some of you already know, in the past few months we have been working on a comprehensive survey about the State of Engineering Careers.
Together with my friend Tobia, who runs Epicode.com, we put together our respective communities to create the very best research we were capable of about how people think about their tech career.
We followed these steps:
We ran tens of initial 1:1s interviews with selected members of our communities.
We used those insights to create a wider survey about trends, skills, and careers.
We distributed the survey across the community and got 500+ answers from selected developers, managers, and tech leaders across the world.
We cleaned up the results, gathered insights, and wrote this commentary.
We are publishing now the first edition of such results, released exclusively for Refactoring subscribers!
Here is what we will cover:
🙋 Demographics — who we reached out to.
📈 Trends — what trends people are watching out for.
🎓 Skills — what people want to work on for their professional growth.
🪜 Career — preferences & challenges experienced throughout the journey.
💼 Tenure — feelings about your current job, and insights about how people change companies.
Results are also broken down by various dimensions, like the average years of experience of respondents, and their role.
It turns out, in fact, that an Engineering Manager with 8+ years under his belt has a totally different take than a fresh Software Engineer who has been working for 3-4 years. It was important to capture that, rather than just publish the raw numbers.
Let’s go! 👇
🙋 Demographics
Let’s start with who we reached out to. This is a function of the kind of people who read Refactoring.
Some hard numbers:
Education — 68% have a BSc or higher (MSc, or PhD) in CS.
Experience — average of 6+ years in tech.
Here are the roles people identify with:
We also asked people (optionally) to tell us more about the company they work for.
The biggest cohort of people (38%) works in small companies and high-growth startups with less than 25 engineers.
The second largest cohort (21%) comes from big tech — companies with 500+ engineers. Among these, we had respondents from Meta, Amazon, Apple, Google, Microsoft, and more.
So, what are these people up to? 👇
📈 Trends
AI, Web3 and Cloud dominate the trends
We asked people what are the technology trends they are the most excited about. To avoid influencing them or missing some obvious candidates, we let respondents write answers as free text, and we created categories later, scanning manually — *gasp* — all the answers.
Results were interesting, including both expected names and some surprises.
🏆 Leaders
There are three clear leaders: AI, Web3, and—for lack of a better word—cloud computing. More about them:
🥇 AI
AI is by far the largest entry. It is not surprising as it has infiltrated by now almost every aspect of software. It also had a recent streak of mainstream projects who left a strong impression on developers, including Github Copilot, GPT-3, and the likes of DALL-E and Stable Diffusion.
Out of the top trends, AI is also the only one that is equally appealing to software engineers (17%), tech leads (14%), and managers (16%).
🥈 Web3
Web3 has been a polarizing space since forever. Some people hate it furiously, while others have left everything to work on it.
I personally know brilliant people from both camps.
I suspect there is a majority who is undecided (it doesn’t help that the learning curve is pretty steep) and is waiting on the sidelines to see whether the bubble pops or it is really the next big thing.
Software engineers are also the most enthusiastic about Web3 (13%), while TLs (6.7%) and EMs (4.7%) are more tepid.
🥉 Cloud
This entry is bigger than it seems, as you also find closely related keywords like distributed systems and microservices quite high on the list.
Were they put into a single cloud & infrastructure category, it would get past 17%.
Again, this is not surprising given the sheer amount of progress in this space in the past few years, including serverless, edge computing, infrastructure as code, and more.
It is also relevant that the farther you are along your IC career, the more interested you get in the topic. TLs (14%) vastly outnumber EMs (6.7%) and SDEs (7.4%) on this, as the former get to work more on broad system design.
⚔️ Challengers
Right below leaders, we find two contenders who scored interesting results: Frontend and Data Science.
📱 Frontend
Disclaimer — we decided to group these answers into a single entry called “Frontend / React / JS” because the vast majority of people either wrote “React”, or “Frontend”, or some combination of the two.
Almost none entered Vue, Angular, or other frameworks in isolation. Even though some of these other frameworks are indeed popular, they seem to have 10x less share of mind than React, at least when it comes to trends people are following.
To me, it was honestly surprising to see Frontend / React so high on the list.
My feeling is that, after years (decades?) of fragmentation, people finally feel the ecosystem is mature enough to trust it as a good investment for the future. Current stack doesn’t seem to be going away anytime soon, and this makes people more eager to jump on it. Among the long-tail keywords that were grouped together, Next.js got a good number of mentions as well.
Finally, it is striking how this is largely interesting to SDEs (20%) early in their career (4.6 years exp), while it gets totally out of the radar once you are a TL (2.86%) or EM (3.81%).
📁 Data Science
This was another category that was hard to put together, as keywords were scattered across things like analytics, data engineering, big data, and more.
Again, none of these mean exactly the same thing, but what is relevant here is that several people see the opportunity of working on data.
👎 Flops
There were also a couple of entries we expected to see higher, and got crushed instead.
Backend
Ok, I lied, I didn’t expect anyone to write “backend” as their top trend, but since very many wrote “frontend”, we can legitimately ask ourselves why the same hasn’t happened here.
The answer is that, today, backend tech is very fragmented. You just have different tools for different jobs, and no one is decidedly more popular than the others.
As an interesting bit, almost nobody mentioned Node.js, but many mentioned Javascript alone. It looks like people are more excited by the future of Javascript as a whole ecosystem, rather than Node itself.
AR / VR / Metaverse
Despite all the hype, basically no one cares. Combined answers don’t go higher than 1.42%. Why? To me it looks like a combination of 1) still little mainstream adoption, and 2) still unclear tech stack / paradigm.
🎓 Skills
People look into tech trends, but mostly focus on growing soft and non technical skills.
We asked people about the skills they would like to learn or improve. Like for trends, this was free input, and we later took all the responses manually and organized them into about 20 main buckets.
The results are very interesting. Soft and non-technical skills absolutely dominate the chart, with 3 entries in the first 4 spots.
It is also striking how bad the top trends from the previous question perform here. AI is at 2.3%, while Web3 is at 1.8%.
It seems that people have a solid idea of what is trending in the industry, but mostly don’t act on them when it comes to their career. There is a shared understanding that the best bet for growing is investing in your communication and management skills.
Another factor might be that technologies like AI or Web3 have a steep learning curve and may feel out of reach to somebody who has already a good track record as a specialist in something else (e.g. a frontend engineer).
Some of these spaces might feel so different from regular development that they get perceived as a different track altogether, and few people are willing to jump the ship late in their careers.
🪜 Career
People mostly change companies to grow professionally and earn more.
We asked people a series of questions about the history of their careers, and the motivations that led them to make their choices.
In the first question, we asked the reasons why people changed companies in the past. It was a multiple-choice question, where people could give up to two answers.
As expected, there are two entries that largely outperform everything else: personal growth and money. This reflects what other similar surveys have found in the past.
Do these preferences stay the same over time, though? No.
For almost 70% of people, priorities changed, and they made different choices at a later time.
We asked people what changed exactly, and most answers were about well-being and work-life balance 👇
Like with previous questions about trends and skills, this one was also free text, and entries have been bucketed later into about 20 main categories.
The top three are all about prioritizing well-being and other aspects of life rather than work.
It’s also interesting how the average years of experience of respondents are distributed across the entries. People earlier in their career care more about staying up to date with tech (the freshest segment, with 4.8 avg years of exp), general personal growth, and impact. Later, people prioritize work-life balance, family and work environment — that is, well being.
Remote work is totally horizontal, with the average experience of respondents matching that of the overall survey.
⚔️ Challenges
We asked people what was the most challenging or painful time in their career, choosing between four options 👇
Most results here were expected, but it’s interesting to see how the switch to remote hasn’t been particularly challenging for anybody.
For managers, in particular, the switch to management is the overwhelmingly most popular choice. This resembles what we found in interviews, too:
The hardest part for me has been to emotionally detach from your own code and from being hands-on — to “give away my legos”. Also, you can’t approach people like you approach software. It’s a totally different job and it takes time to learn.
— Engineering Manager with 2 years exp.
💼 Tenure
The great resignation gets… worse?
When asked if they were thinking about changing jobs, only 27% of respondents replied that they plan to stay at their current company for the foreseeable future.
More than 50% are either in the process of moving (all the “other” replies were people who were changing in that very moment), or might move in the next 6 months.
21.6% are thinking about changing but not looking for opportunities, yet.
So, if anything, the great resignation doesn’t seem to slow down. My feeling is that we may have entered a new, permanent dimension, in which tech work is more transactional and the average turnover stays very high across the board.
🏢 Joining a company
We were curious about the process that people follow when they decide to change jobs. So we asked a couple of questions that revealed insights about it 👇
Engineers research companies… a lot
If you are hiring an engineer, expect them to perform a thorough audit of your company before they join:
This was a multiple-choice answer, so people could select all the answers that applied to them. Nevertheless, it is surprising to see that more than 50% combine so many tactics, like research on Glassdoor, research about the business and the domain, and reading a technical blog.
Even the least chosen option — talking to one or more employees — gets a whopping 35.6%.
Interviews are the worst part of changing jobs
We also asked people to name the most painful part of changing jobs, and two items won substantially: going through interviews, and finding good opportunities.
These findings closely match what we found in 1:1s.
About interviews, people mostly complain about two things:
⏱️ They take too much time — candidates want to go through the whole hiring process in 2 weeks max. This is still a mirage for most tech companies.
🎓 They don’t test relevant skills — people complain that, especially with big tech orgs, interviews resemble little of the actual job and need long ad-hoc preparation.
Some quotes from 1:1 interviews 👇
If application process is too complicated I just give up. I know there are other opportunities.
— Senior EM at a big tech corp, with 7 years exp.
I spend a lot of time studying data structures and algorithms just because of interviews. It’s stressful to me because I don’t use them much at work.
— Software Engineer at YC startup with 4 years exp.
The other big pain is finding good opportunities. This doesn’t only mean the right company, but also the right trend, or tech stack.
For me, the hardest part is monitoring the job market to pick up trends and figure out when to move on. As a manager, I always try to have side projects to stay fresh.
I look for companies whose core values are about technology, and that give me the opportunity to get hands-on with something cool and new.
— Senior EM at mid-size startup, with 10+ years exp.
📌 Takeaways
So, this is the first version of this report, shared exclusively with paid subscribers of Refactoring! We plan to create an extended edition of this, by doing more interviews and including commentary from the community.
Here are the main takeaways from today:
📈 Trends — AI, Web3 and cloud computing are the most exciting trends out there.
🎓 Skills — people believe that the best investment for their career is growing management and communication skills.
🪜 Career — people mostly change companies to grow professionally and earn more, but later in their career they prioritize well-being and work-life balance.
💼 Tenure — changing companies is a stressful time, almost comparable to changing roles, but the vast majority of people still plan to do so in the very near future.
🎒 Hiring — engineers thoroughly research the companies they join, and largely hate the interview process. They would like it to be 1) shorter, and 2) more related to the actual job.
What do you think about these results? Share your ideas in the comments below 👇 the best ones will be featured in the extended edition of the report!
🎁 New Deal!
The great folks at BetterUptime have agreed to create a special deal for us! Refactoring subscribers get 50% off for the whole year on all plans.
I have used it in the past and can recommend it wholeheartedly — no affiliation!
To redeem this perk please write at perks@betteruptime.com and include "Refactoring deal" in the subject.
Check out the rest of the discounted tools in the Refactoring Library
And that’s it for today! If you liked the article, consider doing any of these:
1) ✉️ Subscribe to the newsletter — if you aren’t already, consider becoming a paid subscriber. That also gives you access to the community and the curated library.
2) ❤️ Share it — Refactoring lives thanks to word of mouth. Share the article with your team or with someone to whom it might be useful!
Great and very interesting insights! Some of them expected, others more of a surprise.
Also, I really enjoyed the voiceover 🙏
Do you think the results may include a bias given by the initial selection and community-affiliation of responders?
I love this! The insights, the trends, and seeing how I, an engineer residing in a country where hyperinflation has devaluated virtually everything for the past 3 years, share the same concerns as someone who might not worry about not having decent internet speeds.
Thanks for the effort to put this together!