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:

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, 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.

Only 13.1% of developers are actively looking for a job. But 75.2% of developers are interested in hearing about new job opportunities.

When we asked respondents what they valued most when considering a new job, 53.3% said remote options were a top priority. A majority of developers, 63.9%, reported working remotely at least one day a month, and 11.1% say they’re full-time remote or almost all the time.

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.

Want to dive into the results yourself? In a few weeks, we’ll make the anonymised results of the survey available for download under the Open Database License (ODbL). We look forward to seeing what you find!

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 people read 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 can download and clear this data at any time.

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.

We asked respondents for their gender identity. Specifically, we asked them to select each of the following options that apply to them:

Male

Female

Transgender

Non-binary, genderqueer, or gender non-conforming

A different identity (write-in option)

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.

The dashed line shows the average ratio of men's to women's participation

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.

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.

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.

36,935 responses; select all that apply. Shown as a percentage of the respondents who chose at least one language, framework, database, or platform.

JavaScript

66.7%

SQL

53.7%

Java

38.3%

C#

36.7%

Python

27.6%

PHP

27.2%

C++

19.3%

C

15.4%

TypeScript

11.3%

Ruby

9.5%

Objective-C

7.3%

Swift

6.9%

VB.NET

6.1%

Go

4.6%

Perl

4.1%

Scala

4.0%

Groovy

3.8%

Assembly

3.7%

CoffeeScript

3.7%

VBA

3.5%

R

3.1%

Matlab

2.9%

Visual Basic 6

2.5%

Lua

2.3%

Haskell

1.4%

27,612 responses; select all that apply. Shown as a percentage of the respondents who chose at least one language, framework, database, or platform.

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.

% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it

Visual Basic 6

88.3%

VBA

80.4%

CoffeeScript

79.2%

VB.NET

77.2%

Matlab

72.3%

Objective-C

68.1%

Assembly

67.6%

Perl

65.9%

Lua

65.8%

Hack

64.5%

Groovy

62.9%

Common Lisp

62.6%

Dart

61.4%

Erlang

60.1%

PHP

58.6%

C

58.3%

Ruby

51.5%

R

50.1%

Java

49.5%

Julia

49.3%

C++

48.0%

SQL

46.6%

Haskell

45.5%

F#

43.8%

JavaScript

40.2%

% of developers who are developing with the language or technology but have not expressed interest in continuing to do so

Python

20.6%

JavaScript

18.6%

Go

13.5%

C++

11.8%

Java

11.7%

TypeScript

10.3%

C#

10.1%

Swift

8.7%

Ruby

7.0%

Rust

6.6%

SQL

6.5%

Scala

6.5%

C

6.4%

Haskell

5.4%

R

5.1%

F#

4.9%

PHP

4.1%

Assembly

3.8%

Elixir

3.6%

Objective-C

3.2%

Clojure

2.9%

Erlang

2.6%

CoffeeScript

2.2%

Lua

2.1%

Perl

1.5%

% of developers who are not developing with the language or technology but have expressed interest in developing with it

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.

% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it

Oracle

63.1%

SQLite

52.8%

MySQL

50.4%

Cassandra

50.1%

SQL Server

45.8%

MongoDB

45.0%

PostgreSQL

39.2%

Redis

35.2%

% of developers who are developing with the language or technology but have not expressed interest in continuing to do so

MongoDB

20.8%

PostgreSQL

11.5%

Redis

10.6%

MySQL

8.5%

Cassandra

7.5%

SQLite

7.2%

SQL Server

4.6%

Oracle

3.8%

% of developers who are not developing with the language or technology but have expressed interest in developing with it

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.

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.

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.

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.

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.

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.

I was contacted directly by someone at the company (e.g. internal recruiter)

17.9%

A general-purpose job board

13.9%

An external recruiter or headhunter

13.4%

I visited the company’s Web site and found a job listing there

8.5%

Some other way

7.7%

A career fair or on-campus recruiting event

7.7%

A tech-specific job board

4.0%

23,737 responses

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.

The financial performance or funding status of the company or organization

3.54

How widely used or impactful the product or service I’d be working on is

3.46

The opportunity to work from home/remotely

3.43

The industry that I’d be working in

3.41

The reputations of the company’s senior leaders

3.28

The diversity of the company or organization

3.01

Average of 22,692 responses on a 1-5 scale, where 1 indicates 'Not at all important' and 5 indicates 'Very important'

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.

Scores are on a 1-5 scale, where 1 indicates 'Not at all important' and 5 indicates 'Very important'

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.

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 our Methodology 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.

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.

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.

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.

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.

% who have done each item at least several times in three months; select all that apply

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.

Average of 34,279 responses on a 1-5 scale, where 1 indicates 'Strongly disagree' and 5 indicates 'Strongly agree'

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.

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:

The survey fielded from January 12th to February 6th, consistent with last year.

The median response time for those who completed the entire survey was 26 minutes. Half of complete respondents spent between 19 and 42 minutes completing. Response time statistics are biased towards the top, because we allowed respondents to complete the survey at their leisure.

Four-fifths of responses came from a Stack Exchange site. The remaining 20% came from social media channels through which we, partner organizations, and members of the community promoted the survey. Accordingly, visitors who came to Stack Overflow multiple times during the field period were more likely to notice the advertisements for the survey and begin to take it. Such frequent visitors include those currently seeking a job, community moderators, those who ask questions or answer them, and other highly-engaged users. Additionally, respondents who supplied a Stack Exchange profile were awarded a “Census” badge as an inducement to complete the survey.

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%

We treated respondents as usable if they completed at least the questions that ask them to describe their "developer kind." We excluded respondents who completed the entire survey in less than 10 minutes.

Salary data were obtained by first asking respondents for their day-to-day currency, and then asking them to write in either their current or expected post-graduation salary, depending on their circumstances.

We converted salaries given in the 38 most-frequently-used currencies to [dollars / Euros / pounds sterling] using the exchange rate that prevailed mid-way through the survey field period.

The question was optional; 32% of respondents who were asked for salary data provided it.

Extreme outliers were trimmed from the current salary data by removing any response greater than $200,000, corresponding to the top half percent of responses.

Many questions were only shown to respondents based on their previous answers. The primary "triggers" for whether questions were shown include self-description as a developer (Q1), country (Q3), employment status (Q17), job-seeking status (Q41), and Stack Overflow usage (Q91). The question numbers listed here correspond to the survey instrument, which we will release along with our downloadable, anonymized results in a few weeks.

Most of the questions in the middle of the survey (following Q36, and up until Q100) were organized into blocks. The blocks about technology usage and Stack Overflow usage were shown to all respondents. The remaining six blocks were each shown to two-thirds of respondents, with each respondent receiving four of the six blocks:

Developer attitudes (Q37 to Q39)

Job-seeking and compensation (Q41 to Q66)

Education and professional development (Q68 to Q72)

Software development practices (Q84 to Q87)

Hardware and other tools (Q89 and Q90)

Stack Overflow attitudes (Q97 to Q99)

Additionally, the first five blocks were shown in random order, in order to reduce any unforeseen ordering biases.

Stack Overflow Jobs puts developers first.

We believe that recruiting will be fixed when job sites put your needs - not their bottom lines - above all else. That’s why you’ll never receive recruiter spam or see fake job listings on our site.