This year, over 100,000 developers told us how they learn, build their careers, which tools theyβre using, and what they want in a job.
Each year, we ask the developer community about everything from their favorite technologies to their job preferences. This year marks the eighth year weβve published our Annual Developer Survey resultsβwith the largest number of respondents yet. Over 100,000 developers took the 30-minute survey this past January.
This year, we covered a few new topics ranging from artificial intelligence to ethics in coding. Here are a few of the top takeaways from this yearβs results:
DevOps and machine learning are important trends in the software industry today. Languages and frameworks associated with these kinds of works are on the rise, and developers working in these areas command the highest salaries.
Only tiny fractions of developers say that they would write unethical code or that they have no obligation to consider the ethical implications of code, but beyond that, respondents see a lot of ethical gray. Developers are not sure how they would report ethical problems, and have differing ideas about who ultimately is responsible for unethical code.
Developers are overall optimistic about the possibilities that artificial intelligence offers, but are not in agreement about what the dangers of AI are.
Python has risen in the ranks of programming languages on our survey, surpassing C# in popularity this year, much like it surpassed PHP last year.
When assessing a prospective job, different kinds of developers apply different sets of priorities. Women say their highest priorities are company culture and opportunities for professional development, while men say their highest priorities are compensation and working with specific technologies.
Want to dive into the results yourself? We made the anonymized results of the survey available for download under the Open Database License (ODbL). We look forward to seeing what you find!
Each month, about 50 million people visit Stack Overflow to learn, share, and build their careers. We estimate that 21 million of these people are professional developers and university-level students.
Our estimate of 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.
Almost 60% of respondents identify as back-end developers, and about 20% consider themselves mobile developers. The median number of developer type identifications per respondent is 2, and the most common pairs are combinations of back-end, front-end, and full-stack developer. Pairs that are highly correlated are database administrator and system administrator, DevOps specialist and system administrator, and designer and front-end developer.
Almost half of professional developers on Stack Overflow contribute to open source projects. Involvement in open source varies with language. Over 70% of developers who work with Rust, Julia, and Clojure contribute to open source, while less than 40% of developers who work with VBA, VB.NET, and C# do so.
Many developers work on code outside of work. Over 80% of our respondents say that they code as a hobby. Other interests or responsibilities outside of software don't seem to reduce developers' interest in coding as a hobby. Those who said they are parents or have other caretaking responsibilities, those who exercise daily, or those who spend the most time outside were slightly more likely to code as a hobby than other groups.
There is a wide range of experience levels among developers, and a full third of professional developers on Stack Overflow learned to code within the past five years.
Over half of respondents have five years of professional coding experience or less. Developers who work with languages such as Cobol and Perl have the most years of professional coding experience, while developers who work with languages like Matlab, Haskell, and Kotlin have the fewest.
Developers who work in different areas of software development have different average amounts of experience. DevOps specialists and developers who code for desktop and enterprise applications have the most experience. DevOps as a discipline and professional identity is relatively new, but the people working in this field are highly experienced. Game/graphics developers and mobile developers have the fewest years of experience.
Some college/university study without earning a degree
12.4%
Associate degree
3.1%
Bachelor's degree
46.1%
Master's degree
22.6%
Professional degree
1.5%
Doctoral degree
2.3%
94,703 responses
I never completed any formal education
0.6%
Primary/elementary school
1.3%
Secondary school
8.2%
Some college/university study without earning a degree
12.1%
Associate degree
3.1%
Bachelor's degree
47.7%
Master's degree
23.2%
Professional degree
1.5%
Doctoral degree
2.2%
85,710 responses
Worldwide, about three-fourths of professional developers have the equivalent of a bachelor's degree or higher. It is not that rare to find accomplished professional developers who have not completed a degree.
Computer science, computer engineering, or software engineering
63.7%
Another engineering discipline (ex. civil, electrical, mechanical)
8.8%
Information systems, information technology, or system administration
8.2%
A natural science (ex. biology, chemistry, physics)
3.9%
Mathematics or statistics
3.6%
Web development or web design
3.1%
A business discipline (ex. accounting, finance, marketing)
2.4%
A humanities discipline (ex. literature, history, philosophy)
2.0%
A social science (ex. anthropology, psychology, political science)
1.7%
Fine arts or performing arts (ex. graphic design, music, studio art)
1.4%
I never declared a major
0.9%
A health science (ex. nursing, pharmacy, radiology)
0.3%
79,036 responses
Computer science, computer engineering, or software engineering
64.4%
Another engineering discipline (ex. civil, electrical, mechanical)
8.5%
Information systems, information technology, or system administration
8.3%
A natural science (ex. biology, chemistry, physics)
3.6%
Mathematics or statistics
3.5%
Web development or web design
3.1%
A business discipline (ex. accounting, finance, marketing)
2.3%
A humanities discipline (ex. literature, history, philosophy)
2.0%
A social science (ex. anthropology, psychology, political science)
1.7%
Fine arts or performing arts (ex. graphic design, music, studio art)
1.4%
I never declared a major
0.8%
A health science (ex. nursing, pharmacy, radiology)
0.3%
75,134 responses
Computer science, computer engineering, or software engineering
69.6%
Information systems, information technology, or system administration
8.6%
Another engineering discipline (ex. civil, electrical, mechanical)
6.6%
Web development or web design
4.2%
Mathematics or statistics
3.1%
A natural science (ex. biology, chemistry, physics)
2.8%
A business discipline (ex. accounting, finance, marketing)
1.8%
A humanities discipline (ex. literature, history, philosophy)
0.9%
A social science (ex. anthropology, psychology, political science)
0.9%
I never declared a major
0.5%
Fine arts or performing arts (ex. graphic design, music, studio art)
0.5%
A health science (ex. nursing, pharmacy, radiology)
0.3%
17,652 responses
Of professional developers who studied at the university level, over 60% said they majored in computer science, computer engineering, or software engineering. This proportion is somewhat higher in currently enrolled students, and the proportion of respondents majoring in other engineering disciplines like electrical and mechanical engineering is lower among current students than among professionals.
Taught yourself a new language, framework, or tool without taking a formal course
86.7%
Taken an online course in programming or software development (e.g. a MOOC)
48.6%
Contributed to open source software
40.9%
Received on-the-job training in software development
35.1%
Participated in a hackathon
26.3%
Participated in online coding competitions (e.g. HackerRank, CodeChef, TopCoder)
24.3%
Taken a part-time in-person course in programming or software development
17.9%
Completed an industry certification program (e.g. MCPD)
13.7%
Participated in a full-time developer training program or bootcamp
10.3%
67,960 responses; select all that apply
Taught yourself a new language, framework, or tool without taking a formal course
87.0%
Taken an online course in programming or software development (e.g. a MOOC)
48.6%
Contributed to open source software
41.6%
Received on-the-job training in software development
36.1%
Participated in a hackathon
26.9%
Participated in online coding competitions (e.g. HackerRank, CodeChef, TopCoder)
24.5%
Taken a part-time in-person course in programming or software development
17.8%
Completed an industry certification program (e.g. MCPD)
14.1%
Participated in a full-time developer training program or bootcamp
10.5%
63,711 responses; select all that apply
Developers are lifelong learners; almost 90% of all developers say they have taught themselves a new language, framework, or tool outside of their formal education. Among professional developers, almost half say they have taken an online course like a MOOC, and about a quarter have participated in a hackathon.
The official documentation and/or standards for the technology
83.0%
Questions & answers on Stack Overflow
82.7%
A book or e-book from OβReilly, Apress, or a similar publisher
50.2%
Online developer communities other than Stack Overflow (ex. forums, listservs, IRC channels, etc.)
50.1%
The technologyβs online help system
48.1%
A college/university computer science or software engineering book
19.7%
Tapping your network of friends, family, and peers versed in the technology
19.4%
Internal Wikis, chat rooms, or documentation set up by my company for employees
16.6%
Pre-scheduled tutoring or mentoring sessions with a friend or colleague
4.1%
57,354 responses; select all that apply
The official documentation and/or standards for the technology
83.5%
Questions & answers on Stack Overflow
82.8%
A book or e-book from OβReilly, Apress, or a similar publisher
50.4%
Online developer communities other than Stack Overflow (ex. forums, listservs, IRC channels, etc.)
50.0%
The technologyβs online help system
48.3%
Tapping your network of friends, family, and peers versed in the technology
19.2%
A college/university computer science or software engineering book
19.2%
Internal Wikis, chat rooms, or documentation set up by my company for employees
16.4%
Pre-scheduled tutoring or mentoring sessions with a friend or colleague
4.1%
54,007 responses; select all that apply
Over 80% of respondents rely on Stack Overflow Q&A when learning something new. Additionally, developers understand the value of good documentation, as over 80% also use documentation as a resource when learning.
To improve my general technical skills or programming ability
66.1%
To improve my knowledge of a specific programming language, framework, or other technology
51.2%
To improve my ability to work on a team with other programmers
30.0%
To build my professional network
27.5%
To help me find new job opportunities
20.8%
To win prizes or cash awards
18.9%
25,691 responses; select all that apply
Among the respondents who said they have participated in hackathons or online coding competitions, their number one reason for engaging is that they find them enjoyable. These are also opportunities for learning, both general and specific.
I already had a full-time job as a developer when I began the program
45.5%
Immediately after graduating
16.3%
Less than a month
7.5%
One to three months
10.0%
Four to six months
5.2%
Six months to a year
3.6%
Longer than a year
3.2%
I havenβt gotten a developer job
8.7%
6,652 responses
Bootcamps are typically perceived as a way for newcomers to transition into a career as a software developer, but according to our survey, many participants in coding bootcamps were already working as developers. Almost half of our respondents who said they went to a coding bootcamp said they were already working as developers; these developers are likely updating their skills and moving to new areas of the tech industry. Of other bootcamp participants, the most common outcome is to find a job immediately or soon after graduating.
We asked our respondents about their gender identity, and found that over 90% of our respondents are male. According to Quantcast, women account for about 10% of Stack Overflowβs US traffic; this year 9% of US survey respondents are women. We had survey participation at almost the rate we would expect from our traffic, although such a low percentage points to problems with inclusion in the tech industry in general and Stack Overflow in particular. In regions including the United States, India, and the UK, women are represented at higher levels among students than among professional developers.
This year, 0.7% of respondents identified as transgender men or women. The gender identifications are select all that apply, so transgender men and women are included in the categories shown here.
Native American, Pacific Islander, or Indigenous Australian
0.8%
57,473 responses; select all that apply
White or of European descent
74.3%
South Asian
11.5%
Hispanic or Latino/Latina
6.7%
East Asian
5.0%
Middle Eastern
4.1%
Black or of African descent
2.7%
Native American, Pacific Islander, or Indigenous Australian
0.8%
53,982 responses; select all that apply
White or of European descent
64.2%
South Asian
15.3%
Hispanic or Latino/Latina
8.6%
East Asian
7.4%
Middle Eastern
6.1%
Black or of African descent
4.0%
Native American, Pacific Islander, or Indigenous Australian
0.9%
12,023 responses; select all that apply
Here again we see evidence for problems with diversity and inclusion. We see higher proportions of developers of color in students than professional developers. This year, 7.4% of professional developers in the United States identified as black, Hispanic or Latino/Latina, or Native American while over 10% of students in the United States identified as a member of one of these groups.
Some college/university study without earning a degree
9.2%
Associate degree
4.6%
Bachelor's degree
29.3%
Master's degree
22.1%
Professional degree
4.4%
Doctoral degree
6.0%
61,813 responses
They never completed any formal education
1.9%
Primary/elementary school
5.2%
Secondary school
17.4%
Some college/university study without earning a degree
9.2%
Associate degree
4.6%
Bachelor's degree
29.4%
Master's degree
22.0%
Professional degree
4.4%
Doctoral degree
5.8%
58,064 responses
They never completed any formal education
2.4%
Primary/elementary school
5.9%
Secondary school
16.3%
Some college/university study without earning a degree
9.2%
Associate degree
4.5%
Bachelor's degree
29.1%
Master's degree
22.4%
Professional degree
4.3%
Doctoral degree
5.9%
13,326 responses
Like developers themselves, most developers' parents have the equivalent of a bachelor's degree or higher. Just under 40% of respondents said their parents do not hold a bachelor's degree.
I have a mood or emotional disorder (ex. depression, bipolar disorder)
8.5%
I have an anxiety disorder
7.8%
I have a concentration and/or memory disorder
5.9%
I identify as autistic / a person with autism
2.1%
11,431 responses identified as having a mental difference
I am blind / have difficulty seeing
1.4%
I am deaf / have difficulty hearing
0.8%
I am unable to / find it difficult to walk and/or stand without assistance
0.3%
I am unable to / find it difficult to type
0.3%
1,702 responses identified as having a physical difference
We know developers can experience many forms of disability and difference, from mental health challenges to physical disability. Mental health issues like depression and anxiety are particularly common among our respondents. In the United States, almost 20% of respondents said they deal with either or both.
59,749 responses; gender categories were select all that apply
0-2 years
17.3%
3-5 years
30.6%
6-8 years
20.5%
9-11 years
10.4%
12-14 years
6.2%
15-17 years
4.9%
18-20 years
4.4%
21-23 years
2.0%
24-26 years
1.4%
27-29 years
0.4%
30 or more years
2.0%
4,404 responses; gender categories were select all that apply
0-2 years
10.1%
3-5 years
22.9%
6-8 years
17.8%
9-11 years
14.3%
12-14 years
10.1%
15-17 years
6.7%
18-20 years
6.9%
21-23 years
3.2%
24-26 years
1.5%
27-29 years
1.3%
30 or more years
5.1%
594 responses; gender categories were select all that apply
We find differences among developers by gender in our survey responses. For example, twice as many women than men have been coding two years or less, evidence for the shifting demographics of coding as a profession. Also, developers who identify as transgender men or women or of non-binary gender contribute to open source at higher rates (58% and 60%, respectively) than developers who identify as men or women overall (45% and 33%.)
The dashed line shows the average ratio of men's to women's participation
We see varying representation by men and women in different developer roles on our survey. All categories have dramatically more developers who identify as men than women but the ratio of men to women varies. Developers who are educators or academic researchers are about 10 times more likely to be men than women, while developers who are system admins or DevOps specialists are 25-30 times more likely to be men than women. Women have the highest representation as academics, QA developers, data scientists, and designers.
Developers on Stack Overflow are older with more experience in Australia, countries in Western Europe, and North America and younger with less experience in countries like India and Russia.
I feel a sense of kinship or connection to other developers
3.6
I think of myself as competing with my peers
2.7
I'm not as good at programming as most of my peers
2.2
68,577 responses; agreement on a 1-5 scale, from strongly disagree to strongly agree
We asked how much respondents agree or disagree with several statements about their place in the developer community. Overall 70% of developers agree or strongly agree that they feel a sense of connection with other developers. Developers are overall confident about their own skills compared to their peers, with only 18% agreeing or strongly agreeing that they are not as good at programming as their colleagues.
Respondents' feelings on how much they belong and how they stack up to their peers change with how much experience they have. More experienced developers feel more connected, more confident, and less competitive. Notice that feeling less skilled drops quickly with experience while feeling less competitive drops more gradually and continues to drop into the second decade of coding experience.
This year we asked respondents if they have children or other dependents that they care for, and about a quarter of respondents say that they do. We asked in a free response question what these developers do for dependent care during work hours, and our respondents talked about options like school, their spouses/partners, and daycare.
The developers who said they do not have dependents to care for are younger on average than those who do. Over 30% of the developers without dependents are younger than 25, while only 5% of those with dependents are younger than 25. Almost 60% of developers with 10 or more years of professional coding experience have children or other dependents.
Our respondents include people who code as professionals, students, and hobbyists. The overwhelmingly majority spend large fractions of their waking hours on a typical day with their desktops and laptops.
Developers tell us they do not often skip meals because of their workload, and a majority say they exercise at least some. Over 60% of respondents exercise at least weekly, but the most often chosen exercise frequency is 'never'.
For the sixth year in a row, JavaScript is the most commonly used programming language. Python has risen in the ranks, surpassing C# this year, much like it surpassed PHP last year. Python has a solid claim to being the fastest-growing major programming language.
We see close alignment in the technology choices of professional developers and the developer population overall.
% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it
Visual Basic 6
89.9%
Cobol
84.1%
CoffeeScript
82.7%
VB.NET
80.9%
VBA
80.0%
Matlab
77.4%
Assembly
71.4%
Perl
71.3%
Objective-C
70.3%
Lua
68.2%
Groovy
66.4%
Delphi/Object Pascal
65.1%
C
62.6%
Ocaml
58.5%
PHP
58.4%
Hack
57.9%
C++
53.3%
Erlang
52.8%
Ruby
52.6%
R
50.6%
Java
49.3%
Julia
47.2%
Haskell
46.4%
CSS
44.9%
HTML
44.3%
% of developers who are developing with the language or technology but have not expressed interest in continuing to do so
Python
25.1%
JavaScript
19.0%
Go
16.2%
Kotlin
12.4%
TypeScript
11.9%
Java
10.5%
C++
10.2%
Rust
8.3%
C#
8.0%
Swift
7.7%
HTML
7.6%
CSS
7.6%
SQL
6.8%
R
6.3%
C
5.9%
Ruby
5.7%
Scala
5.6%
Haskell
5.3%
Bash/Shell
4.9%
PHP
4.1%
F#
4.0%
Assembly
3.4%
Erlang
3.0%
Clojure
2.7%
Objective-C
2.6%
% of developers who are not developing with the language or technology but have expressed interest in developing with it
For the third year in a row, Rust is the most loved programming language among our respondents, followed close behind by Kotlin, a language we asked about for the first time on our survey this year. This means that proportionally, more developers want to continue working with these than other languages.
Also for the third year in a row, Visual Basic 6 ranks as the most dreaded programming 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 is the most wanted language for the second year in a row, meaning that it is the language that developers who do not yet use it most often say they want to learn.
% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it
Cordova
59.6%
Xamarin
51.0%
Hadoop
46.1%
Angular
45.4%
Django
41.7%
Spring
40.0%
Spark
34.0%
.NET Core
34.0%
Node.js
33.6%
Torch/PyTorch
32.0%
React
30.6%
TensorFlow
26.5%
% of developers who are developing with the language or technology but have not expressed interest in continuing to do so
React
21.3%
Node.js
20.9%
TensorFlow
15.5%
Angular
14.3%
.NET Core
9.3%
Django
6.7%
Hadoop
6.4%
Xamarin
6.1%
Spark
4.8%
Torch/PyTorch
4.5%
Spring
3.7%
Cordova
2.6%
% of developers who are not developing with the language or technology but have expressed interest in developing with it
TensorFlow, one of the fastest growing technologies on Stack Overflow, is most loved by developers, while Cordova is most dreaded. React is the framework developers say they most want to work with if they do not already.
% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it
IBM Db2
78.2%
Oracle
63.1%
Memcached
57.8%
Apache HBase
56.4%
Amazon Redshift
55.2%
Apache Hive
53.8%
Cassandra
53.6%
SQLite
51.9%
MySQL
51.3%
Neo4j
50.3%
Amazon DynamoDB
49.1%
SQL Server
48.4%
Google BigQuery
47.6%
MariaDB
46.7%
MongoDB
44.9%
Google Cloud Storage
43.5%
Microsoft Azure (Tables, CosmosDB, SQL, etc)
43.3%
Amazon RDS/Aurora
41.2%
Elasticsearch
40.1%
PostgreSQL
38.0%
Redis
35.5%
% of developers who are developing with the language or technology but have not expressed interest in continuing to do so
MongoDB
18.6%
Elasticsearch
12.2%
PostgreSQL
11.4%
Redis
9.7%
MySQL
7.5%
Microsoft Azure (Tables, CosmosDB, SQL, etc)
7.3%
Google Cloud Storage
7.3%
Cassandra
6.1%
Amazon DynamoDB
5.7%
Google BigQuery
5.6%
SQL Server
4.2%
Neo4j
3.9%
Amazon RDS/Aurora
3.5%
MariaDB
3.4%
Amazon Redshift
3.3%
SQLite
3.3%
Memcached
2.7%
Apache Hive
2.6%
Apache HBase
2.4%
Oracle
2.3%
IBM Db2
0.7%
% 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, Redis is most loved database, meaning that proportionally more developers wanted to continue working with it than any other database. IBM's Db2 offering ranks as the most dreaded database, and for the second year in a row, MongoDB is the most wanted database.
% of developers who are developing with the language or technology and have expressed interest in continuing to develop with it
SharePoint
71.8%
Drupal
70.4%
Salesforce
69.7%
Mainframe
68.9%
Windows Phone
68.8%
WordPress
63.2%
Predix
60.9%
IBM Cloud or Watson
56.3%
Heroku
47.8%
Amazon Echo
46.8%
Google Home
42.4%
Arduino
41.9%
Azure
39.0%
Windows Desktop or Server
38.8%
Gaming console
38.7%
Google Cloud Platform/App Engine
37.5%
Android
36.2%
Firebase
36.2%
Mac OS
36.1%
Apple Watch or Apple TV
36.0%
iOS
35.4%
ESP8266
32.6%
Raspberry Pi
32.3%
AWS
31.4%
Serverless
24.8%
% of developers who are developing with the language or technology but have not expressed interest in continuing to do so
Android
16.0%
Raspberry Pi
13.1%
AWS
12.0%
Linux
10.9%
iOS
9.6%
Firebase
8.3%
Google Cloud Platform/App Engine
8.2%
Arduino
7.7%
Mac OS
6.6%
Azure
6.4%
Amazon Echo
6.3%
Serverless
5.6%
Google Home
5.1%
Gaming console
4.4%
Apple Watch or Apple TV
3.3%
Heroku
3.2%
Windows Desktop or Server
2.7%
IBM Cloud or Watson
2.3%
WordPress
2.3%
Windows Phone
1.2%
ESP8266
1.1%
Salesforce
1.1%
Drupal
0.9%
SharePoint
0.7%
Mainframe
0.6%
% of developers who are not developing with the language or technology but have expressed interest in developing with it
Linux is once again the most loved platform for development, with serverless infrastructure also loved this year. Sharepoint is the most dreaded development platform for the second year in a row, and many developers say they want to start developing for the Android platform and the Raspberry Pi.
Visual Studio Code just edged out Visual Studio as the most popular developer environment tool across the board, but there are differences in tool choices by developer type and role. Developers who write code for mobile apps are more likely to choose Android Studio and Xcode, the most popular choice by DevOps and sysadmins is Vim, and data scientists are more likely to work in IPython/Jupyter, PyCharm, and RStudio.
We asked our respondents what operating systems they use for work. About half said they mainly use Windows, and the remainder were about evenly split between MacOS and Linux.
Over 65% of respondents use two or more monitors to get work done at their main workstation; the median number of monitors for respondents at their main workstation is two.
Globally, respondents who use F#, Ocaml, Clojure, and Groovy earn the highest salaries, with median salaries above $70,000 USD. There are regional variations in which languages are associated with the highest pay. Erlang and Scala developers in the US are among the highest paid, while Clojure, Erlang, and Haskell developers earn the most in India.
Technologies cluster together into related ecosystems that tend to be used by the same developers. In this chart we see a large central cluster for web development (with JavaScript, HTML, and CSS) connected via SQL to one for Microsoft technologies (with C#, Visual Studio, and .NET Core). Along the left we see a constellation connecting Java, Android, and iOS across to Linux, bash/shell, and Python. Other smaller correlated clusters include Scala/Spark, C/C++, and other smaller technologies that include language-specific IDEs.
Artificial intelligence surpassing human intelligence ("the singularity")
28.0%
Evolving definitions of "fairness" in algorithmic versus human decisions
23.7%
Increasing automation of jobs
19.8%
63,115 responses
Increasing automation of jobs
40.8%
Algorithms making important decisions
23.5%
Artificial intelligence surpassing human intelligence ("the singularity")
23.3%
Evolving definitions of "fairness" in algorithmic versus human decisions
12.4%
65,367 responses
Some types of developers are involved in the increasing role of machine learning and artificial intelligence in the world today, so we asked developers what they think is dangerous and exciting about these technologies. There is not much consensus among developers about what is most dangerous; each answer was chosen roughly equally. The top choice for what is exciting about increasing AI is that jobs can be automated.
Developers are most likely to think that the creators and technologists behind the machine learning and AI algorithms are the ones who are ultimately most responsible for the societal issues surrounding artificial intelligence. About a quarter of respondents think that a regulatory body should be primarily responsible.
I'm excited about the possibilities more than worried about the dangers.
72.8%
I'm worried about the dangers more than I'm excited about the possibilities.
19.0%
I don't care about it, or I haven't thought about it.
8.2%
69,728 responses
Developers are mostly optimistic about the possibilities that artificial intelligence offers our world, with almost three-fourths of respondents saying that they are overall more excited than worried about the AI future.
The concerns that developers bring to issues around artificial intelligence depend on the kind of coding work they do. For example, data scientists are 1.5 times more likely to consider issues around algorithmic fairness dangerous than any upcoming singularity when computers become more intelligent than people, the most of any kind of developer. We included a free response option on this question; there was not much serious worry about Skynet, but many developers discussed systemic bias being built into algorithmic decision making and the danger of AI being used without the ability to inspect and reason about decision pathways.
Independent contractor, freelancer, or self-employed
6.6%
Not employed, but looking for work
4.8%
Employed part-time
4.4%
Not employed, and not looking for work
3.6%
Retired
0.4%
19,948 responses
Employed full-time
78.7%
Not employed, but looking for work
9.3%
Independent contractor, freelancer, or self-employed
6.2%
Not employed, and not looking for work
3.8%
Employed part-time
2.0%
Retired
0.0%
13,025 responses
Employed full-time
78.0%
Independent contractor, freelancer, or self-employed
11.6%
Not employed, and not looking for work
4.4%
Not employed, but looking for work
3.2%
Employed part-time
2.4%
Retired
0.5%
6,652 responses
Employed full-time
70.3%
Employed part-time
13.0%
Independent contractor, freelancer, or self-employed
8.9%
Not employed, and not looking for work
4.5%
Not employed, but looking for work
3.1%
Retired
0.2%
6,236 responses
Employed full-time
74.7%
Independent contractor, freelancer, or self-employed
9.6%
Not employed, but looking for work
5.5%
Not employed, and not looking for work
5.1%
Employed part-time
4.8%
Retired
0.3%
3,314 responses
Germany has an unusually high proportion of developers working part-time. Developers in the United States are somewhat less likely to work as independent contractors or freelancers. In all of these locations, between 70% and 80% of developers are employed full-time.
Software developers work in a diverse range of industries (so diverse that it's hard to ask about them all in one question!) both inside and outside the technology industry. Our answer choices focused on the tech industry this year, and of these choices, more professional developers work for companies doing web development, IT, and SaaS. Developers working in industries such as consulting and healthcare have more years of professional coding experience. Developers in these industries are twice as likely to have more than 20 years of experience than developers working in web development/design or eCommerce.
Developers work in companies of all sizes, from quite small to large enterprise organizations. More software developers in the United States work at larger companies compared to the rest of the world. The more experienced a developer is, the more likely they are to work at one of the largest companies. A developer with 30 years of experience is twice as likely to work at a company with more than 5,000 employees than a developer with 2 years of experience.
Working in a different or more specialized technical role than the one I'm in now
33.9%
Working as a founder or co-founder of my own company
25.7%
Doing the same work
19.4%
Working as an engineering manager or other functional manager
9.9%
Working as a product manager or project manager
6.6%
Working in a career completely unrelated to software development
2.8%
Retirement
1.7%
75,718 responses
Developers' career goals are largely focused on technical work, with just over half of respondents saying they want to be in the same or a different technical role in the future. About a quarter of our respondents say they want to start their own company, but this is most common among developers who are younger than 25 years old.
Developers tend to be more satisfied with their career 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 financial services and IT. Career satisfaction is highest for older developers, with ages of 50 or higher, and those with 20, 30, or more years of professional experience. Job satisfaction, by contrast, is highest for developers between 35 and 44 years old.
When posed with a hypothetical situation where they are asked to write code for a product or purpose that they consider clearly unethical, over half of our respondents say that they would not write such code. Ethical situations can be complicated, and about another third say that it would depend on the situation.
The question of what to do next after an ethical problem has arisen is even more tricky, according to our respondents. The most common answer, from almost half of respondents, is that how to report an ethical problem depends on the particulars of any given situation.
Most developers feel that management is ultimately most accountable for unethical results of code. Just under 20% of respondents said that a developer who writes code used for unethical purposes is most responsible.
Almost 80% of respondents affirm that considering what their code can be used for is the right thing for developers to do. Those who said they were unsure about this were 40% more likely to also say that they do not need to report any ethical problems.
We included a free response opportunity after this question, and we saw thoughtful reflections from developers. These include responses about how the tools developers build are powerful and come with a lot of responsibility, situations where unethical outcomes may accidentally arise, and how large teams are involved in building software but developers can be the last line of defense against unethical code.
Among professional developers, those who work at the C-level and as engineering managers or product managers are looking for work the least. Developers working in academia and data scientists (categories that we know often overlap) are looking for work at higher proportions.
25,022 responses; % of respondents who used each word
interview
18.5%
job
17.8%
company
10.4%
finding
10.0%
recruiter
7.0%
time
4.8%
waiting
4.6%
getting
3.9%
application
3.8%
good
3.7%
letter
3.4%
process
3.3%
work
3.1%
resume
3.1%
find
3.1%
right
3.0%
writing
2.9%
searching
2.8%
fit
2.8%
interviewing
2.8%
24,978 responses; % of respondents who used each word
new
32.7%
company
18.0%
opportunity
12.8%
people
9.5%
technology
9.4%
seeing
8.7%
learning
8.2%
job
7.9%
interview
7.8%
finding
6.3%
different
5.8%
work
5.4%
know
5.0%
getting
4.7%
meeting
4.6%
interesting
3.9%
get
2.8%
working
2.8%
market
2.7%
thing
2.7%
23,881 responses; % of respondents who used each word
new
42.0%
opportunity
16.7%
company
9.8%
people
8.9%
job
8.6%
interview
7.6%
technology
6.6%
getting
6.4%
work
5.9%
finding
5.8%
learning
5.4%
meeting
4.5%
know
3.4%
seeing
3.4%
salary
3.1%
thing
3.1%
challenge
2.9%
working
2.9%
different
2.8%
something
2.8%
24,211 responses; % of respondents who used each word
We asked developers on Stack Overflow what they find annoying, exhausting, interesting, and exciting about the process of searching for a new job in separate free response questions. Respondents said the positive aspects of searching for a new job include the new opportunities, technologies, and people that a new position can offer. On the other hand, they expressed frustration with broken processes around interviews and recruiting.
The languages, frameworks, and other technologies I'd be working with
17.3%
Opportunities for professional development
16.0%
The office environment or company culture
13.6%
The opportunity to work from home/remotely
10.3%
The industry that I'd be working in
7.4%
How widely used or impactful the product or service I'd be working on is
6.5%
The specific department or team I'd be working on
5.5%
The financial performance or funding status of the company or organization
3.4%
The diversity of the company or organization
1.6%
66,985 responses; % of respondents who chose each option as their highest priority
The diversity of the company or organization
30.4%
The financial performance or funding status of the company or organization
14.1%
The industry that I'd be working in
13.7%
The opportunity to work from home/remotely
12.5%
How widely used or impactful the product or service I'd be working on is
9.2%
The specific department or team I'd be working on
8.6%
The languages, frameworks, and other technologies I'd be working with
3.2%
The office environment or company culture
3.0%
The compensation and benefits offered
2.8%
Opportunities for professional development
2.6%
66,984 responses; % of respondents who chose each option as their lowest priority
In general, developers' top priority in assessing a job is compensation, followed by the specific technologies that they will work with. The tech industry is struggling overall with issues around diversity, and individual developers are not making it a priority when looking for a job.
The languages, frameworks, and other technologies I'd be working with
17.6%
Opportunities for professional development
15.7%
The office environment or company culture
13.5%
The opportunity to work from home/remotely
10.3%
The industry that I'd be working in
7.3%
How widely used or impactful the product or service I'd be working on is
6.6%
The specific department or team I'd be working on
5.5%
The financial performance or funding status of the company or organization
3.3%
The diversity of the company or organization
1.3%
54,536 responses; % of respondents who chose each option as their highest priority
The office environment or company culture
16.9%
Opportunities for professional development
16.8%
The languages, frameworks, and other technologies I'd be working with
16.4%
The compensation and benefits offered
14.1%
The opportunity to work from home/remotely
10.2%
The industry that I'd be working in
7.3%
The specific department or team I'd be working on
5.9%
How widely used or impactful the product or service I'd be working on is
5.4%
The diversity of the company or organization
4.3%
The financial performance or funding status of the company or organization
2.6%
4,026 responses; % of respondents who chose each option as their highest priority
The office environment or company culture
19.4%
The languages, frameworks, and other technologies I'd be working with
13.0%
The compensation and benefits offered
12.3%
The diversity of the company or organization
11.9%
The opportunity to work from home/remotely
10.6%
Opportunities for professional development
9.9%
The industry that I'd be working in
8.4%
How widely used or impactful the product or service I'd be working on is
6.6%
The specific department or team I'd be working on
6.2%
The financial performance or funding status of the company or organization
1.5%
545 responses; % of respondents who chose each option as their highest priority
Different types of developers apply different sets of priorities when considering jobs. Developers who belong to gender minorities in tech rank the company culture and office environment as their highest concern when assessing a new job. The gender identification question allowed respondents to select all that apply.
Fitness or wellness benefit (ex. gym membership, nutritionist)
1.5%
Transportation benefit (ex. company-provided transportation, public transit allowance)
1.5%
Company-provided meals or snacks
1.4%
Childcare benefit
1.1%
64,918 responses; % of respondents who chose each option as their highest priority
Childcare benefit
21.7%
Parental leave
14.1%
Company-provided meals or snacks
12.3%
Fitness or wellness benefit (ex. gym membership, nutritionist)
11.1%
Stock options or shares
10.3%
Transportation benefit (ex. company-provided transportation, public transit allowance)
9.5%
Retirement or pension savings matching
6.5%
Conference or education budget
5.0%
Computer/office equipment allowance
4.8%
Health insurance
4.0%
Salary and/or bonuses
0.7%
64,917 responses; % of respondents who chose each option as their lowest priority
Overall, respondents on our survey prioritize salary highest, with all other considerations like computer equipment and conference budgets ranking much lower.
Transportation benefit (ex. company-provided transportation, public transit allowance)
0.4%
Childcare benefit
0.4%
Fitness or wellness benefit (ex. gym membership, nutritionist)
0.4%
15,782 responses; % of respondents who chose each option as their highest priority
Salary and/or bonuses
64.0%
Computer/office equipment allowance
6.2%
Stock options or shares
5.5%
Health insurance
5.5%
Fitness or wellness benefit (ex. gym membership, nutritionist)
4.0%
Conference or education budget
3.4%
Parental leave
2.6%
Company-provided meals or snacks
2.5%
Retirement or pension savings matching
2.5%
Transportation benefit (ex. company-provided transportation, public transit allowance)
2.4%
Childcare benefit
1.5%
6,648 responses; % of respondents who chose each option as their highest priority
Salary and/or bonuses
81.7%
Computer/office equipment allowance
3.4%
Retirement or pension savings matching
2.6%
Conference or education budget
2.6%
Health insurance
2.5%
Stock options or shares
2.3%
Parental leave
1.6%
Fitness or wellness benefit (ex. gym membership, nutritionist)
1.1%
Transportation benefit (ex. company-provided transportation, public transit allowance)
1.0%
Company-provided meals or snacks
0.8%
Childcare benefit
0.4%
5,010 responses; % of respondents who chose each option as their highest priority
Salary and/or bonuses
55.1%
Health insurance
13.7%
Computer/office equipment allowance
7.3%
Conference or education budget
6.3%
Parental leave
4.2%
Company-provided meals or snacks
2.4%
Childcare benefit
2.3%
Transportation benefit (ex. company-provided transportation, public transit allowance)
2.3%
Stock options or shares
2.2%
Retirement or pension savings matching
2.2%
Fitness or wellness benefit (ex. gym membership, nutritionist)
1.9%
4,410 responses; % of respondents who chose each option as their highest priority
Salary and/or bonuses
74.6%
Health insurance
9.7%
Computer/office equipment allowance
3.2%
Stock options or shares
2.4%
Conference or education budget
2.3%
Retirement or pension savings matching
2.2%
Parental leave
1.7%
Company-provided meals or snacks
1.2%
Transportation benefit (ex. company-provided transportation, public transit allowance)
1.1%
Fitness or wellness benefit (ex. gym membership, nutritionist)
0.8%
Childcare benefit
0.7%
2,516 responses; % of respondents who chose each option as their highest priority
The specifics of how developers are compensated with salary and benefits work differently across the world, so developer responses vary by geography. Health insurance is prioritized in countries without a national healthcare system (like the United States), and computer equipment allowances are unusually important to developers in India and the UK.
Standing desks are not confined to trendy Silicon Valley offices; over half of our respondents say they use one, almost the same proportion who use a device like an ergonomic keyboard or mouse.
We asked our respondents to imagine they had a new coworker with four years of relevant experience joining their team, and then to estimate how long that person would take to become fully productive and contribute at a typical level. About three-fourths of developers thought that the hypothetical new coworker would be fully up to speed within three months or less. Looking to reduce tribal knowledge, onboard faster, and speed up development? Learn more about Stack Overflow Enterprise.
Engineering managers, DevOps specialists, and data scientists command the highest salaries. 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 India, for example, data scientists are among the top earners, while in European countries, back-end developers and developers working with embedded devices are among the top earners.
Naturally, developers with more years of experience are paid more. However, we also see that some type of coding work is paid more highly at the same level of experience. Data scientists and DevOps specialists are high earners for their level of experience.
Developers using languages that appear above the line in this chart, such as Go, Clojure, and F#, are being paid more even given how much experience they have. Developers using languages below the line, like PHP and Visual Basic 6, 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.
I have never visited Stack Overflow (before today)
0.5%
Less than once per month or monthly
2.0%
A few times per month or weekly
11.5%
A few times per week
22.4%
Daily or almost daily
32.5%
Multiple times per day
31.1%
76,811 responses
Developers visit Stack Overflow. A lot. Over 85% of respondents visit Stack Overflow at least a few times per week, with over half visiting every day. Our respondents also feel very positively about Stack Overflow. We asked a traditional net promoter score question for Stack Overflow as a whole and our NPS is 75, a world class score according to benchmarks.
I have never participated in Q&A on Stack Overflow
17.3%
Less than once per month or monthly
39.2%
A few times per month or weekly
22.6%
A few times per week
11.7%
Daily or almost daily
5.9%
Multiple times per day
3.2%
65,740 responses
Some developers come to Stack Overflow only to find answers to their questions, while others participate in the community by asking, answering, voting for, or commenting on questions. Over 40% of survey respondents participate on Stack Overflow a few times per month or more often. Interested in a place for you and your technical team to ask and answer questions in a secure environment? Learn more about Stack Overflow for Teams.
I enjoy seeing online updates from companies that I like
3.4
Online advertising can be valuable when it is relevant to me
3.3
I fundamentally dislike the concept of advertising
3.2
74,710 responses; agreement on a 1-5 scale, from strongly disagree to strongly agree
Like many websites, Stack Overflow has ads, and we want to know how to make our ads more relevant for our users. Over half of our respondents agreed or strongly agreed that they enjoy seeing online updates from companies they like and that online advertising can be valuable when it is relevant. About 40% of developers say they fundamentally dislike the concept of advertising.
The advertisement offers something of value, like a free trial
5.1%
60,479 responses; % of respondents who chose each option as their highest priority
The advertisement offers something of value, like a free trial
32.5%
The advertisement avoids fluffy or vague language
25.2%
The advertisement is from a company that I like
16.7%
The advertisement seems trustworthy
8.4%
The advertisement is honest about its goals
7.8%
The advertisement is relevant to me
5.1%
The advertisement provides useful information
4.3%
60,478 responses; % of respondents who chose each option as their lowest priority
In general, developers' top priority in assessing an advertisement is whether it's relevant to them, followed by whether it provides useful information and is trustworthy. Developers are not swayed by free offers in advertisements.
Mean of 64,804 responses; percent who consider themselves part of the Stack Overflow community; gender is select all that apply
Most of the respondents to our survey consider themselves part of our community, but this varies for different groups of people. For example, we find that respondents who identify as male see themselves as part of the community at higher rates than those with other gender identities. The tech community as a whole, and we at Stack Overflow in particular, still have work to do in this area.
70,687 responses; interest on a 1-5 scale, from not at all interested to extremely interested
As we work to make our community a better place for developers to learn, share, and grow their careers, we asked our survey respondents about their interest in possible new tools. An employer review system and help with career growth garnered the most interest.
5,209 responses; % of respondents who used each word
question
36.7%
answer
19.9%
nothing
9.9%
user
9.1%
people
8.5%
new
8.4%
make
7.0%
like
6.5%
better
6.3%
comment
5.7%
way
5.6%
can
5.3%
reputation
4.8%
get
4.7%
community
4.7%
good
4.6%
ask
4.2%
less
4.2%
vote
4.2%
job
4.0%
stack
4.0%
3,453 responses; % of respondents who used each word
In these free response questions, we asked developers first to describe the Stack Overflow community in general, and then what they would change about it. Developers were largely positive about Stack Overflow, focusing on the helpful nature of the community, and specifically had ideas about how questions, answers, comments, and reputation are handled. The treatment of new users and new people in our community were mentioned often as well.
This year, our survey included questions about what developers think the best, worst, most annoying, and most exciting things about Stack Overflow are. (These questions were randomized so that each respondent got one positive and one negative version.) In the positive versions of these questions, respondents were more likely to talk about the wealth of sharing and collaboration on our site. In the negative versions, respondents reflected on harsh interactions they've witnessed, downvotes, and handling of duplicate questions.
Looking for a place for you and your technical team to ask and answer questions in a secure environment? Learn more about Stack Overflow for Teams. Want an on-premise or private cloud version? Check out Stack Overflow Enterprise.
This report is based on a survey of 101,592 software developers from 183 countries around the world. This number of responses are what we consider βqualifiedβ for analytical purposes based on completion and time spent on the survey; another approximately 20,000 responses were started but not included in the analysis because respondents did not answer enough questions. Of the qualified responses, 67,441 (66.4%) completed the entire survey.
Qualified Responses Worldwide
Europe
39,001
North America
25,016
Asia
24,700
South America
4,162
Africa
2,869
Australia/Oceania
2,591
Other (country not listed)
84
The survey was fielded from January 8 to January 28.
The median time spent on the survey for qualified responses was 25.8 minutes, and the median time for those who finished the entire survey was 29.4 minutes.
Respondents were recruited primarily through channels owned by Stack Overflow. The top 5 sources of respondents were banner ads, email lists, house ads, blog posts, and Twitter. Since respondents were recruited in this way, highly engaged users on Stack Overflow were more likely to notice the links for the survey and click to begin it. Respondents who finished the survey were awarded a βCensusβ badge as a motivation to complete the survey.
We treated responses as qualified for analysis if the user spent a certain amount of time relative to how far they got into the survey. Most survey responses that spent less than 5 minutes were excluded from the final sample.
We asked respondents about their salary. First, we asked what currency each respondent typically used. Then we asked that respondent what their salary was in that currency, and whether that salary was weekly, monthly, or yearly.
For a short time on the first day, there was a bug that left out the last part of the question (weekly vs. monthly vs. yearly); those salary responses are not included here.
We converted salaries from user currencies to USD using the exchange rate on 2018-01-18, and also converted to annual salaries assuming 12 working months and 50 working weeks.
This question, like most on the survey, was optional. There were 58,650 respondents (57.7% of qualified respondents) who gave us salary data.
The top approximately 1% of salaries inside and outside of the US were trimmed and replaced with threshold values. The threshold values for inside and outside the US were different.
Many questions were only shown to respondents based on their previous answers. For example, questions about jobs and work were only shown to those who said they were working in a job.
The questions were organized into several blocks of questions, which were randomized in order. Also, the answers to most questions were randomized in order.
Due to an error, Oracle and SQLite were excluded from the question about databases for the first day of the survey. We carefully examined whether the results for the other databases changed from the first day compared to the rest of the survey fielding period and they did not. The results shown here for database use and most loved/dreaded/wanted databases only use responses from after Oracle and SQLite were added to the possible answers.
On 2018-3-19, we made some edits to this site based on community feedback to address two issues: a) how we handled the responses of transgender developers, to avoid implying that being a transgender man or woman is a separate gender and b) a higher level of clarity throughout the discussion about our survey sample and its limitations.