Every year we ask our users to tell us a little about themselves. This year we asked our users to tell us a lot.
For 2 weeks in February 2015, we ran a 45 question survey. We asked where you live, what programming languages & frameworks you use, how much money you make, how much coffee you drink, and whether you prefer tabs or spaces when writing code. More than 26,000 of you responded, making this year’s survey quite possibly the most authoritative developer survey ever conducted.
A few findings:
- Only 48% of you have a degree in computer science.
- You spend, on average, more than 7 hours every week coding on the side.
- You use JavaScript. You love Swift. And you want to code in Node.
- You overwhelmingly like your jobs (especially if you live in Iran).
- Your Stack Overflow rep is a strong indicator of how much money you make.
- And you prefer tabs to spaces at a ratio of 4:3.
This is just a start. Check out the full results.
Massive thanks to everyone who shared information about themselves. There’s a huge benefit in being able to see who your peers are and what they’re interested in, and we hope this survey is as interesting to all of you as it is to us.
For those of you who want to dive into the data yourselves, we’ll be releasing a full dump of all line-by-line responses within the next couple weeks.
And if you took the survey and counted M&Ms, or if you’re just curious about how well devs can estimate packing density (spoiler: not very well), see how many M&Ms were in the jar.
Have ideas for what we should ask next year? Let us know in the comments.
52 Comments
People prefer tabs to spaces? Where are these heathens? Did you use the data to ban them?
> “Our internal stats suggest the imbalance isn’t quite as severe as the survey results would make it seem, but there’s no doubt everyone who codes needs to be more proactive welcoming women into the field.”
[rant]This always drives me crazy. Are there probably some sexist idiots out there hiring (or not hiring) people? Yes, there probably are, there are some sexist idiots anywhere. But I really feel like the biggest “problem” is *not* coders “needing to be more proactive welcoming women”. I really don’t understand “feminists” who feel that the world won’t be perfect until perfect gender equity in all jobs (or presumably really just the *good* ones – you don’t hear anyone saying we need more female garbagemen or farm grunt laborers, except as reductio ad absurdum) is reached.
Now, is part of the issue cultural? Yes, you do hear plenty of stories of parents, teachers, etc., subtly (or sometimes not so subtly) encouraging boys towards science or engineering hobbies, while discouraging girls, and that is all kinds of dumb. Again, women (and girls) should totally be allowed to do what they enjoy. But if they don’t enjoy programming, why should we “proactively” seek them out and try to brainwash them into thinking they do? That’s the part that’s really never made sense to me. I’m not going to “proactively” welcome anyone. I will happily welcome anyone of any gender, but they have to decide they want to be there, first.
[/rant]
Totally agree with some of your points, nemenem. As a Director of IT for major multi-national Fortune 100 companies, my experience has been that far too much effort is placed on this, and too little on finding/mentoring/promoting based on success toward business objectives.
Having said that, I have also found that diversity helps us to see things from different angles, and that often gives an advantage over the competition. So to some extent, diversity for diversity’s sake is good for a company, but only when done for the right reasons.
For me, the focus is to seek some measure of diversification of viewpoints and experience, not necessarily of gender, race, disability, sexual orientation, hair color, etc., although it often coincidentally falls on those lines.
My preference is to hire people who are highly qualified for important positions, rather than to “welcome” based on factors outside of business objectives. But then, I am paid directly on meeting those objectives, so my views may be different than someone who is more tactical/less strategic.
We’ve come a long way with women’s rights. I would never want to see us loose ground as a society. We probably had to do what we did in order to get to where we are. I just hope we can stay focused on the right things going forward.
I’d love to see some of this data combined. They mentioned some jobs in the Education section but I’d love to see the full break down of education for each job title, age, country, etc.
@neminem: This survey (which is really great overall) didn’t ask the questions needed to tease out why so few women currently work as programmers. There are lots of theories, but I’m worried that women are attracted to the work, but not the career. In my previous job working for a government agency, I was lucky to work with many amazing female programmers. But now that I work with a smallish startup (I’m a community manager at Stack Exchange) I hear stories about how the “startup culture” turns women off from working at companies like mine. We have several outstanding developers who are women, but we don’t have as much diversity as we’d like.
If women don’t want to be programmers because they would prefer to do something else, that’s fine by me. But I worry that women don’t want to work in developer jobs because they don’t want to feel pressured to be “one of the guys”. Even worse, the survey might be showing that women try to work as programmers but are driven away after a couple of years by programming culture.
I guess my point is that the survey is very sobering for people like me who have known many exceptional female coders. We need more data to know what’s actually happening here.
In the “most loved, dreaded, wanted” part of the survey (http://stackoverflow.com/research/developer-survey-2015#tech-super) in the most wanted tag there seems to be a visual bug.
The android and javascript bars go all the way to the right but their value should be 17.7% and 15.4% which is pretty close to the others.
Either the data displayed is wrong and their percentage is way higher or the bars are messed up.
@TZHX: Don’t worry, because “Stack Overflow reputation correlates with a preference for spaces, too: users who have 10,000 rep or more prefer spaces to tabs at a ratio of 3 to 1″ (excerpt from the study)
Increasing rep won’t increase salary. Higher salary is a reflection of higher skills, and higher skills are required to answer more questions. Increase your skills to get a higher salary. Then maybe you’ll be able to answer more questions.
Respondents program on the side. Surprise! I have to bet that most responses are provided on the side, not during company time, so it’s not surprising that it is in the middle of a little side programming. Responses are provided out of interest, and that should strongly correlate to side programming. That could be a good question for the next survey – do you ask/answer on company time? I bet ask will be much higher than answer.
@Sinc No, higher salary is a reflection of higher perceived value, not higher skills. I’ve seen lots of people with huge salaries with lower skill levels than those making less.
I don’t prefer tabs to spaces.
“Mac appears to have overtaken the Linuxes among active Stack Overflow devs.”
Linux goes from 19.9% in 2013 to 20.9% in 2014 to 20.5% in 2015.
Mac goes from 18.7% in 2013 to 20.3% in 2014 to 21.5% in 2015.
Doesn’t really seem like overtaking just yet.
@Jon Ericson: I think your worries are well founded. While plenty of male developers *do* genuinely welcome female developers, there can very much be a schism. In some cases you have to fit in and be “one of the lads” in order to have a good relationship with teammates – and that works well for some women, but is really unfair on others. I suspect it doesn’t work out so well for some men who don’t have a personality that fits with the prevailing group as well, but I do think it impacts women more.
Imagine starting a new job, and finding some or all of your new teammates seem uneasy around you, don’t talk much if you’re present, act differently when you’re at your desk to when you’re across the room, treat you differently from everyone else on the team, or possibly even seem like they’re outright avoiding you or being unfriendly. Maybe one of the people doing some of these things is your direct superior. No one’s being unpleasant or openly hostile to you, but something is off. And it’s like that all the time.
That’s not an uncommon situation for female developers. I suspect it’s also not an uncommon situation for developers with other backgrounds which are different to the majority, but I’ll stay focused on the topic at hand.
I’ve experienced some of this, but nowhere nearly badly as some people I know. I didn’t really get what was going on for a long time, until a conversation at my work where a few colleagues discussed whether they or their partners ever have non-mutual friends who are not their gender. The answer was overwhelmingly no – they didn’t have any close opposite-gender friends, and they wouldn’t expect to, and they wouldn’t expect their partners to. I also had an enlightening experience when a colleague voiced feeling uncomfortable swearing around me – really glad he said something! I’m sure that most of the time those things aren’t voiced, and therefore aren’t dealt with.
So I suspect in a lot of cases that both men and women just aren’t very used to being relaxed around people who aren’t the same gender, so they end up being a bit awkward, or reverting to some sort of script for how they deal with various opposite-gender people in their lives. Other than the weird discomfort reaction, there’s also the situation where the only woman on the team gets treated like everyone’s little sister, or has a manager who acts like he’s her father. I’ve heard similar complaints from men who work in female dominated environments – they’ve experienced hostility, or found they were working with a number of older women who tended to mother them.
The really silly thing about it all is that if both sides just relaxed and acted like normal, they’d realise there’s not much difference. People are people. Geeky men and women have a lot of common interests! And in many cases I bet within an all-male or all-female team, at least some of the team will be feigning some shared interests in an attempt to fit in better, anyway.
So that’s where I *do* agree with the assessment that coders need to put some effort in: if everyone took an honest look at their behaviour and social attitudes, and was willing to admit when they might not be helping the issue and then have a go at acting a tiny bit differently, it’d help. If you do that and realise you have some preconceptions about the opposite gender, then consciously try to let go of them, or at least try to act like you don’t have those preconceptions – in time you won’t anymore, and then you won’t need to keep acting.
So it’s not a case of “male coders are doing something wrong and need to change” – which I’m guessing is the feeling people tend to get when they read a statement like the one made. It’s more “people have some ingrained social mores and need to be conscious of them, and willing to adjust them if necessary.” And that goes for women as well as men. The issue of course is that with so many more men in the industry already, the brunt of changing is likely to be born more by men. But it’s a small, subtle, and very positive change that won’t cost anyone anything. And in the meantime, the costs of this situation are coming down disproportionately on women, purely because they’re by far the minority.
And we could all certainly make sure we’re supportive if people voice an interest in getting into development. I know women who have done so, and had a less-than-great reaction from people around them.
Why does it matter? Diversity of thinking is good, and especially important in a field where thinking is key to our roles. And because of the way our society works people will tend to have varied perspectives, attitudes, ideas and so on if they come from different backgrounds. Hiring women, or people from other countries, or people with different religious backgrounds, or people who have lived in different places can be a shortcut to getting a dynamic team. And as people adjust to the people around them being different, they might be less prone to demanding conformity around them the rest of the time – I bet a lot of men on male-only development teams are actually feigning some interests to fit in, or leave because they don’t feel like they do fit in. It’s good for people to be accepting of other people’s individuality in jobs where creativity is important, creative people are often a bit odd.
And for anyone not buying the diversity thing: if you presume the best potential developers are evenly distributed between men and women and women aren’t making it into the development workforce, then we’re all missing out on some great developers. And I would suggest that the women who care enough to stick around anyway are likely to be pretty passionate about their jobs and as a result may well be very good at them. If you tend not to hire them or your team tends to make them feel unwelcome resulting in them not staying long, you’re possibly losing out on serious talent.
I don’t have data – much as I love the stuff – to back this up. I don’t know if there *is* any data that would back this up. I have my experiences, and discussions with plenty of women working in IT, and also discussions with men and women in other single-gender-dominated work situations.
I also realise it doesn’t explain how the disparity happened in the first place. I’ve seen data that suggests it wasn’t always this way. Perhaps more overt sexism in decades past resulted in women not being accepted into universities or jobs, or choosing to leave jobs? Or perhaps work situations that aren’t family-friendly are a problem, and were probably more of a problem in the past? It’s probably worth understanding in case there are serious roadblocks which will mean that no amount of effort on our part will change things very much. But even if there are, doing what we can certainly won’t hurt anything, especially when it’s so little effort.
For anyone who’s read all that, thanks for caring enough to carry on. ;)
On another topic entirely, I’m surprised BI and data warehousing scored so low on job satisfaction! I wonder if it’s a sampling issue from such a small sample of BI professionals, or whether there’s a genuine trend there.
This is a wealth of fascinating data. As a suggestion, I would like to see the addition of keyboard layouts (QWERTY, Dvorak, Colemak, Other) and keyboard types.
Wow – the average salary (including Bonus) in the U.S ~$89,000.00. I make substantially less than that and am a (C#) Full Stack developer, and I partook in this survey. Maybe the junior devs didn’t participate as much in this survey. Wish that chart was done by years developing or something more meaningful than just a general “Average”.
I am a female developer with some education and current work experience. I forget my exact answer to the TABS vs SPACES question, but I did not really understand it. I am new to active development. I use the TAB key, but have it set in Vim to a soft tab of 2 spaces (for Ruby). I apologize for any ignorance on the matter, but just my two cents.
Also, I think more women use SO, but either do not have an account or simply did not see the survey. During classes, for the few women students there were, they ALL used SO at some point.
I cannot wait to see the new questions (and results) for the survey next year!
I very wise developer once told me – you get paid what you negotiate, not what you’re worth.
He was a platform and mobile game developer at Disney and then EA. 20+ years experience.
Not sure why there is so much hate against Tabs…
Tabs work better for *me* because it means everyone in my team can adjust their tabs sizes to their own preference (any half decent editor has a setting for this)… Using spaces means that you’re forcing a 4-tab or 2-tab or whatever spacing on your colleagues…
Once your editors are setup, you won’t even notice the difference as long as everyone uses tabs to *indent*. If you are doing positioning, you should use tabs to indent then spaces to position text. Some editors are smart enough to do this automatically; otherwise, yes, it’s a hassle to spam the spacebar to position your code… In my case, we don’t position code, there isn’t a need to if you control the # of arguments for a method/function. Ideally there shouldn’t be more than 5 arguments (some will say even 5 is too many).
As for the apparent correlation of years of experience versus tabs/spaces, I do not agree that it is an indicator of either being better… Spaces being preferred over tabs for old school coders may just mean a habitual or fanatic preference. As mentioned above, editors have been more and more supportive of the choice between tabs and spaces, so it’s much less of an issue now.
Female:Male ratio… It *is* to be expected that the ratio is so low, it was only recently (past 5 or so years) when females were not actively dissuaded from many of the technical professions. It will take a generation or two for them to start catching up. I think a more interesting set of data would be the changes in female population over the past few years. I have faith that we will have more and more females as time passes :)
Years of experience. It’s great to see that there is a great surge of new developers, as shown in the 2-5 years range, and the <1 year and 1-2 years data show we still have a steady growth :)
Women experience: Just after I wrote above, here we have great news: More and more women are coding!!! yay!
Operating systems: Dammit! Windows (7 & 8) is gaining ground again! :P
Machine learning developers: Hahaha, I really don't think taking Machine Learning 101 at a free online course site makes me a machine learning developer for real.
Compensation by technology: Poor PHP… Just want to let everyone know that a *decent* PHP developer gets paid much more than an amateur… but there are just so many amateurs around :/
All interesting stuff :)
Not that the gender discussion or tabs vs. spaces are not my main concerns, but I just cannot get my head over the fact that the caffeine level of the average US developers did not make to the top 10 list. I guess it’s time to cut down my dependency on caffeine a bit! :)
I freely admit that I’m asking this partially for selfish reasons, but I’m also really curious — next year, in addition to desktop OS, could you also ask about target/deployment OS (and Linux distro)?
Any chance of having more granular data? Last year’s was available via Statwing, for example.
The one piece I’m curious about is how accounting for education and experience might change the trend in the remote vs. non-remote pay gap.
We do need more data. But my perspective on this is informed by the following experience. I am a professor in a humanities field, but I’m also a long-time programmer, and have recently become interested in using data mining and machine learning to analyze textual evidence at large scales. When a former student of mine asked to work with me last summer, I suggested to her a project along those lines. She initially seemed reluctant, but I won her over. Now, just six months later, she has taught herself Python and has been accepted to three different coding bootcamps. She’s already demonstrating enormous talent, and she is extremely enthusiastic about it. She tells me she’s tired of her humanities classes and doesn’t want to do anything other than program.
I’m fairly certain that she would not have pursued this avenue at all if I hadn’t nudged her.
I don’t know how many students there are who are like her, but if she’s at all representative, then yes, we really do need to be encouraging more women to try coding. My suspicion is that many women would enjoy coding, but have been told (in various subtle and not-so-subtle ways) that they won’t enjoy it. And since learning to code requires an initial investment (which itself is rarely very enjoyable) they conclude there’s no point in trying.
I think the kinds of social inequities we face today aren’t caused by overt discrimination much of the time. They’re caused by tiny local minima in which people get stuck. They need nudges to get out of those local minima. If we characterize those nudges as attempts to “brainwash” them into “thinking” that they like something they don’t really like, we’re perpetuating inequity by our inaction.
For me, both of these points are correct. No doubt in that, I spent more than 50 hours on coding and I love Javascript too..
- You spend, on average, more than 7 hours every week coding on the side.
- You use JavaScript. You love Swift. And you want to code in Node.
@isabelhm: That may be a cultural bias, too. American coffee doesn’t have that much, ehm, coffee in it; and if you attempt to catch up with us, [the Nordic world champion coffee drinkers](https://en.wikipedia.org/wiki/List_of_countries_by_coffee_consumption_per_capita), I suspect your peers will think you are weird.
mantap
[Quote]“there’s no doubt everyone who codes needs to be more proactive welcoming women into the field.”
‘No doubt’… according to what, ‘everyone’ according to what? Why isn’t the relatively low number down to reduced education or employment opportunities, the attitude of wider society, access to equal opportunities or IT etc and not ‘everyone who codes’. IMO coders are completely open minded about this? Those who you will ultimately work with aren’t necessarily solely, if sometimes at all, responsibility for securing the position in the first place. Also, ‘everyone’ is fairly condescending- how is SO now the moral guardian of equal opportunity? Im not sure how much the above statement furthers the cause it was [poorly] considered to.
I wonder when will it be possible by pressing tab to highlight a code section instead of space or additional ctrl+k.
“Your Stack Overflow rep is a strong indicator of how much money you make.”
John Skeet. Wow. Maybe HE’LL set up the next Mars Mission.
If the wording of “there’s no doubt everyone who codes needs to be more proactive welcoming women into the field” upsets you, I’d say you’re part of the problem.
This is a field in which there was gender equality and which produced plenty of female heroes. And then, in the mid-1980s, things changed dramatically: http://www.npr.org/blogs/money/2014/10/21/357629765/when-women-stopped-coding
Good artice thank you.
Nice Survey..
Cheers for young developers of India
@Jason, nice idea that “it will take a couple of generations” for the proportion of women to catch up, but that’s not borne out by the data – in fact if anything the opposite is true.
See the graph here: http://www.npr.org/blogs/money/2014/10/21/357629765/when-women-stopped-coding
Very interesting.
It would be a positive move to somehow introduce girls/women to the software industry.
@Bert, thank you. I am one of the older female respondents, and I was really hoping the percentage wouldn’t be THAT bad of an inequality. I could tell dozens of stories about how male programmers increase a female programmer’s sense of isolation.
I’m also one of the older female software engineers out there, I don’t remember doing the survey though! I was in grad school for computer science right when the curve turned downward. I had gotten into computers in high school because I was lucky enough to be exposed to it through a Gifted and Talented program in 8th grade (late 70s, so it wasn’t common to have access to computers). It does seem like there are less women going into it now, and that article posted above probably nails it. At this point, most of the women I knew as software developers are in management positions, and I chose not to go that route and go back to being a developer because it was more fun for me.
So I’m part of the problem because I don’t think that my being in the programming field *requires* that I go out and proactively find adult women in other careers, and tell them how awesome programming is and that they should change their careers? How is that in any way my business? That’s what I take offense to, because that’s what “proactive” means.
If I were a junior high, high school or even college teacher or counselor, then yes, proactively welcoming women into the field would definitely be part of my job. I had a girlfriend in college (who changed her major to cs), who admitted to hearing similar pressures against cs growing up, and that is legitimately terrible. I just take offense to being told that, as “someone who codes”, it should be part of my job as well, or I’m “part of the problem.” That’s all.
Now, startup culture is totally different from programming culture, and you’re *definitely* never going to achieve gender parity there, even if you did achieve it with software development generally. Startup culture isn’t even about programming, it’s about being willing to work at a high-stress job for months to years for little pay but the promise of high future reward. It’s your classic high risk/high reward job, which attracts a lot more guys than girls for mostly-non-culture-specific reasons (note: I’m a guy, a developer, and have no interest in ever working for a startup, for the same reason).
Could the “culture” especially at startups still be more welcoming (note: not “proactively” welcoming) to the occasional female who bucked the trend and did want to work in such an environment? Yes, it definitely could. There’s a difference between refusing to admit that people of different genders are, on average, different (sorry, that’s just fact), and admitting that, but being fully welcoming to those people who are unlike the average in some way.
Three people in North Korea responded? Awesome.
Notepad++ and Windows? Are you fucking kidding me? Please tell me this is a late April fools joke :/
@Ben McIntyre haha, I came here to write almost that exact same comment about John Skeet, but figured somebody had beat me to it :)
I’d love to see/analyze the raw data from this survey.
Especially for the 1.9% that “I hate my job”… what technologies did they say they work in? I realize that you can have a bad boss/environment/hours etc. but I have to guess that there must be some similarities between those that hate their job and what they do all day. e.g. for me personally, if I had to do COBOL all day I wouldn’t be happy (again, just me) but I’d be curious what the results are.
Is it possible to download somewhere the row data?
“everyone in my team can adjust their tabs sizes to their own preference (any half decent editor has a setting for this)”
@Jason – Yeah, I’d love for someone to explain how hitting the space bar 2 or 4 times instead of hitting tab once is better.
@KJ Price – I missed that. That’s awesome!
I was going to comment that it would have been interesting to see racial demographic info but, given how upset everyone’s getting at that one line about the gender info, I guess it’s better that they didn’t bother trying to ask. Does anyone know if previous surveys have asked for that?
THANK FOR SHARING
This is really a thought provoking survey. Thanks for going through all the trouble making this happen. I do have a question. Did you include in your survey if the developers have kids? Are they married or single?
With 2-5 hours/week of coding work allotted to personal projects or open source, it makes me wonder.
I guess year or two ago I was able to access data through excel also, is that possible this year and I just missed email with link to it?
@Vicky That data from the article is not a very good representation of women who code growing or diminishing in numbers.
Reasons:
- Back in 1984, people had significantly less access to computers, only academics and the elite had them. This meant that access to a computer was limited by your abilities, and at the level that you need to be to have access to computers, the gender gap is lesser (still there, but lesser…)
- the rise in the trend of women between 1970 and 1984 could be because of computers being more available. This seems contradictory to the point above, until you look at the ranks in academia, where the very top people are mostly male. ~1984 is probably when the access level to computers became lower than the artificial academic ceiling for women.
- a lot of developers gained interest in computers due to computer games, computer games only really started booming in the late 80s, guys play games more than girls (there’s a study on men preferring routine, and girls dislike repetitive tasks: oem.bmj.com/content/early/2011/04/11/oem.2010.064097.short?q=w_oem_ahead_tab and games are *definitely* repetitive)
- If we look at the numbers, both men and women developers grew in population; Men population just grew quicker. I believe it will start to even out now with women catching up.
Lastly, I would like to say that… There *NO NEED* to make everything exactly equal forcefully. The most important thing we need to do is to tell our kids that all options are open, and they can pick whichever one they want. Once there is interest, it will eventually balance itself out, however that may be.
“Did you include in your survey if the developers have kids? Are they married or single?”
@Andrew – While I don’t remember my exact answers to all of the questions, I’m pretty sure that wasn’t in the survey.
They did ask for age though and over 30% of the people surveyed are under 25 and 10% are over 40. So a good chunk of Stack Overflow are at an age where it’s likely they either don’t have kids or, if they do, their kids are at least in their teens.
It would be nice to be able to filter the results by rep. Similar to how the tabs vs spaces turned out, it was more interesting to see the correlation with rep (people with higher rep prefer spaces). I would love to be able to see that kind of correlation with other survey results.
Jo Douglass said: “if you presume the best potential developers are evenly distributed between men and women and women aren’t making it into the development workforce”
Not a good assumption. When actual research and numbers come into play, women and men tend to want different things on average. This documentary gets into how widespread it is, and how it doesn’t appear to be just a cultural thing: https://vimeo.com/19707588
@neminem Nobody is telling you to brainwash anybody. “Proactively welcome women into the field” entails making a conscious decision to behave in ways that won’t alienate women around you.
Hijacking conversations with long-winded rants about the discomfort you experience at the very mention of gender parity in software development is one of those alienating behaviors you should make an effort to avoid, if you don’t want to be labeled as part of the problem.
Good
Showing the good result.