This year, over 64,000 developers told us how they learn and level up, which tools they’re using, and what they want.
Each year since 2011, Stack Overflow has asked developers about their favorite technologies, coding habits, and work preferences, as well as how they learn, share, and level up. This year represents the largest group of respondents in our history: 64,000 developers took our annual survey in January.
As the world’s largest and most trusted community of software developers, we run this survey and share these results to improve developers’ lives: We want to empower developers by providing them with rich information about themselves, their industry, and their peers. And we want to use this information to educate employers about who developers are and what they need.
We learn something new every time we run our survey. This year is no exception:
Want to dive into the results yourself? In a few weeks, we’ll make the anonymised results of the survey available for download under theOpen Database License (ODbL). We look forward to seeing what you find!
Who codes? More people in more places than ever before.
Each month, about 40 million people visit Stack Overflow to learn, share, and level up. We estimate that 16.8 million of these people are professional developers and university-level students.
Our estimate on professional developers comes from the things peopleread and do when they visit Stack Overflow. We collect data on user activity to help surface jobs we think you might find interesting and questions we think you can answer. You candownload and clear this data at any time.
About three-quarters of respondents identify as web developers, although many also said they are working to build desktop apps and mobile apps.
Compared to the rest of the world, the United States has a higher proportion of people who identify as full stack web developers, whereas Germany has a comparatively lower proportion. As for mobile developers, the U.S. and United Kingdom have proportionally more iOS developers and fewer Android developers than the rest of the world.
People other than full-time developers also write code as part of their jobs, and they come to Stack Overflow for help and community. This year, we gave additional occupation options to respondents who are not full-time developers, but who occasionally code as part of their work. These roles include analyst, data scientist, and educator.
A common misconception about developers is that they've all been programming since childhood. In fact, we see a wide range of experience levels. Among professional developers, one-eighth (12.5%) learned to code less than four years ago, and an additional one-eighth (13.3%) learned to code between four and six years ago. Due to the pervasiveness of online courses and coding bootcamps, adults with little to no programming experience can now more easily transition to a career as a developer.
Web and mobile developers have significantly less professional coding experience, on average, than developers in other technical disciplines such as systems administration and embedded programming. Across all developer kinds, the software industry acts as the primary incubator for new talent, but sees a relatively low proportion of more experienced developers. For example, 60% of mobile developers at software firms have fewer than five years of professional coding experience, compared to 45% of mobile developers in other industries.
Among professional developers, 11.3% got their first coding jobs within a year of first learning how to program. A further 36.9% learned to program between one and four years before beginning their careers as developers. Globally, developers in Southern Asia had the lowest average amount of prior coding experience when beginning their careers; those in continental Europe had the highest.
Respondents who indicated that they had worked as professional developers in the past, but now did something else for a living, were asked how long they had coded as part of their jobs.
We asked respondents for their gender identity. Specifically, we asked them to select each of the following options that apply to them:
According to Quantcast, women account for 10% of Stack Overflow’s U.S. traffic. Similarly, 10% of survey respondents from the U.S. identify as women. In our survey last year, 6.6% of respondents from the U.S. identified as women.
Meanwhile, women account for 9% of Stack Overflow’s UK traffic, while 7.3% of survey respondents from the UK were women. Finally, women account for 8% of Stack Overflow’s traffic from both France and Germany, while 5.1% and 5.6% of respondents from those countries, respectively, identify as women.
We will publish additional analysis related to respondents’ gender identities in the coming weeks.
This was the first year we asked respondents for their ethnic identity. We asked them to select each option that applied.
We asked respondents this question to add an important dimension to what we can learn about developers. In addition, public policy researchers and employers frequently look to us for information on how they can reach out to and better understand underrepresented groups among developers.
We will publish additional analysis related to respondents’ ethnic identities in the coming weeks.
Similar to our question about ethnicity, this was the first year we asked respondents for their disability status. Of the 3.4% of respondents who identified as having a disability, we asked them to select each option that applied, and we included a write-in option. We know developers can experience many forms of disability. For this survey, we confined our list of standard options on this question to disabilities that require some physical accommodation by employers.
We will publish additional analysis related to respondents’ disability status in the coming weeks.
We asked respondents, “What is the highest level of education received by either of your parents?” Similar to ethnicity and disability status, this is the first year we asked this question. We asked this question in part because public policy researchers and some employers seek information about first-generation college students to improve their efforts to support them.
We will publish additional analysis on this in the coming weeks.
While the sample as a whole skewed heavily male, women were more likely to be represented in some developer roles than others. They were proportionally more represented among data scientists, mobile and web developers, quality assurance engineers, and graphic designers. The dashed line shows the average ratio for all of these developer roles.
Respondents who identified as White or of European descent were less likely to report being a mobile developer than those who identified as South Asian, Hispanic or Latino/Latina, or East Asian. A higher proportion of respondents who identified as Hispanic or Latino/Latina selected “web developer” as an option compared to those who selected White or of European descent, South Asian, or East Asian.
Important note: We didn't receive enough responses from developers of some ethnicities to include them here with reliable percentages. However, we do see that many developers who identify as Black or of African descent work as web developers and mobile developers, and many developers with Middle Eastern ethnic backgrounds work as web developers and desktop applications developers. Developers who identified as Native American, Pacific Islander, or Indigenous Australian work as web developers at a high rate.
Between respondents who identified as men or women, nearly twice the number of women said they had been coding for less than a year. On average, respondents who identified as White or of European descent and those who identified as Pacific Islander or Indigenous Australian had the highest average number of years experience coding.
Among current professional developers globally, 76.5% of respondents said they had a bachelor’s degree or higher, such as a Master’s degree or equivalent.
More than half (54.2%) of professional developers who had studied at a college or university said they had concentrated their studies on computer science or software engineering, and an additional quarter (24.9%) majored in a closely-related discipline such as computer programming, computer engineering, or information technology. The remaining 20.9% said they had majored in other fields such as business, the social sciences, natural sciences, non-computer engineering, or the arts.
Among current students who responded to the survey, 48.3% said they were majoring in computer science or software engineering, and 30.5% said they were majoring in closely-related fields. Finally, 21.2% said they were focusing on other fields.
Of current professional developers, 32% said their formal education was not very important or not important at all to their career success. This is not entirely surprising given that 90% of developers overall consider themselves at least somewhat self-taught: a formal degree is only one aspect of their education, and so much of their practical day-to-day work depends on their company’s individual tech stack decisions.
However, computer science majors and computer engineering majors were the most likely (49.4%) to say their formal education was important or very important.
Compared to computer science majors, respondents who majored in less theoretical computer-related disciplines (such as IT, web development, or computer programming) were more likely to say their formal educations were unimportant.
Developers love to learn: 90% say they are at least partially self-taught. Among current professional developers, 55.9% say they’ve taken an online course, and 53.4% say they’ve received on-the-job training.
By far, reading official documentation and using Stack Overflow Q&A are the two most common ways developers level up their skills.
Due to the high demand for professional developers, coding bootcamps have exploded in popularity in the past few years. Although commonly perceived as a way for non-developers to transition into a new career, we found that 45.8% of those who said they’d gone through a bootcamp were already developers when they started the program. This is likely because many developers decide at various parts in their career that they need to upgrade their skills or learn new technologies to stay relevant in the job market.
Coding isn’t just a career; it can be a passion. Among all developers, 75.0% code as a hobby; even among professional developers a similar proportion (73.9%) do so. Additionally, 32.7% of developers said they contribute to open source projects.
Want to learn to code but don’t know where to start? More developers say you should take an online course than any other method, followed by getting a book and working through the exercises.
As an important side note, we received great feedback on how we phrased this question, specifically the option, “Get a job as a QA tester and work your way into a developer role.” Although some developers start their careers as QA testers, the phrasing made it sound as if we saw QA as just a stepping stone, rather than a vital function and career option. QA professionals are our heroes (and QA engineers are 3.5% of our respondents this year!), and we apologize for not more carefully crafting our language.
The tools and trends of the trade.
For the fifth year in a row, JavaScript was the most commonly used programming language. And once again, SQL takes second place, and Java third. However, the use of Python overtook PHP for the first time in five years.
Node.js and AngularJS continue to be the most commonly used technologies in this category.
This is the first year we specifically asked developers what database technology they're using. MySQL and SQL Server were the most commonly used.
Windows Desktop was the most commonly used platform by developers, followed by Linux Desktop.
In the five years we've been collecting the Developer Survey, we've seen languages such as Python and Node.js grow in popularity, while the usage of languages like C# and C has been shrinking.
For the second year in a row, Rust was the most loved programming language. This means that proportionally, more developers wanted to continue working with it than any other language. Swift, last year's second most popular language, ranked as fourth.
For the second year in a row, Visual Basic (for 2017, Visual Basic 6, specifically) ranked as the most dreaded language. Most dreaded means that a high percentage of developers who are currently using the technology express no interest in continuing to do so.
Python shot to the most wanted language this year (as in, the language developers want to use this year more than any other), after ranking fourth last year.
React is the most loved among developers, whereas Cordova is the most dreaded. However, Node.js is the most wanted.
Redis was the most loved database, meaning that proportionally, more developers wanted to continue working with it than any other database. Meanwhile, Oracle is the most dreaded. Finally, more developers wanted to work with MongoDB this year than any other database.
Linux Desktop was the most loved platform. Sharepoint was the most dreaded. And finally, more developers wanted to work with Android this year than any other platform.
JavaScript and SQL are the most popular languages across web developers, desktop developers, sysadmins/DevOps, and data scientists. Not surprisingly, R is far more popular with data scientists than other occupations.
Visual Studio was the most popular developer environment tool for web developers, desktop developers, and data scientists—but not for sysadmins/DevOps, who preferred Vim above all else. Notepad++ was popular across the board.
Globally, developers who use Clojure in their jobs have the highest average salary at $72,000. In the U.S., developers who use Go as well as developers who use Scala are highest paid with an average salary of $110,000. In the UK, it's TypeScript at $53,763, while in Germany, it's Java at the same. Finally, in France, it's Python at $42,151.
Technologies were clustered into several distinct "ecosystems" that tended to be used by the same developers. On the left of this chart we can see a large cluster representing web development (with JavaScript at the center) and one for Microsoft technologies (centered around C# and Visual Studio). On the right we see a constellation connecting Java, Android, and iOS. Other smaller correlated clusters included C/C++/Assembly, Raspberry Pi with Arduino, and languages like Python and R alongside language-specific IDEs.
Developers generally love their career path. Whether they like their current job is another story.
Most developers are employed full time, and an additional 10.2% work as independent contractors, freelancers, or are self-employed.
The United States has a somewhat lower proportion of freelance or independent contractor developers compared to the rest of the world, and Germany has an unusually high proportion of developers working part-time.
Respondents who are professional developers are employed full-time at higher rates.
More developers work for software and internet/web companies than any other industry, but developers are also employed in diverse industries across the economy. Aside from software, the portion of developers in different industries varies by region: In the United States, for instance, healthcare and government employ a higher than average proportion of developers.
Developers work for a wide range of company sizes. On average, companies that employ developers in the United States tend to be somewhat larger than the rest of the world.
We often picture developers working at startups, but worldwide, only about 9% of developers work at startups. The majority of developers work at publicly-traded corporations or privately-held companies.
Developers tend to be satisfied with their career, and more so in general than with their current job. Overall, career satisfaction does not vary significantly by industry. However, current job satisfaction is significantly lower for developers working in finance, retail/wholesale, and logistics.
Average career satisfaction "jumps" to a slightly higher level after a developer has more than 4 years of experience.
In general, developers are getting what they need to do their jobs. Developers were generally satisfied with their equipment including the number, size, and resolution of their monitors.
Only 13.1% of developers are actively looking for a job. But 75.2% of developers are interested in hearing about new job opportunities.
If you're an employer,Stack Overflow Talent can help you recruit both active and passive candidates.
Job seeking status tended to be consistent across regions such as the U.S., Canada, UK, Germany, and France.
Among professional developers looking for work, a higher proportion of machine learning specialists and data scientists were looking for jobs compared to other occupation types. That said, only 14.3% and 13.2% respectively are actively looking.
Networking matters. The most common way developers found their most recent job was through a friend, family member, or former colleague who told them about it. The second most common, however, is by being contacted by someone at the company, such as a company recruiter.
Developers who are actively looking for a job spend a median of 5 hours per week on their job search. Those who are passively looking spend a median of 1 hour a week, and those who are not interested in new job opportunities spend a median of 0 hours.
In general, developers prioritized opportunities for professional development over any other factor by a large margin. This could mean they're looking to advance up the ranks, but it could also be a sign of developers wanting to stay ahead of the game with their company's help. Software is one of the most rapidly changing industries in history; it takes considerable work to keep skills sharp.
The benefits selected the most often by respondents related to mental and physical health: vacation days, remote options, and health benefits.
How much developers are paid, and how highly developers say they value pay in assessing jobs, changes from country to country. In countries like Mexico and Brazil, developers have lower salaries, but place a high importance on pay. In countries like Sweden and Switzerland, we see the lowest scores for developers using compensation to assess jobs.
A vast majority—88.7%—of developers at least somewhat agreed that diversity is important, up from 73% last year.
Respondents who identify as women were more likely to agree or strongly agree that diversity in the workplace is important than respondents who identify as men. Men of White or of European descent were much less likely to agree or strongly agree that diversity is important than men of any other ethnicity.
More women than men agree that diversity in the workplace is important, but there is not a big effect related to years of experience. Between those with less experience and more experience, we see consistent results about who values diversity.
DevOps and machine learning specialists tend to command the largest salaries globally. Please see ourMethodology section for information on how we converted local currencies used by respondents to U.S. dollars.
Average top earners vary by geography. In Canada, for instance, data scientists were top earners, receiving an average of $60,606. Meanwhile in France, QA engineers received the highest average salary.
Unsurprisingly, years of experience were correlated with salary.
Developers using languages listed above the blue line in this chart such as Go, Rust, and Clojure are being paid more even given how much experience they have. Developers using languages below the blue line like PHP, however, are paid less even given years of experience. The size of the circles in this chart represents how many developers are using that language compared to the others.
A majority of developers said they were underpaid. Developers who work in government and non-profits feel the most underpaid, while those who work in finance feel the most overpaid.
Developers who use languages such as JavaScript, Perl, and Python reported feeling underpaid less often than developers who use languages such as Haskell and Matlab.
Students looking to become professional developers generally had spot-on expectations of what they'll be making once they enter the workforce.
What's the best way to evaluate a developer? According to our respondents, it's most likely not lines of code or hours worked. Developers generally supported customer satisfaction and being on time and on budget as the best ways to evaluate the performance of a fellow developer.
What should employers look for when reviewing candidates? Respondents said communication skills and a track record of getting things done were the most important.
Agile and Scrum are popular methodologies for developers to keep their projects on track, and 42.8% of developers have used pair programming to improve their code quality and skill set.
No surprises here: Git is the overwhelmingly clear choice of version control.
A vast majority—65.6%—of developers pronounce 'GIF' with a hard 'g,' like gift. We're not sure how the 2% of developers who chose "some other way" say it, but we're very, very curious.
Most developers agree that "good enough" is good enough. Shipping and then iterating is the preference of most developers.
Although a majority of developers said it's okay to use a noisy keyboard in a shared office, the margin wasn't overwhelming. We expect this will continue to be a good, noisy debate.
Well, 42.9% of developers use tabs. And 37.8% think that group is wrong.
Most developers said they liked at least some music on while coding, but 24.2% want complete silence. This is perhaps another good reason to give developers offices.
When we asked respondents what they valued most when considering a new job, 53.3% said remote options were a top priority. 63.9% of developers reported working remotely at least one day a month, and 11.1% say they're full-time remote or almost all the time.
There is a moderate correlation between remote work and job satisfaction. The highest job satisfaction ratings come from developers who work remote full time.
Russia had the highest percentage of remote workers by far, nearly double the rate in the United States.
Graphic designers and graphics programming professionals were the most common developer type that works remotely, whereas only 10.9% of desktop application developers said they worked remotely.
The majority of developers - 52.6% - check in code multiple times a day. This is consistent with our findings that 60.2% of developers believe in shipping quickly and iterating versus waiting to make it perfect the first time.
We see a relationship between job satisfaction and pushing code into production frequently. (We still see this even after controlling for other effects, such as industry.) A happy developer is a developer who can ship.
Where developers go to learn, share, and level up.
About a quarter of our survey respondents use Stack Overflow, but don't have accounts. Of those who do have accounts, 31% have tried our Developer Story product.
You can create yourDeveloper Story now and show off what you've built.
Nearly all respondents - 90% - find solutions that solve their coding problems here multiple times a month, and half of them find code snippets they can incorporate directly into their own work. That's only possible thanks to the many hundreds of thousands of developers who generously share their knowledge on Stack Overflow.
We hope you'll indulge us ending on a slightly personal note. Here at Stack Overflow, we come to work each day with an incredible sense of pride in our mission: Help all of the world's developers learn, share, and level up. So it's incredibly gratifying to hear that our community has helped so very many of you keep on writing the script for the future, and generally made the internet a better place for developers. If you've contributed in the past, take a moment to take pride in the difference you've made here. If you haven't had a chance yet, there's a simple way to pay it forward:Sign up now, so you're ready to jump in and help when you can. We don't make Stack Overflow great. You do.
How we ran and analyzed the survey.
This report is based on a survey of 64,227 software developers from 213 countries and territories around the world. Respondents were recruited primarily through channels "owned" by Stack Overflow, such as blog posts and banner ads on the site.
Of these, 36,601 (57% of respondents) completed the entire survey, and an additional 15,403 (24%) answered enough questions to be considered a "partial complete," for a total of 51,392 usable responses. These were distributed world-wide as follows:
Region | Usable Responses |
---|---|
North America | 13,717 |
UK & Ireland | 4,740 |
France | 1,740 |
Germany, Austria, Switzerland | 5,221 |
Rest of Europe | 10,757 |
Asia, Pacific, & Australia | 11,528 |
Africa | 1,249 |
South & Central America | 2,098 |
Other or prefer not to say | 155 |
Total | 51,392 |
The more complicated methodology stuff:
Category | # of Respondents | % of Respondents |
Onsite Banners | 26,547 | 52% |
Onsite Blog | 9,912 | 19% |
Social Facebook | 6,098 | 12% |
Onsite Meta | 4,778 | 9% |
Social Misc | 258 | 1% |
Social Partners | 526 | 1% |
Social Reddit | 1,596 | 3% |
Social Twitter | 1,677 | 3% |
Total | 51,392 | 100% |
Additionally, the first five blocks were shown in random order, in order to reduce any unforeseen ordering biases.