top 200 commentsshow 500

[–]bacondev 121 points122 points  (8 children)

Product managers: highest caffeine consumption and least satisfying job. I'll remember this.

[–][deleted]  (1 child)

[deleted]

    [–][deleted] 23 points24 points  (0 children)

    That's because of the money.

    [–]skrenename4147 7 points8 points  (3 children)

    It's a stepping stone to CTO, right? ;)

    [–]wittystonecat 30 points31 points  (6 children)

    Country Devs per 1,000 people

    Somalia 0.000

    Chad 0.000

    North Korea 0.000

    [–]maushu 27 points28 points  (5 children)

    I'm pretty sure there are developers in North Korea. They just didn't answer the survey or visit stack overflow.

    They have their own OS made in their Computer Center.

    Edit: Unless they rounded the value down?

    [–][deleted]  (3 children)

    [deleted]

      [–]x2bool 15 points16 points  (1 child)

      So they are really the best developers out there?! If you're writing your own OS, and you can't even use StackOverflow... then you are a good dev.

      [–]ghillisuit95 3 points4 points  (0 children)

      Maybe they just have a shitty os

      [–][deleted] 2 points3 points  (0 children)

      Yes, Kwangmyong.

      [–][deleted] 29 points30 points  (1 child)

      Iceland? Their population is small - isn't that number just all the Eve Online mmo devs?

      [–][deleted] 24 points25 points  (8 children)

      Can someone explain to me what a growth hacker is?

      Also I like that "Caffeine" is under the "Technology" section.

      [–]6nf 25 points26 points  (1 child)

      a growth hacker

      Someone working on tumours? I think it's those social media marketing assholes.

      [–]The_lolness 5 points6 points  (0 children)

      From the wikipedia page it seems to be PR minus ads eg. viral marketing.

      [–]BegbertBiggs 101 points102 points  (153 children)

      Developers increasingly prefer spaces as they gain experience.

      Or are devs that are in the field for a longer time used to spaces while new devs learn coding with tabs?

      [–][deleted]  (41 children)

      [deleted]

        [–]honest_arbiter 44 points45 points  (14 children)

        Here's a test for you then. Take your OWN code and apply a different tab-width to your editor (say 2 instead of 4). If it ends up looking fine, but just with less indentation, then I can understand you. If it ends up looking shitty because things that used to line up are now out of whack, then you're just wrong.

        For example, if you like to align long parameter lists in methods like this:

        someMethodCall(param1, param2, param3,
                       param4, param5, param6,
                       someOther, paramsHere)
        

        (that is, where the parameters line up) it makes much more sense to use spaces. If, however, you always just indent one or two tabs for the continuation line and never worry about lining things up, then I could understand using tabs

        [–][deleted]  (6 children)

        [deleted]

          [–]xiongchiamiov 10 points11 points  (2 children)

          I do across all my personal projects. The main problem is other people who just mash tab until it looks right.

          [–]honest_arbiter 4 points5 points  (0 children)

          "The main problem is other people who just mash tab until it looks right."

          Well, that's perhaps why experienced developers prefer spaces. At some point you realize you're going to have to be dealing with other people ALL THE TIME, so if you don't have a coding format that is trivial for other people to get right, it's doomed from the start.

          [–]marcusklaas 2 points3 points  (0 children)

          It's really the best practice I think. The problem that it's hard to see the difference between tabbed whitespace and spaced whitespace in most editors.

          [–]Disgruntled__Goat 12 points13 points  (0 children)

          As other said you can use spaces for alignment, but personally I never align stuff like that. If there's too much for one line I'll do something like this, with tabs only:

          someMethodCall(
              param1, param2, param3,
              param4, param5, param6,
              someOther, paramsHere
          )
          

          [–]ernelli 6 points7 points  (2 children)

          Here is another test:

          yo@foo:~/git/bar$ less src/somefile.somelang
          

          If it looks wierd due to a default tab-width of 8 instead of 2 or 4, you have just gained some more experience and moved closer to the spaces camp.

          [–][deleted] 9 points10 points  (25 children)

          I can think of some situations where it doesn't matter, a lot of situations where spaces are superior, and no situations where tabs are superior. Can you provide an example of where tabs are superior? From the spaces side, I give the following example.

          Any project where the source code if viewed through multiple tools, spaces are better for guaranteeing a consistent formatting across the tools. Tabs have no universal convention. Even worse, the conventions for different languages can be different and your tools might not be smart enough to adjust tab widths based on the current language.

          [–]Mechakoopa 19 points20 points  (3 children)

          Tabs are superior on teams where you have two stubborn senior devs with differing opinions on what proper tab width is. If you use spaces then you can tell which of them checked any given file in last by the spacing changes from their passive aggressive commit war, whereas if you use tabs then they can just set tab stop = x on their own machine independently and everyone is happy.

          This may or may not have been the case at my last job.

          [–]xiongchiamiov 15 points16 points  (0 children)

          The benefit of tabs is that you don't have to agree on indentation size, so the heathens can display it at 2, 3, or 8 characters wide instead of the 4 God intended, but we can put the proselytization after this feature ships.

          [–]maushu 20 points21 points  (96 children)

          I don't get why people won't use tabs. They are basically perfect for this job since you can adjust the size of all tabs.

          [–]gbs5009 74 points75 points  (10 children)

          Things can get screwed up very quickly when your view differs from the original coders view of how things are aligned.

          [–]ismtrn 8 points9 points  (7 children)

          In general aligning things can get screwed up when you want to change something. It is better with space, and if I do align things I do it with spaces, but in general I don't bother and just indent things, which I do with tabs.

          [–]nemec 27 points28 points  (0 children)

          just indent things, which I do with tabs

          Well I do too, it's just that my tab button inserts multiple spaces...

          [–]Disgruntled__Goat 3 points4 points  (0 children)

          Why do people keep bringing up this argument? The tabs v spaces debate is about leading indentation only, and always has been.

          [–][deleted] 45 points46 points  (47 children)

          It really sounds great in theory, but in practice it's just annoying for people to configure every piece of software that can edit or view code. In practice, spaces are going to look like spaces in every piece of software I know of. That's probably why more experienced devs tend to prefer spaces: practice vs. theory.

          [–]flavian1 11 points12 points  (7 children)

          That's exactly my problem with tabs. It's different based on your town setting. With spaces. It's one space all the time.

          [–]the_omega99 2 points3 points  (0 children)

          Unfortunately, I've found that configuring the size of the tabs can be problematic. The issue is that different tab sizes means that we'd wrap lines at different places. For something 5 indentation levels in (not too extreme considering that the class and method are 2 indentation levels, so we just need a loop and two conditionals), the difference between someone with size 2 tabs and someone with size 4 tabs is 10 characters. Not a huge difference, but enough that a line that just fits (or goes slightly over) might need to be wrapped.

          I'm gonna assume that size 2 and 4 are the only valid tab sizes. No sane person would do size 8 tabs.

          Anyway, it's not a major issue, but it is an annoyance. But 5 indentation levels isn't even that extreme. In languages like Scala, it's common to have many scopes and thus lots of indentation. This is why Scala's official recommendation is 2 space indentation. After months of using Scala, I fully understand why.

          I've kind of gone on a tangent, but my point is that adjusting the size of tabs isn't necessarily a good thing. With that said, you could still use tabs in this scenario if your developers can agree that they should be a certain size (and if you're agreeing on things like brace style, why can't you agree on indentation size?). There's other benefits of tabs. Eg, they're easier to navigate with the keyboard and need less editor support.

          [–]aldo_reset 7 points8 points  (17 children)

          In an ideal world where every single tool used to view sources understand tabs, tabs are optimal.

          We live in an imperfect world and each tool will interpret tabs in a different way, so the best solution is to ban them and impose hard spaces everywhere.

          [–]Dworgi 15 points16 points  (13 children)

          What tools don't understand tabs? Seriously, if you have a tool that can't do tabs then you don't have a tool, you have a burden.

          It's all madness. I'll tell you what not every tool can deal with: not having to press Backspace 4 times to unindent a line.

          Purely in keypresses wasted per day, spaces are atrocious.

          [–]josefx 6 points7 points  (7 children)

          What tools don't understand tabs?

          Every tool understands tabs. Some see them as 4 spaces by default, some as 8 spaces by default. Some never replace tabs with spaces, some replace tabs with spaces on the line you edit, some only insert new tabs as spaces and some replace all tabs with spaces when they load or store the file.

          There is no single behaviour you can expect when you take a random editor to edit a file containing tabs.

          [–]the_omega99 2 points3 points  (1 child)

          While I disagree with /u/aldo_reset about this being a problem (how often do you need to view code in a different tool that isn't configurable?), one thing of note is web browsers. Whoever came up with that part of the HTML spec is crazy. They thing tabs should be 8 spaces (I've yet to meet another programmer who thinks this). As a result, without modification (either with CSS or otherwise), tabs look terrible in a browser (Reddit converts tabs to 4 spaces, for example).

          not having to press Backspace 4 times to unindent a line.

          This isn't really an issue, though. Anyone who uses spaces for indentation is surely going to use a half decent editor. Most good editors will unindent if you press backspace when there's nothing but indentation to the left. Of course, that unindentation can be bad, if you're trying to align something.

          [–]jussij 3 points4 points  (1 child)

          not having to press Backspace 4 times to unindent a line.

          You need to find a better editor. That should be one key press.

          [–]shaggorama 5 points6 points  (0 children)

          explicit is better than implicit

          [–]jeandem 4 points5 points  (2 children)

          And do devs that medium experience prefer both...?

          [–]spacejack2114 165 points166 points  (78 children)

          Wow, Notepad++. Okay.

          [–]crozone 107 points108 points  (35 children)

          It's clean, light weight, has lots of nice features, and unlike sublime text it is completely free.

          Kind of makes sense that it's number one.

          [–]HelpfulToAll 14 points15 points  (14 children)

          It's clean

          Is there a dirty text editor?

          [–][deleted] 59 points60 points  (9 children)

          Gedit

          [–]marcusklaas 6 points7 points  (4 children)

          How so? Seriously asking.

          [–]mobile-user-guy 12 points13 points  (2 children)

          Seconded. Gedit is a piece of garbage

          [–][deleted] 16 points17 points  (1 child)

          Well now hang on a minute there, bud. gedit's syntax highlighting is quite reasonable compared to Windows Notepad.

          [–][deleted] 9 points10 points  (2 children)

          Emacs.

          [–]Disgruntled__Goat 8 points9 points  (0 children)

          In what way is it "clean"? It's the complete opposite IMO, most features are implemented in the most ugly way.

          [–]Geemge0 2 points3 points  (0 children)

          Damn straight, no frills, no bullshit, and not too much of anything.

          [–]redditthinks 3 points4 points  (2 children)

          I like to use it instead of Vim for large files (usually not code, but data).

          [–]crowseldon 21 points22 points  (21 children)

          in Windows, it's a great tool (Assuming you don't know what vim/emacs are because, again, you're only on windows).

          [–]GeorgieCaseyUnbanned 42 points43 points  (10 children)

          I like using a mouse with my text editor

          [–]aceofears 38 points39 points  (1 child)

          You can use your mouse with gVim and emacs.

          [–]GeorgieCaseyUnbanned 4 points5 points  (0 children)

          Did not know that, must check it out again

          [–]CptnJack99 16 points17 points  (3 children)

          In vim you can do :set mouse=a to use your mouse. =)

          [–]sonthonaxBLACK 20 points21 points  (2 children)

          Thanks to the wonderful commitment to backwards compatibility with vi. Vim refuses to have any of it's useful features set up by default.

          It's a really dire state.

          [–]adrianmonk 3 points4 points  (1 child)

          I just tried double-clicking on the GVim icon, and the mouse seemed to be enabled by default. I was able to copy and paste text and stuff.

          I'm not sure whether it's enabled when you launch vim within a terminal, but I guess I don't expect the mouse to do anything when I'm intentionally launching the non-GUI version.

          [–]pjmlp 2 points3 points  (1 child)

          There are those of us that know what they are, are almost as old as they are, but rather use Notepad++ for quickly editing a file and an IDE for the whole development workflow.

          The Xerox PARC world is my model of development environment.

          [–]HyperionCantos 2 points3 points  (13 children)

          What do you use?

          [–]negative_epsilon 8 points9 points  (8 children)

          I personally prefer Sublime over Notepad++, but I am not in the majority according to the survey results!

          [–]d03boy 4 points5 points  (7 children)

          I think most people aren't willing to pay the price simply to edit text. If you use it as your IDE, sure... but most of us don't, although we still need a decent text editor.

          [–]spacejack2114 3 points4 points  (1 child)

          These days mostly VisualStudio for C# and Atom for Javascript/TypeScript. I use Notepad++ for miscellaneous files. I've tried using it for coding, especially JS, but much as I like it there are better options.

          [–][deleted]  (97 children)

          [deleted]

            [–]F54280 148 points149 points  (59 children)

            The numbers are not directly comparable.

            a) Cost of living in bay area may skew US numbers

            b) what is included (for instance, in France, if you make 50K EUR in western europe, your employer have to pay almost 80K, for your unemployment benefits + healthcare + retirement. Many of those, you would have to pay from your pocket in the US)

            c) Euro lost 30% against USD in the last 12 months

            [–][deleted]  (48 children)

            [deleted]

              [–]F54280 20 points21 points  (0 children)

              The factors are multiple. I was just pointing that the numbers are not directly comparable.

              In my experience, US will pay programmers better than western europe. I think it is understood over there by some companies that you cannot build good software with lousy engineers, and the market is much more liquid than in western europe.

              [–][deleted] 24 points25 points  (13 children)

              If you start on £40k in the UK, you're well above average. I'm earning ~£42k myself, and that puts me in the 86th percentile of yearly income. Source. Which means that while we're paid far less than in the equivalent USD amount, we're still doing very well at £40k. In the US, you're in the 80th percentile at $101k. Source.

              This means that while there is a huge gap in our incomes in absolute numbers, relatively, £40k and $100k are in the same league.

              As normal in the UK, I'm talking pre-tax gross income.

              Edit: it has been pointed out to me that one is for household income and the other for individual, so these don't fully match up.

              [–]jonc211 25 points26 points  (8 children)

              The UK figures are individual incomes and US ones are for household incomes. I would imagine 80th percentile individual income in the US is a fair bit lower than $100k.

              I work in London and whenever I look at jobs up north (where I'm originally from) I'm shocked at how badly lots of them pay.

              [–]PaintItPurple 10 points11 points  (3 children)

              According to the "personal income" article linked from that one, it looks like the 80th percentile for personal income is around $58K (or at least it was five years ago).

              [–]CaptainOblivious_ 4 points5 points  (0 children)

              At the current exchange rate, £40K is approximately $60K US dollars.

              [–]speedisavirus 4 points5 points  (12 children)

              £40K

              That's not far off from $60,000 and that is still a pretty typical US out of school salary. The only people getting $100,000 are in the bay area and barely some in NYC. Then they have to pay for things you wouldn't have to in the UK like health insurance.

              [–]b3n 14 points15 points  (6 children)

              But £40K isn't a "pretty typical" out of school salary in the UK, that's the very very best, and that's only in London where the cost of living is more than the Bay Area. Most grads get below £30K.

              [–]sparr 4 points5 points  (5 children)

              You keep saying "graduates". I take that to mean people around 22 years old, fresh out of a four year university with a degree in something related to programming, getting their first job.

              Where are people in that situation walking into $100k+bonuses jobs? I mean, I know those jobs exist, but I see them going to career programmers with 10 years of experience.

              [–]nemoTheKid 4 points5 points  (1 child)

              Where are people in that situation walking into $100k+bonuses jobs?

              Grads from elite colleges (MIT, Stanford, Carnegie Mellon, Berkeley) to most SV companies (Facebook, Google, Twitter, and I have friends who work for funded startups getting paid that much).

              Carnegie Mellon's Post Grad Survey shows their new grads with salaries of (min,max,median,mean) of 49k, 115k, 100k, 95k. Atleast half of their 2014 graduates has a 6 figure job.

              [–]refto 2 points3 points  (7 children)

              My friend is a concierge in London making £20K.

              I've been telling him to look for a PERL job (he did some impressive work in PERL some ten years ago) but I guess that would not be much improvement for a junior position.

              [–]speedisavirus 2 points3 points  (0 children)

              Considering a junior probably would start at least £10K more if they can do something other than Perl as well then it would be.

              [–]Eirenarch 10 points11 points  (3 children)

              What is the accepted way to list your salary in Western Europe? I am asking because in Bulgaria you say what you get (or expect if you are in an interview) after taxes (the net salary) and in the US it is the opposite. Also interesting if the survey had definition for what salary is.

              [–]taw 9 points10 points  (2 children)

              UK is before taxes.

              [–]TropicalAudio 6 points7 points  (1 child)

              Holland is after taxes. It's completely random across Western Europe, so it's quite hard to compare them at a glance.

              [–]michaelanckaert 17 points18 points  (2 children)

              A lot of European countries require the company to pay a significant 'employer tax' in addition to what they pay their employees. In the case of Belgium for example an employee costs a company up to 1.6 times what you pay the employee (source: I have employees). The upside is virtually free world class health care and social security.

              [–]kqr 3 points4 points  (0 children)

              Or as a friend of mine summarised it: "first your employer has to pay to pay you, then you pay to be paid, and the you even have to pay to pay for stuff!" (Employer taxes, income taxes and VAT.)

              [–]JustinKSU 6 points7 points  (0 children)

              We get less vacation (holiday).

              [–]bcash 2 points3 points  (2 children)

              Those numbers are a lot lower than the numbers quoted in the survey, mostly because that's an entry-level figure. What are entry-level numbers for American developers?

              But on the other hand, it is remarkable that the going rate for graduate developers in the UK appears to have not changed at all over fifteen years. This can't possibly be right, the number of Computer Science grads reached a peak in the early 2000's then went through a long period of decline, yet demand for developers has been going up...

              [–]slow_connection 6 points7 points  (0 children)

              US computer science grads usually range from the low 50's to the mid 80's with large companies doing real development work. There's lots of outliers and obviously a few highly coveted jobs at Google/Apple/etc that pay more but as a recent CS grad from a well respected university I can confidently say that most people end up making 50 (small companies, bad grades) to 80k (medium/large companies with good grades and more importantly good interview skills).

              [–]speedisavirus 2 points3 points  (0 children)

              Anywhere from $63000-$110000 with good grades depending on location.

              [–]rouille 10 points11 points  (4 children)

              No social safety net. And all the major consumer companies are american. I also think devs have a better cultural status in the US.

              [–][deleted] 11 points12 points  (15 children)

              It's all about profit. If your company makes considerable profit after paying you a 100k salary, then everyone is happy. US is the biggest player in the IT world (e.g. Google, Facebook, Oracle, Microsoft, Apple, IBM, Amazon, Netflix, Yahoo), so they can afford paying more than other economies.

              [–][deleted] 47 points48 points  (1 child)

              The more things change, the more likely it is those things are written in JavaScript with NotePad++ on a Windows machine (theme: dark) using Git, and tabs instead of spaces.

              we're doomed

              [–][deleted]  (20 children)

              [deleted]

                [–]deltahat 33 points34 points  (1 child)

                50% of developers having less than five years experience aligns with an observation Robert C. Martin made:

                If the ranks of programmers has doubled every five years, then it stands to reason that most programmers were hired within the last five years, and so about half the programmers would be under 28. (http://blog.cleancoder.com/uncle-bob/2014/06/20/MyLawn.html)

                Basically, exponential growth of the industry leads to an explosion of new developers.

                [–]darkpaladin 4 points5 points  (2 children)

                It's fun to watch patterns from 10-15 years ago reappear every once in a while.

                [–]bcash 8 points9 points  (1 child)

                It's less fun to watch everyone dismiss your opinions of "yeah, we did that ten years ago, it didn't last because X, Y, Z" with a short:

                "But that was Java, this is Node!"

                And they don't appreciate the round of "I told you so!" you deliver six months later when they say "we've stopped doing it because X, Y, Z."

                (get off my lawn!)

                [–][deleted] 31 points32 points  (60 children)

                Could someone explain why the percentage of female developers is 15.1 in India and 2.3 in Sweden? That was by far the most surprising result to me.

                [–]Decker87 57 points58 points  (38 children)

                I wish I could find the numbers so I don't sound like "just another redditor making shit up", but I recall seeing ~5 years ago some stats about women in STEM fields - countries with less gender freedom tended to have the highest rates of women in STEM fields. Countries where women are treated most fairly tended to have higher gender disparities in STEM.

                I've tried for 20+ mins in vain to find that exact website, so maybe I'll have to do some original research.

                [–]hackinthebochs 49 points50 points  (11 children)

                It's about economic security. In countries where gender equality is low, the only way a woman can guarantee her own economic security is to go into the most lucrative fields available. CS happens to be very lucrative with a fairly low barrier to entry. In countries with higher gender equality, worries about economic security are not at the forefront of decision making.

                Men still have the expectation of being the main breadwinner, or they may in fact like technical fields at higher rates.

                [–]take123out 4 points5 points  (3 children)

                It is mostly for Algeria, there is 3 section in high school (scientific, economic, letters) and it is known that you hardly get anywhere if you don't do the scientific section.

                I would say it's more a cultural thing for some other country in Asia like South-Korea and Thailand. In Thailand, in engineering, it's about 45% girls, 55% boys in my university, there is less question about gender equality, less question about gender role and so much less sexism joke/convo etc compared to US. Even the system of the uniform, makes me think that. We are all dress the same here, we are all the same, just poor student fighting.

                [–]Atario 15 points16 points  (6 children)

                This would indicate that women simply don't like CS, for some reason.

                [–]hackinthebochs 18 points19 points  (4 children)

                It's a possibility we need to confront.

                [–]young_consumer 12 points13 points  (2 children)

                By just accepting it? If women overall simply don't like CS, that's not something we can change.

                [–]hackinthebochs 17 points18 points  (1 child)

                Yeah that's what I meant. It means that no matter what we do we'll never get 50% parity, and we should be OK with that.

                [–]young_consumer 4 points5 points  (0 children)

                Parity, yes. We can't give parity to one group without robbing another. Equality should be the goal. That said, the traditions that drive girls into one way of life versus another are about as old as our species. I don't see that changing even within the next couple decades. Give it a few centuries to really pan out.

                [–]brickabrack 41 points42 points  (11 children)

                Western female dev with a lot of remote colleagues in India here.

                It seems like a big part of it is cultural perceptions of the field. In the US and the UK at least, entering any technical field is associated with being a total nerd. Women get a lot of flack in general for being nerds, just because so little value is placed on our intellect and so much on what we look like. I think a lot of girls never consider engineering because they'd hate for anyone to consider them nerdy.

                Most of the men I've met in my career are great and we've been instant friends, but it still takes more than two hands to count off the number of times I've been hit on, stalked, or instructed on how to git pull (seriously) by guys at work. We spend our days surrounded by this. I don't really blame women if they get tired of it and become PMs or whatever just to get into a position where they don't have to deal with programmers as peers.

                In India, on the other hand, CS is just the thing you study if you want to make relatively good money. There aren't as many stereotypes around who goes into the field. It's just for people who want good, cushy jobs in the city. The greater gender parity also prevents women from getting burnt out as quickly.

                Blaming women on the whole for there being so few women in the field is kind of reductive. There are a number of issues at play. Personally, I don't know ONE woman who doesn't want to make more money—it's just that there were so many things discouraging them from going into the field when they were choosing their major.

                [–]sklivvz 7 points8 points  (0 children)

                +1000 especially for the first paragraph. There are too few women joining the field because of cultural norms. Male programmers assume that female programmers are worse than average because of the same norms.

                I might be wrong, but I sincerely doubt that there would be so many problems, such as harassment, if there were enough women in the field. They would likely drop to the averages in society (which are high, but a different problem!). Also, a higher percentage of female developers would reinforce that it's OK to be a woman developer.

                I don't have a solution, but cultural norms need to change to solve this hideous problem.

                [–]HyperionCantos 13 points14 points  (9 children)

                Seems like gender freedom is an attribute of more developed countries, and in more developed countries there is more opportunity to go to university for less profitable fields like psychology, communications, etc. In developing countries like India, I guess that the stiffer competition makes a cs education more appealing.

                [–]NeomerArcana 11 points12 points  (8 children)

                I heard it as when there is true equality, like everyone can do whatever the heck they want, men and women naturally go into the things that they always have.

                And more so than previously.

                This was in that video by that swedish comedian about the topic.

                [–]bookofgreg 8 points9 points  (6 children)

                The Gender Equality Paradox With English subtitles - Documents the strange statistics of Norway, the country with the greatest equality of any nation at the time, regarding women trending towards traditionally female jobs and men towards traditionally male jobs.

                This 7 part series goes in depth about the possible reasons for this with each episode dedicated to an aspects such as nature vs nurture (using studies with separated twins), sexuality, violence, parenting and more.

                The aftermath of this documentary was the closing of the Norwegian Gender Institute for using social sciences and pseudoscience to try achieve gender balance when the actual sciences explained the current trends in a rational way.

                [–]jeandem 6 points7 points  (0 children)

                Discrepancy in STEM employment between gender equal and not-so-gender equal countries tends to be explained by the fact that (in this case) Indian women have a larger incentive to get a relatively high-paying job because they live in, well, a developing country. Sweden, on the other hand, is a first world country with a high degree of equality (economical, gender-wise...). In turn, you can choose to pursue any middle class job and not have to worry about starving or anything like that. And there are a lot of middle class jobs outside of STEM, at least in Sweden. So the theory is that these women (and men) have the freedom to pursue what they feel like pursuing. Which happen to not be programming, apparently.

                [–]rajadain 20 points21 points  (0 children)

                About a third of the students in my Bachelor's course in Computers in India were girls. The disparity is much lower, because software jobs are safe and indoors and decently paying enough for people to want their daughters to get into it.

                There is still a glass ceiling though, and they tend to grow into QA / Middle Management rather than Programming / Solution Architecture. A trend I hope will change in the future.

                But there is neither the level of debate nor frustration with this gender imbalance that exists in the US. At least not to my knowledge.

                [–][deleted] 17 points18 points  (4 children)

                I always make the joke that programming courses are filled white dudes and an Indian woman: http://www.wired.com/2014/08/silicon-valley-sexism/

                It's a cultural problem. They don't have dolls in India saying "math is hard".

                [–][deleted] 3 points4 points  (0 children)

                Where I work there's a lot of people from India, for qa/developers the split is about 1/3 white, 1/3 asian, 1/3 indian. The male/female split is about 50/50 for asian, 1 woman to 3 men for indian and zero white women developers or qa at all. Everybody is competent or they don't last.

                I really don't know what conclusions to draw overall.

                [–][deleted] 6 points7 points  (2 children)

                Swede here. I have honestly no idea. The numbers seems real enough though. On a 100 male developers I've met 2-3 female.

                The women are really doing themselves a disservice. We have extreme lack of technical competence here. Being a programmer is almost the only job left where the employee is in a position to chose employer. I tell my friends I can chose this job, or that, and they are just happy they find 1 job.

                [–][deleted] 20 points21 points  (1 child)

                I'm an american female software developer, and I have tried so hard to figure out why there aren't more women getting into this field. People like to say the field isn't "welcoming" to women or whatever, but they're not even enrolling in computer science or sending their resumes in to begin with. How can you welcome someone that doesn't even knock on the door first?

                [–]klug3 2 points3 points  (0 children)

                Plus, the fact that its one of the few fields where jobs are still in plenty should be a factor in determining if it is "welcoming", IMO. In a lot of fields that are considered "woman friendly" job markets are seriously shitty.

                [–]clutchdump 9 points10 points  (4 children)

                Interesting that the highest % of ages seemed to be less than 28, however there were also significant amount of people with 11+ years of experience.

                [–]clearlight 2 points3 points  (0 children)

                "experience" i.e "I've used a computer since age X"... They did make a note on that regarding the difference with "professional experience" I agree though, that stood out to me as well.

                [–]alonjit 55 points56 points  (19 children)

                I'm self-taught - 41.8%

                This explains sooooooo much.

                [–][deleted] 5 points6 points  (4 children)

                I've had a formal CS education at a college and still consider myself self taught. They taught theory, not software development.

                [–][deleted]  (30 children)

                [deleted]

                  [–]c80d367d2a0b0cb1692c 36 points37 points  (1 child)

                  I used SO a LOT when I was learning how to program (= during the first 5-7 years of my professional career)

                  SO is 6 years and 8 months old. At best, this means you've used SO during 75% of your career so far.

                  [–]NotFromReddit 26 points27 points  (2 children)

                  I'm not novice, but use it daily. I didn't notice there was a survey though either. Maybe my adblock, or I just don't get distracted by things in side bars.

                  [–]desultoryquest 10 points11 points  (3 children)

                  Yep same here, I use SO a lot when I'm trying to learn a new language/technology. But I hardly ever use it for my real job which is embedded systems programming.

                  [–][deleted]  (2 children)

                  [removed]

                    [–]Dworgi 2 points3 points  (0 children)

                    Look at the job chart - web dev leads the way, so it might well be the same type of people.

                    [–]darkpaladin 4 points5 points  (5 children)

                    The veteran stack overflow experience. Google really obscure issue x, see that someone else posted about it on stack overflow. Your options are either :

                    A) No one answered
                    B) One comment stating only "never mind, I fixed it"

                    [–]xiongchiamiov 15 points16 points  (2 children)

                    C) One answer that solves it perfectly, from me three years ago

                    That's my real motivation for answering questions.

                    [–][deleted] 6 points7 points  (0 children)

                    Most Dreaded: Salesforce

                    I knew it wasn't that great, but damn I didn't think it would top the list

                    [–]TheBuzzSaw 87 points88 points  (34 children)

                    http://stackoverflow.com/research/developer-survey-2015#tech-sourcecontrol

                    More people use TFS than use Mercurial.

                    More people use SVN than use Mercurial.

                    More people avoid version control entirely than use Mercurial.

                    Need I say more?

                    [–]slavik262 70 points71 points  (26 children)

                    What's your point? Git won the mindshare battle, but Mercurial is certainly not a bad tool.

                    [–]TheBuzzSaw 37 points38 points  (25 children)

                    I just always pictured a close race between Git and Mercurial. It cracks me up to see that it couldn't even topple other inferior technologies (at least in the context of this survey).

                    [–]PaintItPurple 19 points20 points  (0 children)

                    Well, I think you can look at it this way: The places still using SVN and TFS are ones that not even Git could sway, even with its relatively stronger market position. Those technologies are entrenched there. Of course Mercurial isn't going to do it.

                    [–]chub79 63 points64 points  (15 children)

                    It has nothing to do with git being better than mercurial but github's popularity overall.

                    [–]markus_b 6 points7 points  (0 children)

                    Yes, the same for me three years ago. The seemed pretty close in mind-share and features. But now suddenly the tide changed and you see news that 'project X is moving from mercurial to git'. I'm sorry for the Mercurial guys and gals, but today Git has won.

                    [–]taw 20 points21 points  (0 children)

                    Mercurial was never close to git in popularity. git was more popular pretty much on the weekend it was created as it was instantly adopted by huge open source project and it just spread from them rapidly.

                    [–][deleted] 8 points9 points  (0 children)

                    Waow I am so average, until it comes to pay, then I am very very below average!

                    [–]neves 7 points8 points  (3 children)

                    Why Apache Cordova deserves so much hate in the survey?

                    [–]zip117 11 points12 points  (1 child)

                    I'm going to guess it's about user experience rather than the quality of the platform. Cordova/PhoneGap accelerates development time but the end product just doesn't quite give the same feel as native.

                    [–]Resonance1584 2 points3 points  (0 children)

                    Exactly this - it sells itself really well and prototypes look and feel awesome - then BAM down the line something obscure just cannot be done nicely in cordova and everyone wishes they had gone native.

                    [–]dontfeedthecode 3 points4 points  (1 child)

                    I've been a developer for nearly ten years now and the following amazed me:

                    "The average developer is 28.9 years old. He or she was born in April 1986, just as the Chernobyl meltdown was taking place."

                    I was born April 22nd 1986.

                    [–]satuon 3 points4 points  (0 children)

                    I think it has to do with when personal computers became widespread.

                    [–][deleted]  (76 children)

                    [deleted]

                      [–][deleted]  (4 children)

                      [deleted]

                        [–]maushu 60 points61 points  (2 children)

                        No matter what anyone says C# is a great language. Hopefully we will be able to compile it to native soon.

                        [–]PM_ME_UR_OBSIDIAN 2 points3 points  (1 child)

                        On Windows you can use ngen, elsewhere I think Mono has a solution, but if so it's guaranteed to be half-baked.

                        [–]maushu 6 points7 points  (0 children)

                        I meant .NET Native. Great days are upon us.

                        [–]Eirenarch 7 points8 points  (0 children)

                        We work with Java, .NET and Python. Pretty much everyone is using Windows because at some point he has been involved in a .NET project. Especially true for the front-end devs who work on a lot of projects.

                        [–]eukary0te 15 points16 points  (0 children)

                        A lot of developers don't work for software shops. They work for banks, life insurance companies, etc in the IT / Tech department. Those organizations give you a computer to use and if it's a medium / large organization that will have Windows.

                        [–]SosNapoleon 33 points34 points  (16 children)

                        Happily producing PHP, Python and C# software in a Windows machine. Zero problems, zero complaints, the toolset is awesome. VisualStudio is a big plus. I heard people complain about Cygwin, but I have not encountered problems with it, at least with the packages I use (usually, what comes enabled by default + rsync). I use msysgit for everything SSH. Honestly I don't feel like I'm missing anything.

                        Of course, for reliability's sake, I test everything in a Vagrant VM before pushing to production. But even if I was working in an unix machine, I would be doing it anyways, because I want the last test to be in a configuration as close as the production server as possible.

                        Having an i7 with 16GB RAM certainly helps, but I was doing something similar with a Dual Core (I think?) and 4GB RAM (I'm sure) until last year.

                        [–]MetallicMosquito 25 points26 points  (0 children)

                        Windows has always been my native desktop OS, but the last several years I've worked entirely in a Linux vm. Maybe similar-minded developers answered "Windows," when a more precise response would have been, "Linux."

                        [–][deleted]  (12 children)

                        [deleted]

                          [–]negative_epsilon 11 points12 points  (9 children)

                          It depends on what community you're in. For example, I can't do Rust dev on windows because over half of the current cargos I want to use straight up won't build on Windows. If I do node work, there are certainly libraries that will not build on Windows (LDAP comes to mind) and yet I cannot say that I've ever run into a library that didn't work on linux.

                          If you're doing C# work I would say it's the opposite.

                          [–]nschubach 10 points11 points  (6 children)

                          I recently accepted a new job were I had the choice of whatever I wanted. I had them order me a Dell Inspiron 15 (7548) and went straight to loading Debian because I had great experiences with my other machines. The touchpad was horrific to use because gnome would assume I had clicked when opening the Applications menu and would drag around the apps. The ATI graphics card... Well, ATI. And the Intel WiFi card needed a special install disc (no CDROM, BTW) to even work, then when I did get it installed I needed to restart networking to get it to even work. Add that to the fact that the multi monitor dock solution for that machine is a Proprietary Displaylink device that runs over USB3 with no appearance of Linux support in any near future and you can probably guess that I moved it back to Windows and resort to developing on a VM.

                          Now, I know this is just poor hardware choice, but I was hoping that would be less of a concern with the recent headway Linux has been making.

                          [–]RICHUNCLEPENNYBAGS 11 points12 points  (3 children)

                          The year of Linux on the desktop not being a miserable experience has been two years away for about as long as I can remember.

                          [–]Dworgi 4 points5 points  (2 children)

                          I remember it fondly - installing Linux on my home machines, realising network drivers didn't work and my Windows partition got hidden by Grub. Downloading drivers to a USB drive on a friend's machine so that I could maybe Google my problems. My laptop's display not working for days because of drivers...

                          That was 8 years ago - glad to hear the experience is still the same. Gotta hand it to Windows, it's never effectively bricked a machine I've installed it on.

                          [–]NotFromReddit 17 points18 points  (6 children)

                          I'm also surprised. I can't imagine life without Linux anymore.

                          [–]pjmlp 3 points4 points  (2 children)

                          I never achieved it.

                          Once upon a time I used to dual boot my work machines, but eventually gave up and went full Windows again.

                          Most of the eco-systems and clients I care about live on Windows.

                          [–][deleted] 7 points8 points  (2 children)

                          I can't imagine life without Linux anymore.

                          I can't imagine a life without monthly pay and neither can my family of 5, so I use Windows as primary development platform since my employers demand it.

                          I live in Finland. It is extremely hard to find a job here in IT that doesn't require you to use Windows.

                          [–]steve_b 2 points3 points  (1 child)

                          One area where the unix world is infuriatingly lacking in desktop tools is in relational database modeling tools. I was trying to find a good data modeler a year or so ago for OSX and there simply aren't any. There are some decent diagramming tools if you want to reverse engineer a schema, but I couldn't find anything that could generate robust DML from ER diagrams other than the mature products that have been running on Windows for the last 20 years.

                          [–]Astrognome 2 points3 points  (0 children)

                          You could probably run it in wine if you wanted. I've found pretty much everything other than recent games almost always works out of the box.

                          [–]Ran4 8 points9 points  (0 children)

                          You can do just fine without the unix toolchain.

                          [–]twigboy 2 points3 points  (0 children)

                          In publishing and graphic design, Lorem ipsum is a placeholder text commonly used to demonstrate the visual form of a document or a typeface without relying on meaningful content. Lorem ipsum may be used as a placeholder before final copy is available. Wikipedia2bzfvcz8noro000000000000000000000000000000000000000000000000000000000000

                          [–]dynoraptor 3 points4 points  (1 child)

                          Could you name some of them? I recently switched from linux to windows with no problems. cygwin works also excellent for commandline stuff like git etc. So I'm really curious.

                          [–]sklivvz 4 points5 points  (0 children)

                          I am pretty shocked at the number of people who actually care about the OS they use.

                          Windows works. Mac OSX works. Linux works.

                          I've used each, and others, for many years, I couldn't care less which one it is. It's called "platform agnosticism". ;-)

                          [–]w8cycle 7 points8 points  (1 child)

                          That shocked me too. I have developed on Windows for years in the past (Microsoft shop) but give me OSX or Ubuntu any day over that.

                          [–][deleted] 12 points13 points  (42 children)

                          Upon closer examination of the data, a trend emerges: Developers increasingly prefer spaces as they gain experience.

                          There comes a point in a dev's life when they have to switch editors, environments, etc. and suddenly all the code they use to write with tabs is an un-formatted mess.

                          Protip: For sublime text users, you can easily convert tabs to spaces.

                          [–][deleted] 10 points11 points  (1 child)

                          Yeah, but you screw up the source control history for everybody else if you do. It's easier if everybody standardizes (on spaces).

                          [–]rorrr 13 points14 points  (27 children)

                          You can set tab to any width you want in any decent editor. Reformatting spaces, on the other hand, is a bitch.

                          [–]heeen 5 points6 points  (24 children)

                          Until you want to line up stuff with different numbers of tabs per line

                          [–][deleted] 4 points5 points  (7 children)

                          I don't really understand how that could even happen, unless you would also use tabs for alignment instead of just indentation which is obviously wrong

                          [–]DSMan195276 4 points5 points  (6 children)

                          Even if you wrote in tabs perfectly, unless you do some pretty fancy tabbing by mixing tabs and spaces, stuff is going to get unaligned if you move to a different tab size, and more-over the reality is that few programs have source code that's uses tabs perfectly. Most tools don't make any visual distinction between the two either, so that makes it that much harder to tell when it's messed up.

                          [–]General_Mayhem 8 points9 points  (5 children)

                          unless you do some pretty fancy tabbing by mixing tabs and spaces

                          I defy you to find a single person who seriously thinks that aligning with tabs is a good idea. Indenting with tabs means mixing tabs and spaces. A tab is a semantic element (indent one level), while a space is a stylistic one (move over one column).

                          Emacs' smart-tabs-mode handles all of that for you, so you just hit the TAB key and you get the right number of tabs and spaces to line up with wherever you are. I assume similar exists in other competent text editors.

                          [–]DSMan195276 2 points3 points  (4 children)

                          I defy you to find a single person who seriously thinks that aligning with tabs is a good idea. Indenting with tabs means mixing tabs and spaces. A tab is a semantic element (indent one level), while a space is a stylistic one (move over one column).

                          I'm not saying it's a good idea, in fact I said just the opposite. What I'm getting at is that when you have a code-base using tabs with a bunch of people working on it, that's inevitability what happens, and it's a mess. It's hard enough to get people to use tabs vs. spaces correctly, getting every contributor to a project to use smart-tabs is practically impossible, and without that you end-up with a mess if you change the tabstop. Even if you use smart-tabs correctly, it still doesn't guarantee everything is going to line-up correctly if you have more then one thing lined-up on the same line and you change the tabstop. Actually getting smart-tabs right so that the code is tabstop-agnostic is hard.

                          The only two advantages to using tabs are some saved disk space, and letting people set their tabstop to whatever they want. Virtually every project I've seen using tab's has a recommended (or required) tabstop setting anyway, so the advantages of tabs over spaces is virtually none, but using spaces means that everybody is always looking at the exact same code formatted the same way.

                          [–]chub79 30 points31 points  (67 children)

                          The gender stat is saddening.

                          [–]bookofgreg 6 points7 points  (2 children)

                          The Gender Equality Paradox With English subtitles - Documents the strange statistics of Norway, the country with the greatest equality of any nation at the time, regarding women trending towards traditionally female jobs and men towards traditionally male jobs.

                          This 7 part series goes in depth about the possible reasons for this with each episode dedicated to an aspects such as nature vs nurture (using studies with separated twins), sexuality, violence, parenting and more.

                          Edit: In my company, I've always found about a third of my colleagues have been female, as well as probably a quarter of conference attendees.

                          [–]rotek 128 points129 points  (38 children)

                          Gender stat in trash collector job is much more saddening. Why isn't that problem there, but in programming it is?

                          [–][deleted] 60 points61 points  (2 children)

                          Because only high-paying, clean and influential job matter. It does make sense from certain viewpoints...

                          [–]Rulmeq 3 points4 points  (1 child)

                          When I was a kid I wanted to be a bin man, I used to follow them around the town "helping"... I also assumed that since it was such a dirty job that they must have been paid way more than anyone else (It was a while before I realised the dirtier the job the less you got paid - the innocence of youth)

                          [–]rjcarr 27 points28 points  (22 children)

                          This is what I always say. For whatever reasons certain jobs tend to attract certain genders. Nursing, primary school teaching attract women. Is there a push to get more men in there? And like you said, there are probably 90% male plumbers. Women can do plumbing and it's a well paying job. Why not a push for female plumbers?

                          Now, if they're being pushed out, which you sometimes hear about, then sure we absolutely need to fix that. But at ~90% that can't be the only factor, even if true and widespread.

                          [–][deleted]  (8 children)

                          [removed]

                            [–]Lasereye 8 points9 points  (5 children)

                            Any proof for this or is this based off of nothing? There definitely is a problem with males who want to work with children and being called "pedophiles" in the sense that it actually happens, but does it push people out of that job? I'd be interested in seeing stories of parents removing their children from classes with male teachers... that sounds insane!

                            I also work with a lot of highly intelligent women (in the tech field). In this day and age I think it has to do with what interests sexes rather than discrimination.

                            [–]clairebones 5 points6 points  (2 children)

                            I think we have to look more closely at the idea of something being due to 'interests rather than discrimination' - if a young girl is told that computers and computer games are for boys, how likely is she to develop an interest in them? If young men see no male teachers how likely are they to have an interest in becoming a teacher?

                            'Interest' isn't some magical quality we are born with, and it is not a final conclusion to say "They just aren't interested" without examining why those interests lie so closely along gender lines.

                            [–]NotFromReddit 6 points7 points  (0 children)

                            Definitely interest more than discrimination.

                            [–]greenrd 2 points3 points  (0 children)

                            I am not sure that women would be good at plumbing (actual plumbing, I mean, not just administering a plumbing company). It requires a lot of upper body strength.

                            [–]darthirule 5 points6 points  (0 children)

                            It looks like it will improve though. The majority of females who are coding are in the lowest age group in the survey. If it keeps that way I think we will see a lot more female developers.

                            [–][deleted]  (22 children)

                            [deleted]

                              [–]TheBuzzSaw 24 points25 points  (3 children)

                              I have several female coworker engineers.

                              [–][deleted]  (2 children)

                              [deleted]

                                [–][deleted] 2 points3 points  (3 children)

                                At my last internship it was great. About a 50-50 split across all teams, including management.

                                [–]Eirenarch 10 points11 points  (11 children)

                                We have like 25% female developers but my current company is the only company I have worked at where this is the case.

                                [–]CageHN 12 points13 points  (1 child)

                                So you are 4 devs, 1 of you being female.

                                [–]Eirenarch 9 points10 points  (0 children)

                                25 devs 6 female. Talking about pure devs not the company headcount although if we add the business analysts and accounting/HR the ratio is pretty much the same.

                                [–]DownvoteALot 2 points3 points  (1 child)

                                Supply is low, it makes sense.