Live data from Hacker News

Is developer compensation becoming bimodal?

danluu.com

111–120 of 584 posts

Re: Is developer compensation becoming bimodal?

#111
post #65

Earlier quoted context omitted.

It takes a child several years in full-time education to learn how to fluently read and write. Basic mathematics takes even longer. Similarly, a typical person will become a skilled and highly productive software engineer only through spending several years working full-time at the profession, ideally with the assistance of one or more mentors. Having only a basic grasp of the concepts behind programming does not ena…

> Similarly, a typical person will become a skilled and highly productive software engineer only through spending several years working full-time at the profession, ideally with the assistance of one or more mentors. Having only a basic grasp of the concepts behind programming does not enable anyone to achieve anything particularly useful [...] You can create basic good looking iOS or web or android app without all t…

You can. Others cannot. I think you vastly overestimate the number of people capable of doing that.

Re: Is developer compensation becoming bimodal?

#112
post #49
post #7

I'm partial to the O-ring explanation. Software engineering is uniquely multiplicative because it's possible for a software engineer to create software that does software engineering. Chemical/electrical/mechanical engineers can't use their field to automate their field. Doctors and lawyers are almost exclusively service jobs, unlike the manufacturing nature of engineering. Automation is a force multiplier, and softw…

This feels like it could quickly descend in to self congratulation. So to cast this in a different light perhaps another way to think about this is that programming is just becoming a basic skill, like reading, writing, basic mathematics required for all disciplines. Most dedicated software engineers exist because this new basic skill hasn’t yet gained widespread adoption as a basic skill in other disciplines. But wi…

For programming you need at least someone who has no problems with algebra, that's a bit above the basic maths. I say that not because you will need algebra for programming but because you must be capable of manipulating abstractions.

Re: Is developer compensation becoming bimodal?

#113

Earlier quoted context omitted.

> You can create basic good looking iOS or web or android app without all those years and be extremely useful. We obviously have differing definitions of the word 'useful'.

Several years ago I worked in ad ops for one of the biggest publishers on the internet, making a bunch of ad placements by hand using Dart for Publishers, which was a dreadful product. I also was taking a night course in Java mostly for fun. At that point I didn't even know what functional programming, Big-O notation, or any of your other highfalutin' CS stuff was. All of the company's ads (thousands of different lin…

Doesn't your anecdote actually support my primary point, which is that a programmer with limited knowledge and experience will typically produce poor-quality software? (Or, to use your own terms, apps that are craptacular and awful?)

An application, in my mind, is truly useful when it not only fulfils a user requirement, but is also dependable, scaleable and maintainable. It's not best practice for a business to base a process around some jury rigged POS that will be thrown away in horror when an experienced developer eventually gets a look at it.

But hey, we can agree to differ on this.

Re: Is developer compensation becoming bimodal?

#114
post #50
post #40

Earlier quoted context omitted.

Yes, the occasional expectation that you should have a blog to make you a decent developer annoys me. I am pretty poor at writing and don't have a lot to say that I want to broadcast to the world. Answering Stak Overflow questions suits me better as a way of demonstrating that I know something.

a way of demonstrating that I know something It's the expectation that you need to demonstrate it at all, is the problem. How many lawyers sue people for fun so they can blog about it, how many doctors do surgery at home and stream "live cutting"? We have created a treadmill that we can't step off

to be fair, the bimodality in the population of lawyers/doctors is an "are you in or out" system that comes from the generally outdated and arduous graduate credentials for these careers administered by bureaucratic boards. medical school, law school, and so on, are all extremely costly investments of time and capital for a shot at attaining that professional certification, and there's generally little recourse if you continually fail.

"software developer," as a label, doesn't signal that kind of credentialing (although something like advanced degree might), so our labor to differentiate ourselves goes elsewhere. i don't want to imply that this isn't a problem for our profession, but the amount of "wow we software engineers have it so difficult" sentiment in this thread seems high

Re: Is developer compensation becoming bimodal?

#115

Developer salaries in the UK are very modest. Companies don't even know how to identify good developers, so they have no hope of competing over them.

Not sure on that - nowhere near the US equivalents, but total comp (salary + bonus + equity) of approx £130-140K is what is apparently "competitive" for engineers who are "senior" but not management in London (according to my employer who does all of the usual "market rate adjustment" stuff).

£130K feels like quite a lot of money to me.

Re: Is developer compensation becoming bimodal?

#116
post #98

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…

> In engineering, bimodal distributions are the sorting of people that naturally have the ability to easily reason about complex distributed systems with many concurrent moving parts and people that cannot. Increasingly, the market is discriminating on this characteristic and it is reflected in wages. What faith in the system :). The truth I think is "it's who you know" more than "what you know". The best paid engine…

It's both. You have to know people of whom you impress with your ability.

Re: Is developer compensation becoming bimodal?

#117
post #97

Earlier quoted context omitted.

Probably 250/month for health insurance plus 20% pension contribution and few unemployment benefits.

Programmers don't need unemployment benefits. You can always find a job. Maybe unable-to-work (like accidents etc) insurance.

> Programmers don't need unemployment benefits.

That's what the person at the (un)employment office said once to me. If you know how to count, count on yourself because most of the insurance contributions simply fall into a black hole.

Re: Is developer compensation becoming bimodal?

#118
post #50

Earlier quoted context omitted.

a way of demonstrating that I know something It's the expectation that you need to demonstrate it at all, is the problem. How many lawyers sue people for fun so they can blog about it, how many doctors do surgery at home and stream "live cutting"? We have created a treadmill that we can't step off

to be fair, the bimodality in the population of lawyers/doctors is an "are you in or out" system that comes from the generally outdated and arduous graduate credentials for these careers administered by bureaucratic boards. medical school, law school, and so on, are all extremely costly investments of time and capital for a shot at attaining that professional certification, and there's generally little recourse if yo…

"software developer," as a label, doesn't signal that kind of credentialing (although something like advanced degree might)

A degree from a well-known school and a few years at one or more prestigious companies is an equivalent. Let's imagine a hypothetical developer who graduated from MIT then spent 3 years at Google. He or she would be as "credentialled" in the sense of the piece of paper opening doors as someone who'd gone the law school route and passed the Bar. That person will pass every resume-screen and get invited to an interview for the rest of their careers with just those two names listed.

Re: Is developer compensation becoming bimodal?

#119
post #32

Earlier quoted context omitted.

In the US, my salary was about that (6250 USD/month) straight out of university 12 years ago, but of course I only had 2 weeks paid vacation. I did get bonuses, but no pension. IIRC taxes are slightly lower in Germany too. After putting the maximum amount into a 401(k) (self funded, pre-tax retirement) and paying taxes, I took home around $3500 per month, excluding bonuses.

That's about what I get after taxes, too (in EUR, ~3.6k EUR), but my retirement (with 7% interest) and healthcare costs are covered completely. Also I have about 40 vacation days and a 37h work week :)

would you have any advice for new graduate entering the market? where to look for and how when searching for jobs?

Re: Is developer compensation becoming bimodal?

#120

Earlier quoted context omitted.

Several years ago I worked in ad ops for one of the biggest publishers on the internet, making a bunch of ad placements by hand using Dart for Publishers, which was a dreadful product. I also was taking a night course in Java mostly for fun. At that point I didn't even know what functional programming, Big-O notation, or any of your other highfalutin' CS stuff was. All of the company's ads (thousands of different lin…

Doesn't your anecdote actually support my primary point, which is that a programmer with limited knowledge and experience will typically produce poor-quality software? (Or, to use your own terms, apps that are craptacular and awful?) An application, in my mind, is truly useful when it not only fulfils a user requirement, but is also dependable, scaleable and maintainable. It's not best practice for a business to base…

He produced useful, if poor quality, software. It did helped at a time and when it cease to be useful, it is small enough to be completely replaced with something else (instead of maintained).

It is ok to throw away things and not everything needs to be scalable.

It is also not best practice to base everything on the idea that everybody must be experienced senior to do anything. Many tasks are suitable for inexperienced juniors, because that is enough and it is small enough to throw it away if it goes bad.

The things that were most useful for people I worked for were not the things that were most difficult to create.

Post reply on HN