Live data from Hacker News

Is developer compensation becoming bimodal?

danluu.com

211–220 of 310 posts

Re: Is developer compensation becoming bimodal?

#211

Earlier quoted context omitted.

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 c…

Well; what these people have not learned is that the whole purpose of a "programming language" is NOT to tell the computer what to do. It's to tell your team mates what you've told the computer to do.

People who don't get this are really the worst to work with.

Re: Is developer compensation becoming bimodal?

#212
post #40

Earlier quoted context omitted.

Actually doesn't your experience hint at the opposite trend in the working sector? If everyone (roughly) either fails programming, or aces it, then the working professionals are the ones who passed AND excelled.

In my experience, there is enough fluff and non-programming, abstract theory classes in a CS major that people who cannot program their way out of a wet paper bag can complete the degree, and even get high marks. These people can get jobs, and coast along for years at sub-mediocre levels of production, in most cases.

I'm going to be a bit more charitable and say that those people find non-programming jobs in the field.

One person I interviewed stood out in my mind for having completed a Master's in CS, was able to classify the problem I posed her as belonging to a certain type and told me how it should be approached. She still couldn't even begin to write the (simple) code to solve it, however.

This person was obviously smart, and also quite obviously had no programming skill.

Re: Is developer compensation becoming bimodal?

#213
post #59

Earlier quoted context omitted.

$80k in Kansas City and $150k in San Francisco is exactly the same amount of money after accounting for differences in the cost of living. https://www.wolframalpha.com/input/?i=$80000+salary+Kansas+C...

I hate these reductive COL adjustments. They're preposterous. Even if you assume that all your expenses are linearly multiplied (hint: Amazon costs the same no matter where you live), your savings are a lot more afterwards. If you were living on $40k/yr in Kansas City, you could move to SF and suddenly be saving $80k/yr. Would you really rather have $600k in Kansas City than $1 million in SF?

It's not preposterous within a certain income range. If your household income is $300,000 in SF (for a married couple), your net pay is about $14,800 per month. If it's $150,000 in Kansas City, MO, your net pay is about $8,600 per month. So you're talking about an $6,200 per month difference.

You can buy a 3BR, 2,000 square foot in Overland Park, a great school district, for $200-250k. You'll be about a 15-20 minute drive from your work downtown. What does a 3BR, 1,700-2,000 square foot house run you within 15-20 minutes of downtown Mountain View, in a good school district? It looks like $1.5 million+. That's the difference between a $7,200 per month mortgage and a $1,200 per month mortgage.[1]

So housing alone almost completely wipes out your extra income. Then you have other costs that scale with cost of living: house cleaning, after-school child care, etc. You'll pay more for gas, you'll pay almost double for a cocktail, etc.

Obviously, once you're up to $1 million per year, your're better off in San Francisco. But even in SF few programmers are earning that much. $300k is a solid household income in that area, and in that range you're not better off, materially, than you would be in Kansas City.

[1] A family making $300k in the Bay Area is getting close to not even being able to qualify for a mortgage big enough to buy a house close to work.

Re: Is developer compensation becoming bimodal?

#214

Earlier quoted context omitted.

> In fluff subjects like software engineering where grading relates to essay writing and group projects How is SE a "fluff subject?" Why are they writing essays? When I took SE we had individual programming projects and a group project to write a compiler. Not fluff at all.

SE is often relegated to a "fluff" subject in schools simply because it's, well, not very challenging. Classes based around the topic of SE are often topics like "Formal Software Development Methods" where you learn about verification of concurrent programs, formal symbolic testing, contracts, explicit model checking, etc. These are all "soft skills" and hard to directly generalize into a programming assignment, so s…

At my school we wrote a part of a model checker (in C, with pthreads) for concurrency, the rest of the assignments were (as I recall) a mix of questions and math proofs, so you either got it, or got to redo the questions.

In general I only recall writing one simple essay and it was, indeed, for our completely fluff project planning class, which was almost entirely about the instructors homegrown, mostly bullshit agile-like system.

Re: Is developer compensation becoming bimodal?

#215

Earlier quoted context omitted.

This adjustment is on the extreme end to be sure. If you make 80K where I am and live in the square footage I do, a comparable place in SF is around 3K* more expensive per month. So there's a very real, ~36K negative adjustment to that 120K SF salary for me. *editted

I really think GP is oversimplifying, and I have lived in economically disparate areas with the same salary in each. I moved from southern California where I made roughly $60k. Then I move to the Southern US. I changed industries and settled in at $50k. In terms of raw salary, I made $10k less, but my money went infinitely further in the South. I wasn't hurting for money in CA, but I had to be much smarter about my f…

His point is that commentary on the cost of living tends to oversimplify. Different regions don't just have a linear multiplier that applies to all expenses, but that's what these surface-level shallow surveys tend to imply.

What escalates in expensive areas is really just housing and other costs related to physical space, like parking and transit. As he said, Amazon costs the same everywhere. So do your cell phone and computer. Utilities, food, gas, clothing, medical, all of those really don't vary all that much. They might swing by 50% between the cheapest and most expensive areas in the US, but that's nowhere near multipliers like 3x that people try to claim from just the housing data point.

Re: Is developer compensation becoming bimodal?

#216

Earlier quoted context omitted.

Then the point remains. Why are people who can't code getting the CS or EE degrees? Generally, the degree is supposed to indicate some sort of sufficiency with development. Probably universities are dumbing down requirements for $$$.

>Probably universities are dumbing down requirements for $$$. I 100% believe this is true. When I was in college it was pretty staggering to see my fellow classmates receive passing grades and get shoveled through the programs despite never grasping the basic fundamentals of CS. These were people who, at the end of CS 101, still couldn't tell you the difference between a string and an int, who after CS 202 _still_ co…

I don't think its that universities are dumbing it down for $$$. It's that they are teaching and testing on skills that are not related to 99% of software development.

I went to University of Texas, and managed to do really well on all the tests and projects without learning how to code. But that wasn't because anything was easy. There were a lot of very tough math, and logic classes that some of my class mates who had been working on open source projects since they were 16 did terribly at. It's not easier skills, it's just different skills.

99% of software development challenges are how do you write/maintain large projects without getting totally crushed by the complexity. This is a skill that no one tries to teach, and is also very hard to teach. Similar to being a good writer, it is very subjective, and CS professors are very uncomfortable grading subjectively. It's also harder to create homework for students than just building out toy projects.

Re: Is developer compensation becoming bimodal?

#217
post #80

Earlier quoted context omitted.

I totally disagree. Housing is such an over riding cost that no amount of things you can buy on Amazon will save you. The housing prices are rising so fast in SF that it makes estimates like this one LOW. you would be unlikely to save any money at all living in SF on 150k but Kansas has such a wide variety of hosing options that range form super cheap to substantially affordable that you could easily save as much or…

> you would be unlikely to save any money at all living in SF on 150k This statement is farcical. You do realize that the median wage in SF is less than $100k. How do you think those people are living? Have you actually lived in SF or NYC? You're totally out of touch with the actual costs. Yes, housing is expensive. But you can still easily get a solid apartment for $3k/m. Add in another $2k/m for food (high!) and th…

> Unlike you, I'm actually using real numbers and the reality on the ground. I made $150k/year in NYC and managed to save almost $100k/year.

Who does your taxes? Your take-home in NYC on a $150k/year salary is going to be like $90k. Spend $5k/month on food and rent, and you're saving like $20-30k/year.

Re: Is developer compensation becoming bimodal?

#218
post #10

If there's a pronounced bimodal distribution, it seems like the biggest driver of it would be the lumping of various programmer specialties into one giant bucket. It seems like the 2 sub-buckets would be: 1) $100k or less: backoffice programmers where software itself is not the product sold. Also known as enterprisey/LOB/CRUD developers working outside Silicon Valley. (E.g. programmer working on mortgage servicing so…

You're the first person in this thread who I think has an ounce of reality about this situation. I looked at this article, saw the proposed income distribution, and immediately realized whoever was writing the article doesn't have any awareness of what things are like outside of the largest urban tech centers.

Re: Is developer compensation becoming bimodal?

#219
post #192

Earlier quoted context omitted.

Then the point remains. Why are people who can't code getting the CS or EE degrees? Generally, the degree is supposed to indicate some sort of sufficiency with development. Probably universities are dumbing down requirements for $$$.

One problem seems to be that a lot of schools have a strong emphasis on group work. Usually there's a ton of non dev work to go along with projects - documentation, whatever paperwork the project requires, so someone can make a useful contribution without being able to code. So a weak coder can get through the program as long as he can pass the exams.

And this, I think, is why good programs tend to have a known "weed-out" course. If there's at least one course with a focus on independent, code-centered assignments, you can't fake your way through. That forces some students out, and others to shape up and actually put in the effort they might have coasted by without. Programming and hard pseudo-code tasks on exams can play a similar role.

Teaching group work for programming is great. Among other things, it gets lots of side benefits like promoting source control practice and distribution of code tasks. There just needs to be something that consists of "sit down alone and code".

Re: Is developer compensation becoming bimodal?

#220

Earlier quoted context omitted.

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…

I agree with all that, and in my experience, students really react well to courses and coursework based on doing games.

And yet, I will use Fibonacci as introductory example tomorrow when I teach "Intro to computational complexity" this week. The great advantage of Fibonacci over just about anything else is that it is so short, so simple, that everybody can immediately understand it. There is no preparation needed. Just about anybody who can breath, can understand Fibonacci.

Despite this simplicity, Fibonacci is so rich: You can use it to illustrate: Recursion, exponential complexity, going from exponential to linear complexity by memoisation. Relationship between loops and recursion. Tail calls. Stack space used by compilers, the limitations of compilers that do not do proper tail call optimisation,generating functions, recurrences, solving recurrences.

Post reply on HN