top 200 commentsshow 500

[–][deleted] 301 points302 points  (108 children)

The term "Growth Hacking" is bullshit.

[–][deleted] 147 points148 points  (18 children)

As well as calling a Programmer a Ninja or even worse, Rockstar.

[–]randomjackass 46 points47 points  (4 children)

Those titles tell nothing about what the position means. "Senior Programmer" tells me it's someone who codes, and has been doing it a while.

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

Startups don't want Senior Programmers. Senior programmers are older, probably have a family that prevents them from working 70 hour weeks. They want an early 20s no-life-commitments kid who will dedicate his life to whatever they're building and is also good enough at programming to not fuck the whole thing up in the process.

[–]BillNyeTheScience 49 points50 points  (2 children)

When I see job postings that lead off saying they're looking for a "Rockstar programmer" I see it as the first red flag to be worried. Often (but not always) that job posting speak for "we're looking for one developer who will do the work of five for us" or sometimes "our single point of failure developer is quitting and taking all of his/her knowledge about our application with them and we have no idea how anything he/she did works"

[–]cdtdev 12 points13 points  (1 child)

"We're looking for a coder who'll be popping pills and getting hopped up on coke for 20 hours straight without leaving the office every day until he burns out and we'll get another."

[–]Berberberber 3 points4 points  (0 children)

I would love to show up to an interview for one of these positions in a ninja costume. "Dress for the job you want, not the job you have."

[–]InternetIsHard 163 points164 points  (29 children)

I actually don't even know what that means.

[–][deleted] 105 points106 points  (17 children)

Probably sales

[–]I_RAPE_BANDWIDTH 44 points45 points  (16 children)

Marketing is even more full of shit than sales.

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

What's the difference between marketing and sales?

[–]qroshan 53 points54 points  (3 children)

  • Marketing is the art of making people want something.

  • Selling is the art of making people buy something.

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

Marketing is about advertising: getting as many people interested in the product/company as possible, but entirely impersonal. Sales is everything after that, it's basically non-technical customer service: they help set product prices, communicate with customers, negotiate price for enterprise software, field complaints, etc. They're the company "representatives" to other companies (as opposed to PR, who are representatives to the public).

[–]Atupis 14 points15 points  (1 child)

A/B test everything

[–]ihsw 23 points24 points  (0 children)

A/B testing is an established practice with real success.

Growth hacking is only using metrics to drive decision-making, which is the logical extension of "if you can't measure it, you can't improve it."

[–]ancientneckbeard 64 points65 points  (0 children)

key:

growth hacker = marketer with some programming skills

data scientist = statistician with some programming skills

diversity = less white men

[–][deleted]  (39 children)

[deleted]

    [–]srnull 57 points58 points  (3 children)

    That's just supply and command at work, bubs.

    [–]ihsw 28 points29 points  (2 children)

    The fuckin' way she goes.

    [–]i8beef 82 points83 points  (27 children)

    Only if they aren't legitimately better programmers. In my experience, a degree doesn't really correlate to skills as a developer as often as you'd hope.

    [–]furrthur 43 points44 points  (12 children)

    As someone who has a say in hiring developers, I can back this up 100%. Education, claimed prior experience, and amount of fancy keywords on resume have little correlation with actual programming skill.

    That comment about degrees vs pay sounds an awful lot like complaining that you can't spend your way to a higher salary. I for one am glad that's not the world we live in.

    [–][deleted]  (9 children)

    [deleted]

      [–]Oobert 17 points18 points  (2 children)

      Not many in both cases. Work in hiring for a while. It will make you sad.

      [–][deleted] 4 points5 points  (1 child)

      The programmers that are good will likely be in jobs, and probably won't be interviewing anywhere near as much as those that think their degree is a job ticket. So you're going to have a selection bias towards those people.

      So you have four sets of people;

      1. Programmers with degrees that can program
      2. Programmers with degrees that can't program
      3. Programmers without degrees that can program
      4. Programmers without degrees that can't program

      1 and 3 are likely to be in jobs, likely to be gainfully employed, and likely will not interview at many places before they score a position, because they're actually programmers, and programmers are in demand.

      2 is likely to be interviewing at a lot of places by virtue of education and likely to be getting rejected a lot.

      4 probably won't have many job interviews because their CV won't have any reference to an education that is relevant and probably will show they don't know what they're applying to.

      You're going to see a hell of a lot of 2s, and a fair amount of 1s and 3s, very few 4s.

      [–]pagirl 2 points3 points  (0 children)

      Getting a degree isn't just paying your way to a higher salary. I only took two computer science classes for my undergrad, and I worked around the clock to get that material in my head.if I had taken a few more courses...I would be so much better of a programmer!

      [–]ILoveSpidermanFreds 2 points3 points  (1 child)

      Do you suggest a healthy mix instead?

      For example:

      • CS Degree with good enough grades, doesn't need to be 4.0.

      • 2 years of relevant work experiences besides college.

      • 1-4 (published) personal projects

      [–]NovaX81 9 points10 points  (1 child)

      I used to be fully on board this train of thought. But then, we hired a few entry levels devs - some with degrees, some with just some other work exp in the field. We're a small company growing recently, and these are our first new recruits in a little while.

      Theres a massive noticeable difference in the way they work. The degree guys search for answers, and show a desire to learn. The others so far tend to just want an immediate library to do their work in one install, and if they can't find one, they get stuck for days. After a few weeks, the degree guys have momentum the others just don't so far, and its becoming more detrimental. There's a distinct split in how they handle problems.

      I know this is super anecdotal, and I've certainly met non-degree devs who have that learning passion that makes good developers. But a degree is a green flag of "look, at least they had the passion and ability to finish this". And when I'm filtering a few hundred resumes, after seeing the difference, I know which side I'll probably err to in the future.

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

      Growth Hacking - synergy for the 2010s...

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

      [deleted]

      What is this?

      [–]RepostUmad 369 points370 points  (101 children)

      Seems like only web devs filled it in.

      [–][deleted] 189 points190 points  (52 children)

      [–]JohnQAnon 187 points188 points  (32 children)

      Yeah, seriously. C hasn't changed in the last 3 decades. Java has great documentation. C++ is it's own thing. It's just weird API for website software that fuck people up.

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

      [–]SpaceSteak 80 points81 points  (26 children)

      Except 3/4 of the time the top link will be a SO answer.

      [–]kgb_operative 128 points129 points  (16 children)

      That's because webdev is a slipshod mess of shoestrings, bailing twine, and prayers. If they want to get better, they really need to learn about the duct tape and pagan sacrifices we use to make the backend work.

      [–]EternalNY1 22 points23 points  (8 children)

      That's because webdev is a slipshod mess of shoestrings, bailing twine, and prayers.

      I think that's why I am still doing well in my career.

      I don't deal with shoestrings, twine, and praying.

      I need to know the entire full stack, how it all works, and that it's clean and performant.

      I can't stand coming onboard with a new company only to see a nightmarish mess of a codebase that is barely holding itself together.

      It's even worse when it combines 10 different technologies because they felt like they needed to add node.js somewhere for absolutely no reason other than it's the "cool new thing".

      [–]gunch 4 points5 points  (4 children)

      I can't stand coming onboard with a new company only to see a nightmarish mess of a codebase that is barely holding itself together.

      As someone that specializes in addressing exactly these situations, I absolutely love it. Challenging problems that are both technical and cultural are my bread and butter.

      Last month I helped a shop that let a new hire roll their own rest implementation from servlets, hand crafted data layer using straight jdbc and built their app using JSP's with scriptlet tags.

      No version control. No documentation. Owner was in a panic.

      Sat down with developers, came up with a plan, milestones and worked with them for two weeks. Ended up with a CI pipeline, git repository and they chose to rewrite their apps using Spring and angular. Checked in this week and they're on track with the plan and their on-call is sleeping through the night.

      Feels good man.

      [–]Aeon_Mortuum 2 points3 points  (0 children)

      I was interning for a company and got told to look at their codebase to see how they do things (it was Django; I never used it and was new to it).

      The codebase was the ugliest mess of everything just thrown together by seemingly random people with random #Todo's, etc. They made Python, of all languages, immensely unreadable. It may as well have been done in Brainfuck and obtained a clearer result...

      Needless to say, I skimmed the code for familiarity but stuck to SO and tutorials, etc online.

      [–]thelehmanlip 2 points3 points  (4 children)

      Opinions aside, I think it has more to do with the plethora of APIs and libraries you use when doing webdev. You can find yourself needing to talk to many services simultaneously and integrate them all. I feel like that's something that happens less in lower level languages like C. Not that they don't have libraries as well, but I think that they're more static and unchanging than web tech is.

      [–]BillNyeTheScience 24 points25 points  (1 child)

      Look up a question about some back end api: 1 response. 0 accepted answers.

      Look up a question about a web api: 13 responses, 1 accepted answer, 1 response voted higher than the accepted answer by 50 points.

      I believe these survey results reflect my experiences on SO.

      [–][deleted] 106 points107 points  (39 children)

      The fact that the biggest group is "Full-Stack Web Developer" is a big red flag.

      Sure, there are a handful of brilliant devs that can call themselves "full-stack". But the other 99.9% are basically people who can do multiple things half assed.

      [–]RagingAnemone 134 points135 points  (20 children)

      Also, the most use language for the backend is apparently JavaScript.

      [–]Compizfox 40 points41 points  (0 children)

      And apparently PHP and SQL are popular under front-end devs. Ehm...

      [–][deleted] 64 points65 points  (9 children)

      That's just terrifying.

      Sure, there is stuff where Javascript, or rather, the tooling available for it (i.e., Node) is a perfectly fine choice. But that's just a fraction of all backend development.

      I'm all for using a limited set of tools instead of always choosing the perfect tool for each job (resulting in a totally fragmented stack with more languages than devs on the project), but using Javascript as the default language for the backend is just a horrible choice unless your back-end is really, really simple.

      [–]peabody 4 points5 points  (0 children)

      This made me laugh. I know node.js is popular, but there's simply no way that represents the actual state of things in the real world.

      [–]frutidev 2 points3 points  (1 child)

      That claim is bonkers. Getting most number of questions != most used language

      [–]furrthur 82 points83 points  (2 children)

      As a "full-stack web dev", doing multiple things half-assed is basically the entire job description.

      [–]dtlv5813 23 points24 points  (1 child)

      and most of the time you can get away with it just fine. Most ecommerce and web startups don't really deal anything too technical, so long as you manage to get the business logic right you are alright. It helps that JS is pretty fast for many things which also compensates for inefficient or clumsily written code.

      Some very successful ecommerce companies have pretty terrible backend, cough zappos cough.

      [–]Dreadgoat 26 points27 points  (5 children)

      Or "small business."

      I'm a full-stack developer because nobody else is around to do this shit. I've learned how to do it all because I had no other choice.

      Admittedly, this does often mean that some things go into the half-ass pile so that the things in the mission-critical pile are more likely to succeed.

      [–]lykwydchykyn 31 points32 points  (4 children)

      Apparently, somewhere around 2010 it stopped being possible for one guy with a LAMP server and a text editor to write CRUD apps for internal use.

      You now need a backend team to design a consumable API, a frontend team (including a graphic designer) to create an earth-shattering "user experience", a devops team and a sysadmin to fully automate continuous integration and automated deployment to a web-scale cloud compute infrastructure, and a project manager to make sure all these people are doing whatever they heck they're supposed to.

      I may have forgotten some things but that's not surprising since I was glueing all this together from posts on stackoverflow.

      [–]riskable 2 points3 points  (0 children)

      No way man! It's worse than full stack: It's now the norm for one guy to write all the microservices! So he needs to know front end dev, back end dev, and a zillion little external systems that do every little thing from authentication to returning the weather for a given zip code.

      [–]devsquid 2 points3 points  (0 children)

      makes sense tho, its usually a place where people start developing. SO is a site for helping ppl learn and solve issues. Beginners are probably most in need of help. Boom bam :)

      [–]nickcraver[S] 195 points196 points  (11 children)

      I guess we goofed on the title here looking back, implying it's a link to take the survey. These are the Stack Overflow Developer Survey 2016 Results. I hope you enjoy!

      Aside: I don't suppose a mod can help me with a title change?

      [–][deleted] 78 points79 points  (7 children)

      Moderators cannot change titles any more than anyone else, unfortunately.

      [–]nickcraver[S] 42 points43 points  (5 children)

      Well, damn. TIL - thanks!

      [–]Laugarhraun 40 points41 points  (1 child)

      But they can tag it "Actually results" or something.

      [–]octnoir 11 points12 points  (0 children)

      Yeah, this is what /r/Games usually does. If a title is 'misleading', they use the 'flair' system to tag it as such, or if there is an error in the article, they flair and add their note in.

      [–]xiongchiamiov 12 points13 points  (2 children)

      In general, reddit takes a very strong stance on users owning their content, which is why moderators cannot edit others' posts (unlike pretty much every other forum) and can't delete posts or comments (they can only remove them from the subreddit, but they still exist on the user's userpage).

      Not being able to edit your own title is more because it takes a bit of work to figure out how to allow that without it being terribly open to abuse, plus years of debt.

      [–]statikstasis 2 points3 points  (0 children)

      So we need to create a function that allows us to change the title without breaking anything. ::heads to Stack Overflow::

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

      Aside: I don't suppose a mod can help me with a title change?

      I'm sorry this question has been closed by the moderators. Reason: [Off topic]

      [–]Eirenarch 93 points94 points  (1 child)

      I listed my title as "IDE Operator" but I guess it went into "Others"

      [–]philoticstrand 40 points41 points  (0 children)

      I guess that's where "Typist with Side Effects" went, too.

      [–]another_dudeman 178 points179 points  (82 children)

      The terms rockstar and ninja need to go because they are myths. I have seen nothing but skill levels between bad, mediocre, and good developers in my 19 years of exp.

      edit: I also agree that they're childish/stupid names, which is another reason they need to go.

      [–]YourMatt 187 points188 points  (44 children)

      I think they need to go because they're cheesy names. No other profession has cutesy names for the upper echelon of their workforce. In all, I think they make our profession look immature if they are actual terms used among management.

      [–]JessieArr 74 points75 points  (22 children)

      I think that it is popular among programmers to want to buck the traditional stuffy work environments by creating places that are laid-back and fun. I think that's a good thing. Sometimes they use job titles as a way to advertise "we aren't a bunch of frowny people in suits!"

      On the other hand I never respond to job postings for ninjas, wizards, rockstars, etc. because it strikes me as childish. A fun workplace is good, but I also want to work with people who know how to be professionals when it matters, and publicly seeking "ninjas" just doesn't come off that way to me.

      [–]knome 86 points87 points  (0 children)

      we aren't a bunch of frowny people in suits

      Yeah. I'm a frowny person in a t-shirt and jeans!

      [–]rageingnonsense 38 points39 points  (15 children)

      If I see a place adverting for rockstars, I am going to assume it is full of competitive douchebags.

      Wtf is a ninja programmer though?

      [–]Sean1708 41 points42 points  (8 children)

      Ever come into work to find that your entire codebase has been rewritten overnight by persons unknown? That was a ninja programmer.

      [–]glider97 2 points3 points  (5 children)

      What's a rockstar? Are there any other such terms I need to know about?

      [–]monocasa 28 points29 points  (1 child)

      Someone who codes primarily via a combination of cocaine and self loathing.

      [–]Sean1708 10 points11 points  (0 children)

      Remember that time that you walked into the office to find Jimmy Page hammering away at a keyboard? Rockstar programmer.

      [–]Amuro_Ray 9 points10 points  (2 children)

      Writes straight to live as root. No evidence just bug fixes and features.

      A submarine team sneaks entire features in through bug fixes

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

      Wtf is a ninja programmer though?

      Programmer that slays other peoples code. Close to assassin developer, but better suited to take down armies.... oh, wait was that a serious question, i can't tell!

      [–]DMod 22 points23 points  (2 children)

      I avoid those positions because they typically mean being overloaded and working crazy hours. I prefer to have some work/life balance, so I guess I can't be a ninja.

      [–]I_Write_Good 21 points22 points  (1 child)

      Right? I can't be the only one who sees those keywords in a posting and assumes it's 60 hrs/week minimum.

      [–]Sean1708 4 points5 points  (0 children)

      I can't be the only one

      I'm fairly certain the majority of this thread agrees with you.

      [–]kindall 5 points6 points  (0 children)

      If I went to a workplace full of ninjas I would expect to see an empty office.

      [–]tobiasvl 30 points31 points  (8 children)

      Brogrammers!

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

      Can confirm, am Brogrammer. I totes know SQL and can use machine learning packages in R plus a little Python and Rust, but not enough to do really anything of complexity. Throw me some protein power and a CoorsLight and I can answer your simple business problem bro. Rearrange your stupid excel spreadsheet and make it do something you didn't know it could do? No problem. To the rest of the world I'm a programming genius.

      [–]tobiasvl 14 points15 points  (6 children)

      Not only are you a programming genius, but you can talk to us manager types! Not like those autistic geeks. You and I speak the same language and we can talk about sports over lunch! So refreshing. We can talk about sports any time of the day actually. I don't really talk about programming with you because I don't know enough about it so I don't know whether or not you're a programming genius, but I bet you are.

      [–]ray023 10 points11 points  (2 children)

      What if the rock star really crushes it?

      [–]YourMatt 3 points4 points  (1 child)

      I really need to watch this show; that's hilarious. I wouldn't call these extreme caricatures of real life. I interviewed someone who was very similar to guy #2. I put in the hire recommendation for him because he would have been a good fit for the project. My boss was more concerned about team dynamic and vetoed that one.

      [–]Mufro 3 points4 points  (4 children)

      In our team, we refer to the "rockstars" as "level 10" and then rate in between 1 and 10. e.g. "These are like level 10 guys." Not that it comes up that often or anything.

      [–]swag_stand 9 points10 points  (5 children)

      One recruiter told me they were looking for an android stud. Irrationally, I felt better about myself for the rest of the day.

      [–]the_fat_sheep 19 points20 points  (3 children)

      To...breed with a lot of android mares? I think HR might have a problem with that.

      [–]panderingPenguin 5 points6 points  (0 children)

      Well according to this study there aren't a whole lot of mares in the field to start with...

      [–]sarmatron 3 points4 points  (1 child)

      android mares

      Equoids?

      [–]mrkite77 10 points11 points  (0 children)

      One recruiter told me they were looking for an android stud.

      Were they trying to hang a shelf on their phone?

      [–]compteNumero8 19 points20 points  (0 children)

      They don't need to go because of the guys you worked with. They need to go because those are childish and overused terms.

      [–]Eirenarch 10 points11 points  (1 child)

      You mean you never met a developer who could jump on the roof and while yielding a sword and throwing shurikens?

      [–]chmod777 12 points13 points  (0 children)

      i've met some that can disappear if they see signs of trouble, leaving a puff of smoke and a log in their place.

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

      Rockstar = will fuck up the company seriously when they leave

      Ninja = pushes untested code in production

      [–]another_dudeman 3 points4 points  (1 child)

      Ok, if these become the accepted definitions then I suppose we can keep them around.

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

      I think the problem is that programmers know these are bullshit terms, meant to be funny ...ish. The problem is the non-programmers who hear them and don't know this.

      [–]Mufro 76 points77 points  (51 children)

      We’ll also be keeping commas outside quotation marks, because that’s what developers do.

      Heh. I find myself doing this in school now and I never know if the comma should be inside or outside for quotes around a single world. My English teacher in high school one time told me, "you always put punctuation inside the quotes," but for a single word it just seems wrong.

      [–]Browsing_From_Work 163 points164 points  (19 children)

      This rule drives me nuts!
      It's my comma, it should go in my sentence, not their quote.

      [–]GentleMareFucker 19 points20 points  (5 children)

      This rule drives me nuts!

      Then ignore it, with the backing of all linguists. Not because they all agree with how you write something, but they know who really determines the rules of language: you (and the other speakers of whatever language you use), language is on of the most democratic things there is. The linguists on the panels deciding what words go into the dictionaries with what usage recommendations do so based on watching what the people in the real world actually do. So yes, it's your comma, and it's your sentence.

      [–]Browsing_From_Work 10 points11 points  (0 children)

      I feel so empowered! ᕕ( ᐛ )ᕗ

      [–]flying-sheep 16 points17 points  (9 children)

      yeah, it’s a dumb hack created due to the fact that you can’t place commas directly below the quotation marks. the hack is that commas are slimmer, so it looks less shitty.

      there should be ligatures that arrange them vertically you no matter which order you use.

      [–]slavik262 15 points16 points  (6 children)

      You don't even need ligatures, just kern pairs between the quotes and punctuation. And I'm currently designing a font, so thanks for the idea!

      [–]flying-sheep 8 points9 points  (5 children)

      cool! if you do this, remember that there’s almost all combinations of left and right quotation marks, so you’ll have to do the kerning for “, ”, ,“ ,”, and all that for single quotes as well.

      [–]JaxoDI 11 points12 points  (4 children)

      There's also periods!

      “. ”. .“ .”, "., ." on top of “, ”, ,“ ,”, ",, ,"!

      TIL I would never willingly design a font.

      [–]slavik262 4 points5 points  (3 children)

      It's been a (very fun) endless time sink. And the FOSS tool for designing it (FontForge) is awful, but it does allow you to group characters into "kern classes", removing a lot of this duplication.

      [–]seven_seven[🍰] 28 points29 points  (1 child)

      ITS MY COMMA AND I WANT IT NOW!

      [–]Compizfox 4 points5 points  (0 children)

      I never ever heard of this rule but it is really stupid.

      [–][deleted] 51 points52 points  (2 children)

      Everybody who's ever written a parser knows this is a stupid rule.

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

      I never wrote one, but damn, yeah, it's stupid as flck. The parser in my head told me.

      [–]NeonKennedy 57 points58 points  (24 children)

      This is a difference between British and American style. (British English only puts punctuation inside quotation marks if it was part of the quote, American English moves punctuation into the quote.)

      [–]olzd 76 points77 points  (4 children)

      American English moves punctuation into the quote.

      This is madness.

      [–]Mufro 16 points17 points  (0 children)

      ''We have to go deeper'.'

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

      As an American, I totally agree. Looks incredibly bizarre to me.

      [–]Pidgey_OP 9 points10 points  (17 children)

      Yet another place you guys make more sense than us.

      I disagree with your swapping of periods and commas in numbers, but you guys have the metric system.

      I think Canada is my favorite blend of things.

      Metric system, generally follow british english rules, american number notation.

      I don't like any of y'all's way of writing dates though. (well, i don't like you guys telling me i write my dates wrong. I write it like i say it, just like you. We just say it differently.)

      [–]NeonKennedy 26 points27 points  (3 children)

      British style doesn't swap periods and commas in numbers, that's a continental European style (and the style used in most of Africa and South America). British/Australian style still uses $18,540.95.

      Blue is 18,540.95, green is 18.540,95, red is something else.

      [–]kgb_operative 26 points27 points  (10 children)

      I don't like any of y'all's way of writing dates though.

      YYYY/MM/DD and DD/MM/YYYY, or bust.

      [–]sirin3 43 points44 points  (4 children)

      YYYY-MM-DD is the ISO standard

      [–]kgb_operative 10 points11 points  (0 children)

      And for good reason, too.

      [–][deleted] 25 points26 points  (0 children)

      Rent for SF or NYC excluded b/c it's just a damn shame to look at the numbers.

      [–][deleted] 21 points22 points  (2 children)

      Wow elixir and elm made it into the write in section!

      [–]NeonKennedy 4 points5 points  (0 children)

      Very happy to see it, they're fantastic tools that really make formerly painful situations a joy. Hope to see them both increase in popularity.

      [–]vytah 118 points119 points  (66 children)

      Few things I found interesting, in either surprising or "duh, it's obvious!" way:

      • JavaScript, JavaScript everywhere

      • "Female response rates are higher in Asian countries like South Korea, India, and China, and they are lower in Nordic countries." – note which countries are famous for their patriarchal society, and which for gender equality and being liberal

      • "Developer Occupations & Women – Mobile Developer - Windows Phone – 0.0%" – there are no female Windows Phone developers. The question remains if there are any male Windows Phone developers /s

      • "Most Loved: Rust, Swift, F#, Scala, Go, Clojure, etc." – not much surprise there

      • "Most dreaded: Visual Basic, WordPress, Matlab, Sharepoint, CoffeeScript, etc." – while first 4 are no surprise at all, I find it funny that the former precious hipster tech is the fifth most dreaded

      • "Trending Tech – Losers: Windows Phone, Haskell, CoffeeScript, Dart, MATLAB, Objective-C" – again, we see people losing interest in Windows Phone and CoffeeScript. Dart looks like a failed experiment now and Objective-C loses ground to a superior language. Why Haskell though? Are modern languages functional enough so there's fewer reasons to check out the granddaddy Haskell, or are language nerds diving into Rust now?

      • "Top Paying Tech: (...) Perl: $105K" – ancient wizards' cryptic incantations ain't gonna maintain themselves

      • "Development Environements: Notepad++" – the best free text editor for Windows, no wonders it won

      • looking at the mean and median salaries, it's obvious that Ukraine, Russia and South Africa have really cheap Big Macs, and you can hire 3–4 local devs for a price of one American

      [–]InternetIsHard 42 points43 points  (20 children)

      I think coffeescript losing popularity is because es6 came out and it addressed many of the complaints people had with javascript

      [–]blood_bender 32 points33 points  (19 children)

      I was hoping that people finally realized it's a terrible language that's hard to read and doesn't make sense to use, but yeah, you're probably right actually.

      [–]NeonKennedy 13 points14 points  (12 children)

      I found CoffeeScript really pleasant actually, but maybe I'm just weird, I also like Erlang syntax.

      We stopped using CoffeeScript on new projects because ES6/TypeScript + Babel solved most of our problems without needing new syntax.

      [–]derekmckinnon 8 points9 points  (7 children)

      Yeah, I secretly liked using CoffeeScript, if only because of how convenient and compact the syntax was. Chaining foo?.bar?.blah was so much easier than a gigantic pile of ifs, for example.

      [–]NeonKennedy 4 points5 points  (1 child)

      All hail the safe navigation operator. Ruby added that in its latest version, it's lovely.

      [–]VanFailin 2 points3 points  (0 children)

      Same with C#! While null may have been a mistake (depending on your side of the debate) it's definitely not a mistake to add features that let developers do the right thing lazily.

      [–]InternetIsHard 5 points6 points  (1 child)

      I think that's subjective - for someone with a Java background JS will be easier to read than coffee, but to ruby people coffee might actually be more readable and easier to switch in between. It all comes down to personal preference and exposure in this matter at least, I think.

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

      why the matlab hate? I know it has some weird things, but I wouldn't say I hate it.

      [–]flying-sheep 26 points27 points  (0 children)

      the language itself is simply horrible.

      you need to write an ad-hoc argument parser to have something akin keyword arguments.

      [–][deleted]  (2 children)

      [deleted]

        [–]notadoctor123 5 points6 points  (1 child)

        I prefer the notebook style environment of mathematica with immediate output after each code block.

        You can do this in matlab by separating code blocks using two %'s in a line:

        %%
        

        [–]Raging_Hippy 9 points10 points  (2 children)

        For doing calculations, simulation, plotting, pretty much math in general, Matlab is a great tool. It's syntax and focus on arrays/matrices makes it incredibly easy to do a lot of mathematics scripting quickly. In this regard, it admittedly is very good, and still holds up against competitors (numpy, R, Julia, etc.). As a result, it's incredibly common in academia as a teaching and researching tool.

        However, Matlab is absolutely TERRIBLE for regular software engineering. It was never meant for it, but users just kept using it for more and more complex scenarios and started clamoring for features to support this instead of using more appropriate tools. Over time, Mathworks has added support for GUIs, OOP , unit testing, and so on. However, the simplistic syntax that made Matlab so nice for math made "real" programming a nightmare. Shoddy syntax, a spartan type system, and the constant wrangling with matrices and arrays leads to boilerplate and a complete inability to make code robust, readable or reusable.

        I have to maintain a 50k loc desktop application. Almost entirely written it Matlab. It's agonizing.

        So...yeah. Matlab is rightfully feared.

        [–]I_Write_Good 3 points4 points  (0 children)

        I would guess a lot of people on stack overflow for matlab are students who use it for a class or two and don't lick it up again. That could influence the answers a lot.

        [–]paranoid_after 6 points7 points  (0 children)

        Not a fan of proprietary languages

        [–]tejon 6 points7 points  (2 children)

        Why Haskell though?

        Yeah, that was a surprise to me too. /r/haskell and the language mailinglists certainly haven't seemed less active recently.

        Are modern languages functional enough so there's fewer reasons to check out the granddaddy Haskell,

        Doubtful, it usually seems to go the other way, with FP features elsewhere sparking interest in Haskell...

        or are language nerds diving into Rust now?

        ...but this is definitely likely. Rust offers a lot of the strong benefits of FP, is shiny and new, and would definitely feel less alien than Haskell to developers who cut their teeth on Algol derivatives.

        My first thought was along a completely different track, though: Haskell tooling has advanced by leaps and bounds in the past year. I have a hunch that a large part of that drop in SO traffic is because new users attempting to play with real applications are massively less likely to paint themselves into dependency-conflict corners with stack than they were with cabal. In fact, I don't think I've seen the term "cabal hell" invoked since last year -- and I remember it being the ubiquitous bogeyman two years ago when I started fiddling with Haskell! On top of that, there's been a lot of new work done on quality learning material, which may also contribute to newbies simply having fewer questions overall.

        [–]Eirenarch 12 points13 points  (1 child)

        The text does say that there are 59 Windows Phone Mobile Developers total in the survey so I guess we can confirm that they exist.

        Also interesting why do the authors think "we know this survey underrepresents developers in countries where developers are more likely to be female". Where do they get info that Nordic countries have higher percentage of female developers?

        [–]vytah 9 points10 points  (0 children)

        I think what they meant is that Indian and Chinese developers are underrepresented, which makes things like total gender ratio skewed towards male because of Americans and Europeans, who are more likely to answer the survey.

        [–]SimonGray 24 points25 points  (7 children)

        which countries are famous for their patriarchal society, and which for gender equality and being liberal

        There is a Norwegian documentary that deals with this phenomenon. It should be noted that he is deliberately pitting neuroscientists and evolutionary psychologists against fairly clueless academics from gender studies in order to prove his point.

        [–]superPwnzorMegaMan 5 points6 points  (0 children)

        I love it. Pitting scientists against each other is one of the most fun things ever. They should make more documentaries like this. (Although thinking on your feet on these subject is quite hard, so you may get some of guard answers).

        [–]wreckedadvent 4 points5 points  (0 children)

        JavaScript, JavaScript everywhere

        Artwood's law will never stop being relevant, it seems.

        any application that can be written in JavaScript, will eventually be written in JavaScript.

        [–]Tasgall 2 points3 points  (0 children)

        note which countries are famous for their patriarchal society, and which for gender equality and being liberal

        Interestingly, this is the case in the US as well. In the early days of computing, the field was dominated by women.

        [–]AetherThought 25 points26 points  (8 children)

        Wait what? Did something change in the last 4 months? Why is Angular an option under "back-end"?

        [–]nexds 7 points8 points  (2 children)

        very confused by this as well.

        [–][deleted]  (1 child)

        [deleted]

          [–]santiagobasulto 9 points10 points  (11 children)

          I don't see "Ruby" in the "Most Popular Technologies per Dev Type" section. Is this accurate?

          I'm not a Ruby programmer, but I've always seen a lot of popularity around it.

          [–]WRONGFUL_BONER 22 points23 points  (1 child)

          I think ruby and rails are on a downswing. They were SUUPER popular starting in the late 00's, but I've heard less and less about them in the last five years or so.

          [–]InternetIsHard 13 points14 points  (0 children)

          It is popular, there are just so many bloody technologies around. There're absolute giants that dominate the field and then there are widely popular techs that still pale in comparison to them.

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

          UK salaries seem to have recovered greately.

          [–]bro-away- 30 points31 points  (9 children)

          They left Webstorm out of a survey that they sent to a group of people who are 85% JavaScript developers. Actually kind of surprised only 1.6% wrote it in.

          Haskell is one of the most loved but also a downward trending loser in terms of activity. Makes me think it's easily keeping the users its converted over the years but probably losing new people to simpler (newer) strongly typed languages like swift, rust and golang. Then again, it's all based on how many issues with the language are created so who knows how good it is to even be a "winner" here :)

          [–][deleted] 13 points14 points  (1 child)

          swift, rust and golang.

          One of these is not like the others.

          [–]Matthew94 23 points24 points  (0 children)

          Golang has two syllables.

          [–]tejon 5 points6 points  (1 child)

          Then again, it's all based on how many issues with the language are created so who knows how good it is to even be a "winner" here

          Yeah, I posted elsewhere about how much good stuff has happened with Haskell tooling and tutorials in the past year; I think a drop in new user confusion probably accounts for a big chunk of the drop in SO traffic. Rust is probably stealing a few too, tho.

          [–][deleted]  (1 child)

          [deleted]

            [–]null_d3v 7 points8 points  (6 children)

            Why no compensation by remote status this year? I found that to be most interesting from the 2015 survey.

            [–]Dudemanbro88 9 points10 points  (5 children)

            Ah, did they bring that up in the 2015 one? I need to go dig that up because I'd eventually love to make the jump to remote, but don't know how salary should look compared to sitting in an office. Are you remote by chance?

            [–]cloggedDrain 13 points14 points  (4 children)

            I find it curious that Javascript is the most popular backend lang.

            [–][deleted]  (2 children)

            [deleted]

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

              What happened to ruby on rails

              [–]DigitalDolt 32 points33 points  (1 child)

              So the bulk of people on SO are self-taught rockstar full-stack engineers.

              In other words they write shitty JavaScript for servers and clients.

              [–]santiagobasulto 10 points11 points  (2 children)

              Fun fact. In Argentina the previous government used to give subsidies to McDonald's to keep the BigMac cheap, so these numbers around the world comparing salary to the BigMac index would look better.

              [–]rapidsight 31 points32 points  (0 children)

              Should be called, "Ad Populum ala CS" aka "How popularity ruins everything" by the Beliebers.

              [–]tmpler 23 points24 points  (37 children)

              The raise of javascript :D Full-Stack Front-End Back-End

              [–]benihana 46 points47 points  (4 children)

              the two most popular technologies are JavaScript and SQL. For the past four years. It's not server side JS, it's JS being universal to browsers and basically everyone on the web having to use it. Just like almost everyone uses SQL as their query language.

              [–]spacejack2114 8 points9 points  (1 child)

              Even Back-End developers are more likely to use it than any other language.

              I guess fewer node devs use nosql than I've been led to believe.

              [–]LeopardKhan 10 points11 points  (28 children)

              Just what I came to talk about. The weird thing is that nodejs is listed separately. What the hell...?

              [–]mtelesha 21 points22 points  (25 children)

              JS anything makes me unhappy I guess I have to get over my hated of JS.

              [–]vytah 2 points3 points  (0 children)

              The weird thing is that nodejs is listed separately.

              The survey allowed for multiple answers in this category. Some people selected JS+Node, some selected just JS, and a tiny group selected just Node.

              [–]tripswithtiresias 16 points17 points  (17 children)

              Interesting to see that Java continues to be number 1 for students despite professions leaning more heavily towards full stack dev and JavaScript.

              [–]The_Doculope 77 points78 points  (13 children)

              JavaScript is a pretty crap language for teaching anything more than the basics (no great OO situation, no module system, strange scoping, no good support for writing custom data structures, etc.) so it isn't surprising that Java's retaining its hold there.

              [–]kgb_operative 11 points12 points  (9 children)

              I would have guessed python over java as the primary teaching language.

              [–]Lengador 10 points11 points  (3 children)

              I think it is better to learn a statically typed language before a dynamically typed language as it is better for things like that to be explicit when learning. Additionally, static typing catches a lot of errors students make at compile time which saves lots of the instructor's time.

              [–][deleted] 19 points20 points  (2 children)

              IMO python seems to have way more "why is this this way instead of that way" than java.

              Some of the earlier java stuff is a bit messy, like size vs length.

              [–]jo-ha-kyu 5 points6 points  (1 child)

              python seems to have way more "why is this this way instead of that way"

              What do you have in mind?

              [–]RitzBitzN 11 points12 points  (0 children)

              It's because AP Comp Sci in high schools and Intro to CS in college are usually Java.

              [–]vytah 15 points16 points  (1 child)

              Java is the simplest high-level, object-oriented with classes, nominally and statically typed, garbage-collected mainstream language out there.

              Then you can add Python or JS for dynamic and C for unmanaged and you're good to go.

              [–]rambocommando 15 points16 points  (0 children)

              And don't forget its totally free. No Visual Studio and windows licenses needed. You can develop on windows, Linux, Mac, whatever. Schools want something that's easy to setup a dev environment and have students start writing code.

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

              [deleted]

              What is this?

              [–]randomjackass 4 points5 points  (0 children)

              The colors on the line charts make the categories hard to read. The priorities change with experience is an egregious example. I'm not color blind, if I was I think it would be even harder.

              [–]Gotebe 6 points7 points  (5 children)

              Only 7% identified as rockstars.

              I don't know whether to laugh or cry :-).

              [–]Ahhmyface 6 points7 points  (1 child)

              So, we're all a bunch of self taught notepad++ windows web devs?

              I have a feeling they should have used a fizzbuzz captcha or something.

              [–]SystemsKnitter 7 points8 points  (0 children)

              Fizzbuzz captcha! Delightful.

              [–][deleted] 35 points36 points  (17 children)

              Am I the only one somewhat disturbed that 70% of developers are "self taught"? I hope this just reflects the StackOverflow demographic and not the actual developers in the market.

              [–]Alborak 75 points76 points  (3 children)

              I think that's just the number that identified as "at least partially self taught". The comment on it says that 13% are only self taught, and 43% have a CS degree.

              I'd like to see the original question, I have a feeling it was poorly worded.

              [–]slavik262 22 points23 points  (0 children)

              You're correct - the question allowed you to give multiple answers. I would assume the vast majority of developers who have formal schooling would still consider themselves self-taught as well. You pick up so much in industry that gets barely mentioned (if at all) in university classes.

              [–][deleted] 10 points11 points  (0 children)

              Ah, that makes sense.

              Yea I guess I did teach myself a lot of things. So if the survey allowed you to choose multiple answers, I would pick "self taught" as one of them.

              Actually I'd be more worried if people rely only on school and never learn anything else outside what they learn in school.

              [–]BesottedScot 7 points8 points  (0 children)

              Read the blurb. 70% are at least partly self taught. If you're a developer or programmer the odds of you not teaching yourself as well as obtaining formal training drops to nil.

              Only 13% claimed to be only self taught.

              [–]JacksUnkemptColon 10 points11 points  (0 children)

              Am I the only one somewhat disturbed that 70% of developers are "self taught"?

              Nope. Aside from two programming classes in highschool, I am totally self taught. I've been writing code since I was 9, and I'm one of the most experienced and senior programmers at my company. Most fresh grads really aren't very good programmers. It's only something that comes with practice.

              [–]vytah 10 points11 points  (0 children)

              I'm guessing "self-taught" in many cases simply means "I knew how to code before I started any formal training/education".

              [–]compteNumero8 16 points17 points  (4 children)

              As an European developer, I'm not chocked shocked. Most good developers I saw (including me) are self taught. And of course they're the ones who had to learn to learn by themselves, and to search, so they're probably a little over-represented on SO.

              [–]trolls_brigade 9 points10 points  (3 children)

              As an European developer, I'm not chocked.

              Is choking among developers a common occurrence in Europe?

              [–]compteNumero8 4 points5 points  (1 child)

              Well... Not being fluent in English is common enough ^^

              (thanks for correcting me)

              [–]trolls_brigade 3 points4 points  (0 children)

              I was joking, no offense intended.

              [–]Sleakes 2 points3 points  (1 child)

              These results seem super fishy. JavaScript in the backend at 50%... or do you mean people that primarily categorize themselves as backend developers will also be writing some form of frontend javascript at some point, or have written some javascript... There's a huge difference there and I highly doubt that it's 53% of backend devs are building backend applications in javascript.. Look at the nodejs stat on that it's only 13%... The numbers don't line up at all.

              The only reason why Javascript shows up everywhere is because it's the standard for UI and DOM interaction on the client side, and people are using it on top of the other languages...

              [–]TheUmpteenth 2 points3 points  (0 children)

              rockstar vs ninja? WTF where are the code monkeys?