Live data from Hacker News

Is developer compensation becoming bimodal?

danluu.com

351–360 of 584 posts

Re: Is developer compensation becoming bimodal?

#351
post #341

Earlier quoted context omitted.

Once you've become a highly paid software engineer it's very human to try and justify your status by claiming that programming is exceptionally hard and therefore your status/salary is justified. That's not to say that the job isn't hard... but lots of jobs are hard. Dealing with the constant loss of people around you if you work in a retirement home or hospice is also hard; but those jobs aren't rewarded equally.

"Dealing with the constant loss of people around you if you work in a retirement home or hospice is also hard; but those jobs aren't rewarded equally." That is a completely different sense of the word "hard" from "programming is hard". Working in the retirement home requires enduring emotional pain and sacrifice. Programming (at least some kinds of programming) requires a high degree of skill, knowledge, and intellig…

I don't know why the parent went to hospices and nursing homes as a counterexample, but your response is missing the point: lots of jobs are hard in the way that programming is hard, and don't have the same compensation levels.

Of all the programmers I have met in my life, I would trust only a select few to do the things that most professional engineers do on a daily basis. For example, control system engineering, where quite literally, life-and-death attention to detail is required. The scope of the knowledge required and (in)tolerance to error is astounding. Meanwhile, try to get a programmer to do something as essential and mundane as writing comments. It's like this eternal, "unsolvable" problem in the industry that nobody can fix.

Most of the well-paid programmers I know (including quite a few at AmaGooFaceSoft) can't wrap their heads around databases well enough to deploy a low-traffic web application. And this industry is now rather routinely hiring totally inexperienced people, right out of bootcamps, at salaries that are mind-blowing to most professionals. It's clear that this stuff isn't rocket science.

Re: Is developer compensation becoming bimodal?

#352

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…

> 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 have been keeping your knowledge up-to-date because the answer in 2018 is v…

> Compare to mechanical engineering, where if you use the wrong steel your bridge will fall down; or to medicine, where if you prescribe the wrong drug someone might just die.

Dereference the wrong pointer and the rocket blows up. Forget a memory barrier and the robot brain gets corrupted memory and sees human life as an impediment to paper clip maximization. Forget to zero out some memory in a goto: cleanup section and suddenly there's a back door in a popular security library leaving machines to the whim of any curious script kiddie.

I know a lot of people aren't working on real time systems or encryption libraries that have the same level of significant consequences as what you're describing, but some are.

Re: Is developer compensation becoming bimodal?

#353

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…

> 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 have been keeping your knowledge up-to-date because the answer in 2018 is very different to the answer in 2008.

And yet there are a lot of examples of companies that got it wrong, picked objectively-shitty options, and still succeeded massively and then had the money to pour into cleaning up the resulting messes.

There's countless options, but they don't seem to matter as much as people believe. As much as it would be nice to think Lisp is a superweapon and it's easy to replicate Paul Graham's stories, that's not what's happening in the market.

There's an interesting split the OP discusses that seems to largely be a B2C vs B2B thing. With a few exceptions at the high end, many of the winners in both of these spaces aren't determined by "purely better technology" but by other things. However, in the B2B space, battles can be won much more easily on the strength of salespeople and business strategy, whereas in the consumer space, it requires more skilled implementation of ideas - great UX doesn't require technically great programming, but it requires competent execution of the original idea, in a way that a medical records system sold to a hospital administration board doesn't.

Re: Is developer compensation becoming bimodal?

#354

Yes, it is. And the example used in the article of chemical engineering reinforces the point. It ties into computer science quite nicely. To become a chemical engineer, you first have to complete the course work for a degree in chemistry. Chemistry as chemistry is an extremely modular subject matter; you can solve most problems in discrete steps in isolation. In a computer science sense, chemistry is about pure funct…

>To become a chemical engineer, you first have to complete the course work for a degree in chemistry. That is incorrect. Look at the programme of study for a chemical engineering undergraduate degree [1]. It doesn't cover anywhere near the same content as an undergraduate chemistry degree [2]. [1]: http://www.imperial.ac.uk/study/ug/courses/chemical-engineer... [2]: https://www.imperial.ac.uk/study/ug/courses/chemist…

Yep.

My classmates from Chem.E had more classes in common with us mechanical engineers than any other branch.

Thermo, fluid dynamics, CFD and heat transfer is where it is at.

Re: Is developer compensation becoming bimodal?

#355

Earlier quoted context omitted.

I have an issue with that: law school and medical school certainly do not teach you how to practice law or medicine. Computer science sounds akin to both: you get theoretical underpinnings (many of which are outdated or will be unneeded for your specialty) but all your actual learning is on the job.

Agreed. I've done both law and programming. Law school categorically does not even try to teach aspiring lawyers how to practice. The classic curriculum is designed to teach you how to "think like a lawyer." There are exceptions here and there, but if you want practical skills, you have to deliberately look for the handful of seminars and clinics that teach them. Between learning to program and learning to practice l…

Learning how to do X can be very easy if you accept an arbitrary level of competence as enough to claim "I know how to X".

I have the feeling that a lot of people can believe they have learned to program while all what they did is to go past their chosen programming language syntax and grasped a few core CS concepts.

That's quite a low barrier to entry, but if that's what people mean when they hear the word "programming", then I'd argue that Software Engineering would be a better name for the field we're here comparing with practising law.

Re: Is developer compensation becoming bimodal?

#356

Yes, it is. And the example used in the article of chemical engineering reinforces the point. It ties into computer science quite nicely. To become a chemical engineer, you first have to complete the course work for a degree in chemistry. Chemistry as chemistry is an extremely modular subject matter; you can solve most problems in discrete steps in isolation. In a computer science sense, chemistry is about pure funct…

Boss studied chemical engineering, he's not remotely a techie but is ridiculously smart and he assimilates stuff at a speed I've rarely met.

Re: Is developer compensation becoming bimodal?

#357
post #310

Earlier quoted context omitted.

> U.S. immigration laws act as a protectionist barrier to prop up programmer compensation It's almost impossible to immigrate to England (much harder than the US), yet programmers in SF are far better compensated than those in London.

> It's almost impossible to immigrate to England (much harder than the US), yet programmers in SF are far better compensated than those in London. Immigration per se may be hard, but working is much easier than the US; I know several Romanians working as programmers in London.

Immigrating to the UK from Romania (or the rest of the EU) is extremely easy.

1) Move there. You can do this even without a job.

2) Book an appointment with the Job Centre (usually used by people seeking work), where you must show your passport.

(Start work if you like. Your employer may ask to see your passport, if you don't yet have the tax number.)

3) Tax number arrives a week or a few later; tell employer.

The process is actually the same for British citizens without a tax number, e.g. a child born abroad who moves "home" to the UK.

Re: Is developer compensation becoming bimodal?

#358
post #208
post #200

Earlier quoted context omitted.

I don't think that the code created for example at Google Warsaw is worse than code created at Google Mountain View (you can even check yourself, people in Warsaw work on Kubernetes, which is open source). And yet, the Warsaw salary is maybe 30-50% of the salary in MV.

Great example, very representative. Largest global tech company vs. your average offshore developer.

I don't know the situation in other countries, but in Poland Google's approach is rather typical. American corporations typically just set up an office here instead of buying services from some shady local offshore company. I don't see much of the latter around (and incidentally, the big ones are American as well - IBM, Accenture etc.)

Re: Is developer compensation becoming bimodal?

#359
Yeah there things are starting g to be filtered down to just easy and very hard in software. Easy is when all the high level apis helping us to a lot of work on easy tasks. The hard part is when you really want to customize it and have many different parts work together nicely and workable. So there is a big gap in knowledge between those 2, hence we sometimes get bimodal payments.

Re: Is developer compensation becoming bimodal?

#360
post #143

Earlier quoted context omitted.

Truth be told, most software development doesn't require a high amount of intelligence, skill, or innate talent. I'm not afraid of a superior person taking my job. They would be no better at it than I am. I would probably be more productive if I were less intelligent (or on booze, but employers frown on that).

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…

Does it have to be though? I'm sure reading/writing were thought the same for women/blacks/etc.. at some point in history.
Post reply on HN