Live data from Hacker News

Is developer compensation becoming bimodal?

danluu.com

231–240 of 310 posts

Re: Is developer compensation becoming bimodal?

#231
post #21

Does anybody else think the salaries are a little high? Perhaps the sample size is skewed? I'm somewhat senior in software engineering, but I literally don't know a single person making over 200k. Nada. Not one. I also don't know any college grads who started making 150k. That seems absurd, unless you're only looking at certain companies and top performers or something.

my new grad salary at a big tech giant was 130k base + 130 stocks/3 years + 40 signing. and i am not some insanely competitive grad.

Re: Is developer compensation becoming bimodal?

#232
post #21

Does anybody else think the salaries are a little high? Perhaps the sample size is skewed? I'm somewhat senior in software engineering, but I literally don't know a single person making over 200k. Nada. Not one. I also don't know any college grads who started making 150k. That seems absurd, unless you're only looking at certain companies and top performers or something.

200k isn't that rare for senior engineers in large firms in NYC or the bay area.

Not even senior.

Re: Is developer compensation becoming bimodal?

#233
post #192

Earlier quoted context omitted.

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

> If there's at least one course with a focus on independent, code-centered assignments, you can't fake your way through.

Unfortunately this seems to be increasingly foiled by an active market in solutions. I've even seen people hire freelancers online to do their programming assignments for them.

Re: Is developer compensation becoming bimodal?

#234
post #59
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…

$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...

It doesn't cost me any more money to by shares in an index fund from Seattle than it does from Kansas City, or Minneapolis where I graduated.

My job offers in Minneapolis and Seattle were similar from a COL adjusted perspective (70k/yr in Minneapolis vs. 130k/yr in Seattle). However, after two years in Seattle my cost of living has stayed flat while my income has grown by about 20%.

Every single penny of that 20% is going into investments, and that makes a massive difference to my expected net worth in 10 years. And I can take that net worth and move back to Minnesota if I want (there are certainly universes in which that's an attractive option).

edit: I do acknowledge that life situations in which COL adjustments eat up or exceed 100% of the income difference between Seattle/Minneapolis could exist, but they are an edge case and certainly not the rule.

Re: Is developer compensation becoming bimodal?

#235
post #182

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 $$$.

Programming is to CS what telescopes are to astronomy.

Programming Telescopes is what CS is to Astronomy.

Re: Is developer compensation becoming bimodal?

#236

Earlier quoted context omitted.

>> 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. J…

>> 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.

I agree with all you said too ;-)

I would say "Intro to computational complexity" is a more advanced course and the students should already be familiar with recursion from experience prior to learning to analyze time complexity ;-)

IMHO Fibonacci is still a poor example because the most obvious (to me) implementation has always been a loop. Pointing out how a recursive version can be simplified to a loop seems silly, and so does making it more efficient with memoization. But as a first example, sure I suppose. Then you drop the bomb on them and show how it can be done in O(log(n)) by using fast matrix exponentiation.

Re: Is developer compensation becoming bimodal?

#237

Earlier quoted context omitted.

I think you hit the nail on the head. There isn't really a need for a lot of companies to hire a CS degree. Wordpress management? You can hire a Jr PHP developer and be fine. They don't teach PHP in school. Need someone to manage your non e-commerce website? Web Developer. Again, not something they seem to teach CS majors but the title could say Web Developer or Front End Engineer When I took a glance at the job mark…

What I found even worse in the job market is that the job requirements say CS Degree but the job description doesn't match. I've ended up going to University to get a degree because I was being screened out of job applications before my experience counted for anything.

Mind if I ask where you went and whether you found it valuable (in terms of both knowledge gained and screens passed)?

Re: Is developer compensation becoming bimodal?

#238
post #167
post #149

Earlier quoted context omitted.

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

This is surprising. I used to be like your second student according to my father. He taught me most everything I know, and my brother used to be like your first student. I found what personally helped me to overcome the insight bridge/gap was I had to read several different books to find the right analogy that helped achieve the "insight".

There are certain things I definitely did not get in the beginning. But after working very hard I got them.

I am curious what percentage can make the jump as I did. Clearly there are certain "epiphanies" to be had. I almost immediately understood "for" loops, but took several years to get pointers and polymorphism each. I know of people who get some or all of these concepts instantly.

There is clearly the appearance of bimodality here, even in just my experience with just how I learned things.

Re: Is developer compensation becoming bimodal?

#239

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…

I think this must vary a lot between schools.

In my school, SE ended up weeding out quite a few people who couldn't actually program. They were fine at math and "theory," but when it came down to actually programming, they produced garbage which only eventually worked through trial and error.

For most other classes, grading was based entirely on test cases so they could still pass with their frankenstein programs. SE was the only course which required the development of a large application and where grading was substantially based on actually looking at the code.

For the record, there were 0 essays in my SE class and lots of large, in-depth projects.

Re: Is developer compensation becoming bimodal?

#240

Earlier quoted context omitted.

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…

> So housing alone almost completely wipes out your extra income.

I guess it depends on ownership v. rent. Over the long term, housing is a forced savings account.

Even 20 years out, that $7,200 per month is going to be worth a lot of money. Sure, you paid $1.7M in mortgage payments, plus property tax and maintenance. But you also have a place that probably kept pace with inflation and at best, doubled in value. If value climbed at a modest (for SF) 4% per annum, that house would be worth $3.8M in 20 years.

So, in 20 years, you're looking at an additional $2MM (3.8M - 1.7M) increase in network by living in SF. This is assuming your compensation does not include stocks/options, which are rare in the midwest, but very common in SF.

Post reply on HN