Live data from Hacker News

Is developer compensation becoming bimodal?

danluu.com

331–340 of 584 posts

Re: Is developer compensation becoming bimodal?

#331

One (semi-pedantic) quibble with the article: there absolutely are barriers to entry for programming. Programming is hard! These barriers may not be artificial, but they are real. To use a non-software example, there are barriers to entry to chip manufacturers and power companies even under anarchy. Fabs are tremendously hard to build. Power plants are extremely hard to build. Building up knowledge and skills about c…

If you want to know just how hard programming is, try teaching it to someone. Programmers have to remember a vast amount of domain knowledge. Consider the basic task of choosing where you are going to store some data, well first you need to know which options exist and there's dozens of them (do you want Postgres, SQLite, Redis, LevelDB, ..?). Then you need to know the strengths and weaknesses of each. And I hope you…

> Consider the basic task of choosing where you are going to store some data

Yes, do consider.

In many, many cases the appropriate answer is "whatever stack you're familiar with".

In maybe 10% of cases the answer will boil down to technical requirements and you'll need familiarity with "Postgres, SQLite, Redis, LevelDB, ..."

And that's where the bimodal distribution comes from.

> There are "law schools" and "med schools" to teach you all the knowledge required to become a lawyer or a doctor. There is no "programming school", every programmer is self-taught

I don't know a lot about the law.

But if you think that MDs are not "self-taught" in the same way bootcamp graduates or CS graduates are "self-taught", you should talk to an MD some time.

Re: Is developer compensation becoming bimodal?

#332
post #326

Earlier quoted context omitted.

This is quite interesting - I'm actually quite curious about what makes farming more intellectually challenging and difficult than programming, especially from somebody who does both. (Honest curiosity!)

My grandfather was a farmer. By necessity he was also forced to become a competent mechanic, carpenter, electrician, and plumber (did I miss any?). Farmers are the most self-sufficient people you'll ever meet.

They've always been (incorrectly) characterized in what I've seen in media/pop-culture as hardworking but relatively simple. The more I learn about the difficulties of modern farming and what it takes to succeed, the more respect I have. I'd love read a blog from somebody with career-level experience in both software-engineering and farming. I'm sure I/we could learn a lot.

Re: Is developer compensation becoming bimodal?

#333

One (semi-pedantic) quibble with the article: there absolutely are barriers to entry for programming. Programming is hard! These barriers may not be artificial, but they are real. To use a non-software example, there are barriers to entry to chip manufacturers and power companies even under anarchy. Fabs are tremendously hard to build. Power plants are extremely hard to build. Building up knowledge and skills about c…

"I once had a top-tier business school grad friend claim that programming really isn't that hard and that we're all whiners."

It truly is amazing how people outside of a field always seem to have the best idea of how long something in that field takes to do.

Re: Is developer compensation becoming bimodal?

#334

Isn't part of the bimodality here just a "Silicon Valley Effect", where a few companies in a few very expensive areas compete for talent that has to pay ever more for housing? If one factors out the major tech hubs and only look at e.g. any random city, is the bimodality there too?

I believe the article addressed this with the Madison WI example. The high paying company in Madison was still Google, but if they are paying above average salaries to 100 engineers in a city that may only have 1000 that's still a significant spike in a "random city"

Re: Is developer compensation becoming bimodal?

#335

Earlier quoted context omitted.

This is wrong. Even simple software requires a radically different way of thinking than the way most are trained. I've taught 6th graders how to code and it is clear that the way of approaching problems and creating solutions (i.e. creative thinking, intellectual curiosity, and willingness to collaborate and ask questions) really separates the students from who "get it" and thse who don't. Don't sell it short because…

I disagree, GP is absolutely correct. The reason people think that programming or software engineering is hard is because they were told that it is hard. US and the West in general has this strange culture where those that are supposed to know (teachers, parents, professors) like to tell those who are learning (students, children, etc) that whatever is done is hard. Math, apparently, is hard. Algebra is hard. Trigono…

Algebra is hard - it's an abstract problem-space. It takes learning problem-solving! I've seen brilliant middle-school kids struggle with it because it's a way of thinking that has to be learned. Don't cut yourself or others short by saying these things you think are easy are easy by their very nature.

Doing any of those things you describe with effectively in a mid/large-scale engineering organization with many competing tech priorities is not something an amateur or simpleton could do with any real success. I can put seeds in the ground, but that doesn't make me a farmer.

But also - maybe larger point - many of the things that are not coding/math/science are also quite hard. My father fixed auto-bodies for a living and he made some incredibly difficult, detail-oriented, craftsmanship tasks look dumb-simple. He asked me to tape off a car once so it could be painted - something he thought a 13 year old should be able to do because it was "so easy" was a complete disaster. He forgot how second-nature it had become to him.

So..just because you think it's easy doesn't mean it is. And just because it's hard doesn't mean it's fairly characterized in popular-opinion as being as hard as it actually is.

Re: Is developer compensation becoming bimodal?

#336

>Another possibility is that U.S. immigration laws act as a protectionist barrier to prop up programmer compensation. It seems impossible for this to last (why shouldn’t there by really valuable non-U.S. companies), but it does appear to be somewhat true for now. I feel like this is the real issue here. The reason that the US has great companies is simply from the availability of large amounts of capital. And if the…

This is true. I recently applied for a job in the US and one in the UK. In the US, I got a ridiculously good salary offer. The UK job's compensation was maybe half what the US job offered. My cost of living is also lower than the folks in London, so it's just perverse no matter how you slice it. I honestly don't think it will last, though. Economically, it just doesn't make sense. My recommendation to any of my fello…

Have you seen the revenues? Have you seen the stock prices? Besides that they obviously can afford to keep raising salaries to compete with each other, they also have to keep raising salaries to compete with the devs. Market entry has such a low barrier, they have to essentially pay every developer to not simply take their knowledge, walk out the door, and set up their own shingle.

Re: Is developer compensation becoming bimodal?

#337

One (semi-pedantic) quibble with the article: there absolutely are barriers to entry for programming. Programming is hard! These barriers may not be artificial, but they are real. To use a non-software example, there are barriers to entry to chip manufacturers and power companies even under anarchy. Fabs are tremendously hard to build. Power plants are extremely hard to build. Building up knowledge and skills about c…

This is absolutely true. I've claimed for years that programming is easy and it's not hard to teach to children, but I started when I was six. For older people, the field is hard to break into due to a cognitive barrier I've seen. "I don't know how to program and computers are mysterious-- therefore I don't know how to learn how to program." The biggest impediment to much larger participation in the top tiers of soft…

Part of that might be because you started so early, but part of it might just be some innate properties of how you think. Is your brain good at programming because you started so young, or did you start so young because your brain is good at programming?

Re: Is developer compensation becoming bimodal?

#338

Earlier quoted context omitted.

If you want to know just how hard programming is, try teaching it to someone. Programmers have to remember a vast amount of domain knowledge. Consider the basic task of choosing where you are going to store some data, well first you need to know which options exist and there's dozens of them (do you want Postgres, SQLite, Redis, LevelDB, ..?). Then you need to know the strengths and weaknesses of each. And I hope you…

> If you want to know just how hard programming is, try teaching it to someone. > The lack of barriers to entry actually makes it harder. There are "law schools" and "med schools" to teach you all the knowledge required to become a lawyer or a doctor. There is no "programming school", every programmer is self-taught. A computer science degree hardly scratches the surface. +1024 I have said quite a few times that the…

I call this the essential learning skill and am totally bummed that our public education not only does not cultivate it but actively deters it.

Re: Is developer compensation becoming bimodal?

#339

One (semi-pedantic) quibble with the article: there absolutely are barriers to entry for programming. Programming is hard! These barriers may not be artificial, but they are real. To use a non-software example, there are barriers to entry to chip manufacturers and power companies even under anarchy. Fabs are tremendously hard to build. Power plants are extremely hard to build. Building up knowledge and skills about c…

If you want to know just how hard programming is, try teaching it to someone. Programmers have to remember a vast amount of domain knowledge. Consider the basic task of choosing where you are going to store some data, well first you need to know which options exist and there's dozens of them (do you want Postgres, SQLite, Redis, LevelDB, ..?). Then you need to know the strengths and weaknesses of each. And I hope you…

Which is why I question the usefulness of a computer science program/degree for the vast majority of dev positions. Learning how to learn would I imagine be the best use of such a degree; but then one with at least half a brain, given a few years in the field, starts to pick that up independently.

I chose to avoid computer science degrees because in those days, in the late 90's, it was pretty much 80-90% math classes. I don't regret getting a degree in a totally different discipline: it turns out learning philosophy, history, linguistics, writing, etc. etc. was far useful to me as a person (and, arguably, a worker) than some boring math classes ever would have been.

Have comp sci curriculums improved in that time? Given that job interviews these days last 4-8 hours, require group approval and whiteboarding in front of an audience, I would argue, NO. Obviously, no one trusts the degree.

Re: Is developer compensation becoming bimodal?

#340
post #198

Earlier quoted context omitted.

Where's all the great Indian, Chinese and Eastern European software? Seriously wondering, because most software I saw from these regions was mediocre at best. The whole world uses operating systems, browsers and development tools made in western countries.

My experience is that culturally, places outside of North America and West Europe have lagged in attitudes to software development. Tech is still referred to as "IT" and engineers are still seen as code-monkeys or a cost-centre. This is very much changing, especially in China, but I presume there is still some lag. The other thing worth bearing in mind is that Chinese products are very insular. They are slow to get l…

> places outside of North America and West Europe have lagged in attitudes to software development.

This is right. From my experience working with an offshore team in India, the main problem is cultural. A large majority of the developers in India I've worked with have no interest in furthering their development carrier, but see it simply as a way to transition into management as fast as possible. In practice, this means that you can go from a junior developer to a project manager in the span of 2 years or so. 2 years is not enough time to solidify your knowledge and become the t-shaped programmer that this industry requires. I think one needs at least 5 years of work and experimentation in this field to reach the level where you can contribute positively to a company, without creating huge amounts of technical debt.

Post reply on HN