Live data from Hacker News

Is developer compensation becoming bimodal?

danluu.com

141–150 of 310 posts

Re: Is developer compensation becoming bimodal?

#141

The discussion about bimodal pay distribution is interesting, but I think there's a much more parsimonious explanation to it. Most of the companies that are going to be paying software developers $150k+ are based in or around SV, where rent is abnormally high. But what's even more interesting to me is another question the author discusses halfway through the article: > How is it possible that programmers are paid so…

But isn't OmniCorp married to their devs too? Those devs probably took a while to get up to speed on the proprietary stack, and outside devs would have a ramp up time. Not to mention outside devs would be hesitant to take the job seeing as they'd get stuck learning proprietary technology making them less mobile.

Re: Is developer compensation becoming bimodal?

#142

Funny thing that I was having a discussion with one of my friend who is in the middle of salary negotiation. The company is pushing him hard to accept the offer well below than his expectations and he was expecting more hike as he was relocating to bay area. He was quite disappointed that he didn't get the salary figure he was expecting but still wanted to accept the offer as he didn't want to loose the opportunity.…

> The company is pushing him hard to accept the offer well below than his expectations

That sounds like leverage. Did he ask for more? Depends on the company. Lots of small companies can't pay what Google does. Also possible that your friend's expectations aren't realistic.

> How much can you save on operating costs by paying employees less?

In a software business, a lot. Employees are the primary operating cost in many software businesses.

> Why are they not transparent like finance guys, lawyers, doctors etc.

I could be wrong, but I believe most employees in all industries in the US are either asked or implicitly expected to keep their compensation to themselves. I also believe that salary-transparent organizations outside of public institutions (government, universities, etc) are fairly rare. Salary is default private AFAIK, has been for a long time, and has nothing to do with software vs other industries.

Re: Is developer compensation becoming bimodal?

#143
post #93

Earlier quoted context omitted.

You could easily not have a car in Kansas City or any reasonably large city if that's a choice you want to make.

I have to assume you're trolling at this point. The quality of public transport varies massively between cities. Almost every city in America besides NYC is built under the assumption of car ownership and, for that reason, the vast majority of people have cars. NYC is the only city in the US where the majority of people go without one, because the infrastructure is in place to support it.

> NYC is the only city in the US where the majority of people go without one, because the infrastructure is in place to support it.

I think you've actually got this backwards. People in NYC would prefer to own a car, just like everybody else in America. The difference is that in NYC it's a lot more expensive and difficult (traffic, parking, etc). That, coupled with the presence of a strong transit system, results in low rates of car ownership.

In Kansas City, to take your example, there actually is decent bus transit [0]. But owning a car is also dirt-cheap and far more convenient than owning one in NYC. So people own cars. I live and work directly on a train line in St. Louis, but I still own a car, because, why not? Cost of ownership is very low -- parking is included at my apartment (and free and easy basically everywhere else) -- and it gives me more options. But I definitely don't need it.

In summary: 1) You absolutely can get around by transit in many (most?) largish Midwestern cities; 2) People own cars anyway because it's cheap and convenient; 3) People choose transit not when it's merely convenient, but when it's more convenient than car ownership.

[0] http://ridekc.org/assets/uploads/documents/SystemMap.pdf

Re: Is developer compensation becoming bimodal?

#144
post #141

The discussion about bimodal pay distribution is interesting, but I think there's a much more parsimonious explanation to it. Most of the companies that are going to be paying software developers $150k+ are based in or around SV, where rent is abnormally high. But what's even more interesting to me is another question the author discusses halfway through the article: > How is it possible that programmers are paid so…

But isn't OmniCorp married to their devs too? Those devs probably took a while to get up to speed on the proprietary stack, and outside devs would have a ramp up time. Not to mention outside devs would be hesitant to take the job seeing as they'd get stuck learning proprietary technology making them less mobile.

True, but you can't re-negotiate your salary once you're in the job. So OmniCorp has all the leverage there.

Re: Is developer compensation becoming bimodal?

#145
post #47

Earlier quoted context omitted.

I agree, I don't think there is much difference in intrinsic ability. I'm absolutely convinced that every healthy person can become a really good programmer. But becoming a really good programmer requires putting in a lot of time doing programming, and a lot of students don't put in that time.

Well, if you enjoy something, it's much easier to put a lot of time in to figure it out. For example, I became a software entrepreneur about five years ago making money from my own projects. Dealing with a lot of business related "work", I actually discovered I also really like law, in particular tax law. A friend of mine was a pretty good lawyer (hung up his hat to do more entrepreneurial stuff) and I occasionally a…

>> Well, if you enjoy something, it's much easier to put a lot of time in to figure it out.

I started programming as a kid because I wanted to make games. It was fun. The problem was that I didn't get the more formal stuff until college, and it made me a much better programmer. But I could also see how boring the data structures class would be to someone with no experience because they really didn't have insight into how applicable some of the concepts could be.

I have always advocated for creating games (and other useful things) to teach programming. Most if not all the major concepts can be applied to games. Why anyone would use the fibonacci sequence to teach recursion is beyond me - it's a stupid solution to a stupid problem. Let's talk about board games and minimax search. Yeah, you have to build a lot of code before that comes into play but you'll learn a hell of a lot more and have way more fun doing it.

Doing simple games like 2D scorched earth really brings home basic vector math and physics. Any 80's arcade game with a thrust button allows you to apply that stuff.

Any kind of 3d graphics goes right along with linear algebra - a topic that is not required by all CS programs even though matrix operations run 24/7 on supercomputers.

Text processing. chat bots anyone?

I used to have an example that used trees but it escapes me right now. Chess doesn't really count because you don't store the tree. We can go back to 3d graphics of course - photon mapping, kd-trees, various BVH structures.

If you start with data structures and algorithms, peoples eyes will glaze over. If you start with simple things that are somewhat interesting you'll get people interested and then you can progress them slowly to more advanced topics by introducing problems they'll want to solve.

Re: Is developer compensation becoming bimodal?

#146
post #48
post #36

Earlier quoted context omitted.

Interesting theory. I have a different one, derived from teaching 1000s of students over 2 decades. the bimodal distributions comes from two sets of people: one set working hard and putting the hours in until the master the subject, the other set being lazy, cheating, and don't put the hours in, so they never achieve mastery. Appearance and substance.

How is it different?

In meric's model, the student who get good grades aren't the same ones achieving mastery. In mafribe's, they are.

Re: Is developer compensation becoming bimodal?

#147
post #15

I teach computer science at a well-known, large and mediocre university. I see bimodal grade distributions all the time. The more technical a subject, the more bimodal the grades. In fluff subjects like software engineering where grading relates to essay writing and group projects, grade distribution tends to be gaussian. OTOH in technical subjects where I grade by automated test suits, basically students fail almost…

There's a paper from the University of Toronto called "Evidence That Computer Science Grades Are Not Bimodal": http://www.cs.toronto.edu/~sme/papers/2016/icer_2016_bimodal...

Re: Is developer compensation becoming bimodal?

#148

I suspect the bimodal distribution for programming and law have the same explanation: a group of highly profitable firms targeting a subset of the overall industry have imposed a de facto hiring floor that limits supply, raising wages.[1] Why is Cravath raising salaries while 85% of legal grads are taking jobs making half or less of its old salary scale? Because it has a hiring floor. It won't hire lawyers that aren'…

Most of the comments seem to be focusing on the supply side. I agree the demand side is probably the greater factor.

Yes, I agree.

The web-scale software segment is at a unique point in time where it is still in an "arms race" mode of growth for the best employees between its competitors AND making tremendous profits.

Re: Is developer compensation becoming bimodal?

#149
post #47

Earlier quoted context omitted.

I don't think the conclusion follows from the data. It's not implausible that in computer science you need to "get" a whole bunch of things before it clicks and you start being productive, and a bimodal distribution of grades would then be indicative only of people who are further along in the learning process vs. those that have not yet reached that critical point, rather than any huge difference in intrinsic abilit…

I agree, I don't think there is much difference in intrinsic ability. I'm absolutely convinced that every healthy person can become a really good programmer. But becoming a really good programmer requires putting in a lot of time doing programming, and a lot of students don't put in that time.

I've been programming for nearly 40 years. Based on my interactions with others, programming is an intrinsic ability. People that don't have that intrinsic ability can cut'n'paste their way through simple programs, but really struggle to understand what they are doing and why their program works (or not).

Anecdata: My high school got access to a computer (dialup modem). I essentially taught myself programming and then took the official class to teach me programming. Aced it, obviously. My younger sister saw how much I enjoyed programming so she took the class and struggled tremendously. I tutored her... I recall a problem where she had to do an operation repeatedly, an obvious (to me) application of a "for" loop. She struggled with why one problem pattern required a "for" loop and one pattern required an "if" statement.

My sister is very smart and was a straight "A" student in things that she could memorize, graduated from college summa cum laude (IIRC). She became a very good elementary school teacher. Myself, I was very much not an "A" student, especially in things that required me to memorize facts, but I "got" programming instantly.

More anecdata: I am now mentoring FIRST Robotics teams. I continue to see a dichotomy in aptitude for programming... two years ago I walked a student through a program for controlling a robot. She got pretty excited and interrupted my explanations and said "wait, let me think this through"... and she (verbally) worked out the logic of a complex "if" statement. She took over programming that year, is now in college pursuing a Computer Science major, and loving every minute of it.

Still more anecdata: Last year and this year I have a student that loves computers and intends to pursue it as a carrier, but he isn't a "natural." I spent a huge amount of time last year coaching him, but he still struggles to understand what pattern he is looking at and why e.g. he needs a "for" loop to solve the problem.

I could give a lot more anecdata, but I've worked with Robotics students that can program e.g. move sequences once I coached them through the details and I've worked with Robotics students that took off and created complex programs with nothing more than a simple introduction to constants, variables, loops, and conditional statements.

Re: Is developer compensation becoming bimodal?

#150
post #52

Earlier quoted context omitted.

I imagine you've never been the one hiring or interviewing developers, have you? There is an amazing bit though: there are the ones that you classify as "surely worthless", but then you see they can indeed get some jobs done , so a non-technical manager or HR-person can easily confuse one of those that "can sometimes program computers to do useful stuff or keep things running" vs someone who can do "software engineer…

How did your category-three people drag the project down?

I think there are some infamous examples from the old days of Microsoft. Think of the programmer who insists on using an obscure dialect of Lisp because of all the "clever" things they can do in it. Even if they work, and are genuinely clever, it can be a huge pain for the less brilliant/obsessed people to interact with.

In general, this seems to be a problem that arises when smart, capable people (who are short on common sense and teamwork) become so valuable that they get to call shots no one else can accommodate.

Imagine Mel being on a team of 15 people: http://www.catb.org/jargon/html/story-of-mel.html

Post reply on HN