Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Hard to take this seriously with all the straw men and broad generalizations.

Reality check: there has never been a hotter seller's market for software engineering talent. The fact that you have not landed a job does not mean that supply is not short in general. Rather than blowing your stack at some recruiter who you heard on a podcast interview, you might want to reflect on yourself and how you might be coming off in job interviews.

As far as low pay goes, yeah, welcome to the labor market. It's easy to write a blog post about how companies need to pay more, but hard to reconcile the reality that if they don't have FAANG cash flows, "market rate" for developers may not be viable, regardless of management's good intentions or lack thereof.

And with regard to bad interviews, remember interviewers are individuals, with skillsets all over the map. Once you get more senior it gets even more frustrating to be judged by someone who has a fraction of your experience. Trust me when I say there is no value in dwelling on this or getting your undies in a bunch. Suck it up and figure out how to play the game (read CtCI, practice on interviewing.io, ask for feedback) and land the job, then do the best work you can every day. Angry screeds will not change anything about the industry and will not help you.



It's basically both.

When I graduated with my CS degree, I was _thrilled_ to be offered 50k. Now new grads feel lowballed at 200k TC. So hard not to say that the market hasn't adjusted somewhat.

At the same time, part of the reason companies even have to pay so much is because they've made interviewing so damn hard. I personally know many people at great companies like Google and Twitter who are _desperate_ to change, but they are too afraid to interview. They feel they got lucky and got through the process once and are unlikely to be able to repeat it, and they might be right. The industry has taken "false negatives are better than a false positives" to an absurd extreme and then complain there's a shortage.

It's one or the other. If you're saying "a false negative is ok" you are implicitly saying "it's totally fine if we fail to hire good developers", and you can't say that then turn around and complain it's too hard to hire good developers. Which is _exactly_ what all my recent employers have done.


> It's one or the other. If you're saying "a false negative is ok" you are implicitly saying "it's totally fine if we fail to hire good developers", and you can't say that then turn around and complain it's too hard to hire good developers.

This is it in a nutshell, good summary.

So many of these companies have built an arbitrary interview process that takes pride in rejecting nearly everyone, regardless of actual skill in building products. So with that criteria, yes, it is hard to hire anyone. Which doesn't mean there aren't tons of perfectly competent people available, it's just that none of them can pass the silly interview because they haven't spent 10,000 hours memorizing leetcode.

Typically someone will say "the bar is high", but that's not at all the case. The bar is in the wrong zip code. Because that kind of interview process measures nothing relevant to job performance. So the best developers, who are busy building successful products, will inevitably fail because who has time to spend on irrelevant interview prep.

Interview for the job based on actual experience and you'll find, like I do, that it's not hard to hire competent people.


I spent nearly a year interviewing at various companies and never landing a job despite decades of practical, relevant experience. It was extremely demoralizing and worrisome, and I believe the majority of the issue was extremely difficult interview processes.

The size of the company didn't matter - in fact, the smaller the company, the more difficult and onerous the process was. One place with six employees asked for a full day's work (offering $150 compensation). One place turned me down because I didn't have enough Scrum experience and the Scrum Master - a real job title apparently - didn't think I'd be a good fit.

So, "false negative" is right.


Sometimes I wonder if small companies are just full of bitter google rejects who have decided to make the interview process miserable to boost their own egos. I went through a year of being unemployed not too long ago and it was very painful. Receiving no feedback is the worst part by far.

A recent project required some work in jquery. All of the other developers stated that it would be difficult and take them too long because they were not familiar with it - being react devs themselves - so it was left to me. I was shocked. The idea that jquery could possibly be described as being more difficult than react is amusing at best. Sure, it was largely an excuse on their part, but I was left speechless nonetheless.

I guess my point is that nearly 20 years of dev experience leaves me with the ability to do the old and the new. I wish this was more respected by companies in general.


No offense meant, but if you are surprised about the existence of Scrum Masters, then that interviewer is not at all wrong for wondering if you have enough Scrum experience.


Unless you are being hired as a Scrum Master, “not enough scrum experience” should not be a hiring consideration. On the other hand, it being a hiring consideration is such a negative signal that mossing out on a job because of it is almost certainly dodging a bullet.


It’s true too that 4 out of 5 scrum masters will lament the bothersome dearth of experienced scrumee programmers. Never a shortage of scrum masters, or ceos or vc or debt. But labor you can arbitrage for 10x profits are always hard to find domestically.


Scrum is something management does and the developer has to "bow" down to. It's not something you can learn before the job because every place implements it differently.


Maybe it was not enough experience working in Agile if you don’t know scrum ceremonies and stuff


> Maybe it was not enough experience working in Agile if you don’t know scrum ceremonies and stuff

You don't get experience with Scrum ceremonies, or other any kind of “ceremonies” unless they happen to be in the application domain rather than the dev process, working in a place that values “Individuals and interactions over processes and tools”.


> Now new grads feel lowballed at 200k TC

As a new grad, was I supposed to feel lowballed at getting an offer quite a bit less than that? I know senior devs who make less than that. Is this just for stanford/mit grads?


Most schools have post-graduation survey. Quick google shows mit's 2020 class had 70 bachelor students responding to the survey for jobs in the tech industry, with base salary of:

$97,750, $118,000 $129,000 for 25th, 50th, and 75th percentile respectively

IIRC this number is typically just the base salary so you can roughly double it to include bonus and stock.

Click Employment tab then Page 9 in https://capd.mit.edu/resources/student-outcomes-and-salaries


FWIW, my bonus is definitely NOT half of my compensation


I think it's hyperbole.

Not that I doubt there are jobs which pay this, but from what I've seen of the market, if money is all you're concerned with you should not be turning your nose up at a 200k TC offer.


I think you should feel fine about 150k and miffed about 100k if it's a gig at a bay area company other than an early-stage startup.

200k is very high for new grads.


Google pays new grads like 180 and they’re pretty much the top of the industry in terms of pay scale. Throwing hyperbole in just undercuts the point they were trying to make.


It's a hyperbole and its not the best advice for a noob to compare to. It's easy for people to remember special cases and then assume it is the norm.


Last I checked the median salary for a fresh Stanford CS Master's grad was $105k, but that was a few years ago.

I think the 200k figure is inflated by FAANG companies, basically.


I think you may be comparing salary to total comp here, though I'll admit I haven't looked for the source for your $105k figure.


Senior devs in my country make around 35k in international companies. Even FAANG is maybe 50k.


What country?! You should demand more?


Probably any country that's not the US. Very few companies in the world have FAANG-level cashflows or Silicon Valley-level funding to be able to pay developers high salaries.


You can't demand more when plenty of others will do it for far cheaper.


Yes, a new grad "feeling lowballed by 200k" was hyperbole because I waste too much time on Blind. But FAANG new grad TC is pushing that number, which is a stark contrast to my new grad numbers ~2010. But it was probably confusing for me to phrase it that way.


I had $200k+ TC new grad offers from FAANGs in 2013, and one of them wasn't even for a role in the Bay Area. It's not a stark contrast at all. The market has been consistently willing to pay strongly for new talent.


Cost of living is also wildly different since 2010 though too.


Widly? I don't think there's ever been a decade of lower inflation. It's certainly not 4x as expensive as then


Wildly is about right. The last decade has been the highest real world inflation I've experience in my life and I'm not particularly young anymore so been around for a while.


looks like the cost of housing in Palo Alto has more than doubled: https://julianalee.com/palo-alto/palo-alto-statistics.htm

Edit: This is to say, the cost of housing has grown faster than the compensation available to new grads.


Have you bought a gallon of milk or any beef lately?


There is no shortage of software developers. It is a rumor created to bring more people in

https://youtu.be/6X-SG6bA4Zg?t=77


Shortage of developers or shortage of senior level skilled developers?


wow! what an excellent commentary that stretches well beyond India - this is Silicon Valley level comedy :)


Brilliant!


“ I personally know many people at great companies like Google and Twitter who are _desperate_ to change, but they are too afraid to interview. They feel they got lucky and got through the process once and are unlikely to be able to repeat it”

Is this just a perception issue or have they actually tried interviewing a few times with negative results?


I mean, there's a real investment in prep that most people seem to agree is necessary, so it's expensive to test.


> When I graduated with my CS degree, I was _thrilled_ to be offered 50k. Now new grads feel lowballed at 200k TC.

It might have something to do with increasing property prices.


While property prices have definitely risen, consider that every other industry has not seen the same level of income growth. We are still privileged to command this kind of salary as tech employees. (Yes we worked hard etc but I also try to remember that the median household income in NYC, where I live, is $63k).


> the median household income in NYC, where I live, is $63k.

What's the median NYC houshold income for investment bankers and radiologists?


How is that relevant to anything?


Software engineers should not compare themselves to a basket that includes (presumably) labourers, tradesmen, etc.

SEs are educated, highly-skilled individuals and should thus be compared to the VALUE the NYC society places on other highly skilled, in-demand individuals.

Be assured that NYC lawyers, radiologists, and bankers don't compare their remuneration to an average that includes dustmen, baristas, and hot-dog salesmen.


Software engineers did ten years ago. That you think the proper reference class for SEs is higher professionals, not the general population, or even engineers generally speaks volumes about how things have changed in the past decade or so. There are lots of actual engineers being outearned by boot camp grads with two years experience. That’s nuts, and it’s quite new.


How is SE today less complex than 10 years ago? It seems to me that even as tools today are more powerful and basic compute and storage are cheaper, non-functional requirements have only ballooned.

e.g. Lotus 1-2-3 was probably far easier to develop than Google Sheets presently.


I don’t think the complexities of SE, on the whole, have changed substantially in the last 10 years. If anything the tooling has gotten better.

Lotus 1-2-3 was 40 years ago, not 10, but still. The Lotus devs, of which there were only a handful, were writing in ASM, for an insanely memory constrained platform. I bet Google Sheets is insanely complicated too, and has all the multiuser requirements. But those devs have all the resources of Google backing them up. I’d call it a push.


>There are lots of actual engineers being outearned by boot camp grads with two years experience.

Hasn't that been the case for decades now?


And property prices didn't increase for other professions?


> At the same time, part of the reason companies even have to pay so much is because they've made interviewing so damn hard.

I don't agree at all. Pre pandemic I worked as a professional software engineering interviewer for a largish recruiting company. I did 400+ ~2hr interviews over about a year. We did not put forward the vast majority of people I interviewed.

Lots of people on HN, and certainly lots of people who get rejected time and time again seem to have the perception that:

- Most candidates (their friends in collage) all have reasonably similar aptitude

- Doing programming interviews doesn't offer a lot of signal, and there are lots of false negatives.

- The hiring bar is too high

Aka, "I passed all my CS classes! Why will nobody hire me!? It must be something wrong with interviews, not me!!"

All of these points are wrong. There is a massive difference between strong and weak programming candidates. Weak candidates can barely program at all, no matter what their background would suggest. We did multiple quantitative assessments. The various assessments all end up strongly positively cross-correlated. So we can tell we're getting a clear signal through our interviews. Weak candidates generally wouldn't fail just one part of our assessment; they'd fail all of them. And most strong candidates would demonstrate that in almost every section of our interview.

We passed / failed based on a ML system which tried to guess who we could place. After a couple of months I was calibrated enough to be about 95% accurate at guessing what the AI would say. Its surprising how little ambiguity there is. Only about 1/10 people were "on the fence". Almost everyone I interviewed was either a clear yes or a clear no. If I interviewed you and I didn't recommend moving forward with the hiring process, its probably not because I didn't like you, or because the interviewing process is broken or the hiring bar is wrong. Its probably because your programming skills just aren't strong enough yet. My notes were filled with "This person is amazing and I love them to bits. But we can't move forward because when push comes to shove, they just aren't very good at programming."

The harsh version of this is: The hiring process is fine. If you keep failing job interviews, the problem is probably you.

I think there's two real issues with interviewing. One is that some candidates get massively stressed out, and can't perform under pressure. Secretly my job was all about trying to help candidates relax. After 1 year I still wasn't good at it. I bet most interviewers at most companies are terrible at this.

The other issue is that most companies have no interest in hiring junior people and training them up. They can't afford it. You could hire a junior, spend 9 months paying them a (low) salary while they're net-negative to your company's productivity only to have them leave and work somewhere else as soon as their skills are up to snuff. Companies are incentivized not to bother doing that at all - which in turn narrows the funnel of people who can make it to high quality mids and seniors.

> I personally know many people at great companies like Google and Twitter who are _desperate_ to change, but they are too afraid to interview.

You know you can start a job hunt before leaving your current role, right? I personally recommend everyone interviews around every 6-9 months, no matter how much you like your job. There's a huge peace of mind from knowing how much you're worth at other companies, and keeping your resume and interviewing skills fresh. As covid shows, you never know when you might need to look for a new job.


So, assuming this is all essentially right from the employers point of view, what can senior developers do to make the selection / hiring process more efficient for themselves? The thing is that there are a lot of spammy recruiters as well. And dealing with them costs a lot of time. At least if one does not want to do a shotgun approach to applications, one has to be really selective on where to apply, with very little solid information beforehand.

What I can think of:

* be selective where to apply

* prefer job advertisements on companies web pages, as they give often much more information on the role, than a typical recruiter will give out

* do not apply to job descriptions which are not at least a n 80% match with the own qualifications and interests

* a job offer is not entirely different from a requirements specification, so a good engineering company should be able to write something quite specific

* if one stated requirement is not matched in the application, explain and point to an equivalent qualification (say, no years of experience in Go, but 10+ years experience with each of Java, Python, and Ruby).

* as a reasonable coding task should not require preparation by experienced people, do not prepare for them

* Interviewers have a reasonable interest to learn about the candidate's skills in programming. But it is hard to measure that with coding interviews, especially since since like architecture and design decisions become much more important for actual senior work. It might be more efficient for the developer to put some personal programming projects on github, and put the URL in the resume - qualified interviewers can then ask about the code and gain insight from the reasoning behind it.

And, another question, how should one handle recruiters and interviewers which apparently have not read the resume? Or the ones which ask one to apply even if the specified required qualifications do not really match? (e.g., have never worked extensively on Windows, a lot of experience with embedded C++, but recruiter asks to apply for a C# job?).

For HR people it would certainly help them if there were more information about the company, tools, actual tasks, and some words on what the core of business is - and how software relates to that.


I don't think spending so long on the other side of the fence has given me much special wisdom, but the first thing to mention is that, if you don't have a warm lead, you will need to take the time to prove to the company you're applying to that you have actual programming skills. Nobody wants to waste time doing this; but companies have very few reliable signals outside of an interview to differentiate you from someone who's vaguely terrible at programming. And programming job ads get flooded with low value candidates. They can't tell you apart from your resume (people lie) or your github profile (Its easy to clone semi-popular projects to pad out github repos).

> be selective where to apply

100%. And talk to your friends and get warm leads when you can. You can learn much more about what its like to work at a company by talking to people who already work there. Go in for lunch. Get a sense of the company culture. If you have skill, everyone is hiring. Ignore the recruiters and choose where you want to work.

> do not apply to job descriptions which are not at least a n 80% match with the own qualifications and interests

I disagree with this actually. Again, if you're a senior developer with skills, figure out what the company is doing and decide for yourself if you want to be part of that. Technology match matters here; but job ads are pretty uniformly terrible. Nobody knows how to write them well. I certainly don't.

> architecture and design decisions become much more important for actual senior work

Yes; from the people I interviewed, I found senior developers were competent but still a bit slower than mids at raw programming tasks. (This makes sense, because they often don't do it as much). In comparison, senior devs were much better at debugging problems and at architecture whiteboarding style questions.

> And, another question, how should one handle recruiters and interviewers which apparently have not read the resume?

The first thing to know about recruiters is they don't work for you, because you don't pay them. The way recruiting should work is like acting - you get a manager (recruiter) who knows your skillset well. They talk to lots of companies and find you a stream of good gigs you like. You pay them $10k for that service, or 2% of your salary or something. But programmers hate paying for this, so instead all the recruiters work for the companies. They get the same cut, but our experience of working with them is awful.

I'd avoid most recruiters whenever you can. Use HN's job board and things like that, and skip to talking to the actual team managers and engineers as quickly as possible. Recruiters hunting C++ devs for C# roles is just lazy people being lazy.

And who cares if your interviewer has read your resume? Its disrespectful, but it doesn't matter. Roll with it.


What was the placement rate for the candidates that you put forward? Based on your statements, I would expect this number to be very high, but from my understanding of the industry, including recruitment companies that do technical assessments, I would be surprised if it was that high.


Sorry, but I won’t / can’t answer that.


TripleBytes' placement rate was 40% in 2018 [https://techcrunch.com/2018/02/28/triplebyte-has-raised-more...]

I'm not sure how to reconcile a recruiting company well-known for doing rigorous technical screening having a 40% placement rate, most candidates being a clear yes or a clear no, the hiring process being completely fine, and the hiring process not producing many false negatives.


A 40% placement rate implies triplebyte has the hiring bar lower than companies want it to be. Ie, even with rigorous screening, they have a high false positive rate. (Well, that assumes candidates are totally ordered by desirability, which is not at all the case).


This pretty much exactly matches my own experience (100+ interviews, not as a professional interviewer but as an engineer who does interviews).


There are very good reasons why developer compensation has swelled to the levels that we are seeing today.

Technology firms have grown astronomically. They’ve also built processes and systems to onboard new developers and enable them to generate a lot of value. Developers are being compensated higher to reflect the efficiency gains made my technology firms.

Is it unfortunate that firms that are unable to generate that much value suddenly can’t hire developers? Must be for those firms.

But there’s nothing wrong with compensation growing astronomically and nothing moral in it being low.


absolutely. Google generates $1.5M/employee/year in a high margin business. Considering that the engineers is the main revenue producing asset it is not surprising that Google pays $600K+/year to the best engineers they can get to continue generate those $1.5M.

>Is it unfortunate that firms that are unable to generate that much value suddenly can’t hire developers? Must be for those firms.

yep. Our BigCo generates paltry $350K/employee/year. Looking at our salaries - we're relatively cheap engineers, and the company wastes our time in a myriad ways, and it is no wonder that we can't hire anybody here really - one can say we do experience the shortage of engineers. In SV we regularly lose people (who get 2-3X increases at new places, and only morons like me (even when i got an offer from Google it was just L5 and a very low one, basically just a match of what i have here) are still sitting here), and we're able to hire only in cheap remote locations.


IME, yes people are hesitant to leave sometimes out of a fear of the interview process, but I think this is no different than other industries where people generally are hesitant to take action that has a chance of of 0 payoff with a lot of upfront investment.

I don't think that's unique to software engineering, and I don't think its more pronounced in our industry.

The standard tenure of most engineers is about 3 - 5 years, a very short amount of time. People try and leave all the time. How long it takes someone to leave is likely a good proxy for their risk aversiveness. But people do switch a lot.


I had a VP of Engineering tell me once that 17 months is a standard tenure and that we should be happy with that. I think turnover was part of the strategy at that point though...


I don’t quite understand, switching is good for the employee but in what world is it good for the employer? On-boarding/institutional knowledge/etc all suffer.


He didn't mean "we should be happy with that" literally. It's a colloquialism.


Ye it is really strange. Maybe it is some kinda of rationalization. Or people believe in that new people bring new ideas or something.

My experience is that even the best engineers wont catch up for a year or something, to an mediocre one with years of experience in the project/field, if the project is somewhat complex and not routine. In 17 months it is really hard to do anything magnificent.


> Suck it up and figure out how to play the game

Unless you're desperate, it's best for all the industry if people don't. We can't mature the software industry hiring practices by playing along.

> Angry screeds will not change anything about the industry and will not help you.

Granted, they won't help the OP directly at the moment. But there is value in constantly calling out how broken hiring has become in this industry. Change won't happen by keeping quiet.

I do my little part (in a technical leadership position) by never interviewing using the algorithm monkeydance. I don't care if you can regurgitate this or that algorithm on a whiteboard. Because we don't do that in the day jobs I'm hiring people for. I interview based on your real world experience because at my company we build real world products. I've never hired anyone to a role of sitting in a room rewriting algorithms on a whiteboard (almost certainly never will), so I'm not going to interview for that irrelevant skill set.

To anyone who has been less than ~15 years in this industry, it's good to know that it wasn't always this way. Interviews used to be sane, based on experience. It's a relatively recent phenomenon how things have gone so wrong.


Okay, but I just don’t think it makes sense to say that companies who cannot afford to pay market rates for software engineers are experiencing a shortage of software engineers, unless there is something preventing market clearing.


There are different markets. It's easy to hire full remote juniors on upwork for next to nothing. Hiring a senior staff superhero full-cyber stack-ninja who happily relocates to where you are... now that's not that easy. And thus on the low end you have a market glut and on the high end you have a shortage.


But that's still not a shortage. The government hasn't imposed a wage cap. Employers can just increase wages to the market rate.


No, sometimes there is no zone of possible agreement (value produced is below market rate). In this case you can both have shortage and unemployment at the same time.

Example, you have labor force of 10 people. All jobs have mandatory stay of 2 years. 6 companies have an opening each that pays 1 mil/year. The openings are staggered so 3 jobs are available on odd and 3 on even years (and last 2 years). 50 jobs are posted with a salary of 100k/year. These salaries represent value produced to company and cannot be raised. All applicants have equal chance to get a job they apply to.

The minmax solution is to not take a 100k job because of opportunity cost (you won’t get a chance at the 1 mil job next year). So you have both 40% unemployment and massive labor shortage (56 openings but only 10 viable candidates).


> All jobs have mandatory stay of 2 years

You might as well make an argument based on the premise that pigs can fly. Contracts like that are basically unheard of in the US, outside of top executives and a few rare industries like professional sports.


>The minmax solution is to not take a 100k job because of opportunity cost (you won’t get a chance at the 1 mil job next year). So you have both 40% unemployment and massive labor shortage (56 openings but only 10 viable candidates).

>These salaries represent value produced to company and cannot be raised.

This means the company needs one employee at minimum. If it loses that employee it will not produce value. Therefore it is in the best interest of the company to hire two people, the first position is compensated as much as possible, the second is compensated one dollar more than the lowest competing position that got filled.

Thus, the top offer becomes $899999 and the lowest offer becomes $100001. However, there is a problem. We have 12 positions but only 10 people. The companies will have to outbid each other on the lowest position until all salaries hit market rate, which is the average of the top ten original positions (6 times 1 mill 4 times 100k) that market rate is $640k for everyone.

The 100k jobs never get filled and they shouldn't get filled ever, because a lack of customer demand will never be a shortage. (the assumption in your scenario is that training costs exceed $1000k and therefore it never makes sense to increase the labor pool)

The mistake you made in your scenario is that you did not mention price controls enforced by the government. In a free market companies will negotiate and adjust their salary. The lack of training is acceptable for a thought experiment though.


> This means the company needs one employee at minimum

Maybe not -- for example, we don't know if there are other permanent employees already, and then, not hiring more people can be acceptable


If the value produced to my company by a software engineer is below the market rate for a software engineer doesn’t that just mean I shouldn’t want to hire a software engineer? Like if I run a performing orchestra I probably don’t want to hire an anesthesiologist at market rates because they will provide very little (if any) value to my business.


No, you can be existentially important to the company and still not produce market rate worth of value.

Example: Virtual Widget Co has one employee. The company makes $120k/year in revenue (and so max cap for compensation is ~100k/year because of whatever other costs). If the employee leaves, the company would not be able to continue and will fold. However, the employee is one of the 10 from my previous example, to minmax their own income they should leave the company despite being indispensable to it/the company folds after they leave. No other qualified person would apply for this job either. In fact, it might even be that the average unqualified person’s wage is far below 100k but even that doesn’t help.

A better statement would be “Virtual Widget Co shouldn’t exist because it doesn’t have a viable business proposition”. But this can be counterintuitive in the context of 40% unemployment (4 out of 10 in my example). A more real-world analogy would be “lots of businesses are viable only in the presence of slave labor.”


What point are you trying to make? None of those artificial constraints apply in the real world.


Yeah I made a simplification so you can explicitly compute expectation values and see that there is no ZOPA, but in the real world there is a thing called opportunity cost and people do choose to stay unemployed while looking for job because some jobs pay too low. This is essentially what I tried to demonstrate in my simple example.


But what is "market rate"?

Likewise, if "market rate" is above "value produced by the employee" it doesn't make any sense to pay that much.

There are lots of companies out there that need some tech and some programming, but when the company revenue is only a few million that has to span a few score employees, and costs... its not possible to pay the small handful of devs six figures and keep everything in the black.

Likewise, there are new grads that are scoffing at working for 2x per capita income for the area in the midwest when that's less than 100k (and then complaining that they can't find any jobs).

There is a mismatch of expectations - possibly on both sides of the table.


Market rate is whatever employees will take and employers will pay. If employers are having trouble finding employees at their rates, their rates are below market rates. If employees are having trouble finding work at their desired rates, their rates are above market rates.


>Likewise, if "market rate" is above "value produced by the employee" it doesn't make any sense to pay that much.

It also means that somewhere out there is a business that can actually produce enough value to pay market rate and you should work for that company instead.


I still remain in the "there is a mismatch of expectations" camp. If there is blame to be placed somewhere, I would assign the majority of it to new grads (and boot campers and self taught devs).

With the dominance of tech in the mindshare of people looking for a job, they're only looking at well known tech companies. Apple, Google, Facebook, etc... and these are also the places that can afford to take a risk on a new dev as they've got the institutional inertia to help carry someone along.

The flip side of that is that many people entering the job market don't consider companies like Dominos (only pizza company with a software patent), UPS (that whole 'don't make left turns' navigation thing), Target (early leader in data science), or McDonalds (hiring for some neat stuff in AI drive throughs).

Next, new grads are often expecting that the wages that the big tech companies can offer are standard across the field. I've more than once seen on Reddit a new grad getting an offer (that they applied to) in the northern Great Plains and then backing out when they were offered 70k to work in Fargo.

Another version of the "where are you applying" is that they're only applying to companies in Seattle, SF, and LA and then complaining that they can't find a job.

The idea that seems to be consistent with these new grads is a "I am worth $100,000 and I won't accept anything less." There's a consistent statement that the person is worth that much rather than the work that they do is worth that much.

Spend some time in /r/cscareerquestions to get more of this.

Those trying to hire aren't blameless in this. Expecting developers to fit nicely into the same payroll box as everyone else who reports to a manager in the office with a white collar job could very well mean that the offer is well below what someone with the necessary skills would accept.

My rough ballpark for what a dev should get (with large error bars) is 2x per capita income for the area. That tends to get fairly close to acceptable.


Would the economy benefit from increasing the number of software engineers? In that case it is a shortage from the governments perspective and they should work to increase the supply either via immigration or by encouraging students to study those fields.


What's a shortage?


> In economic terminology, a shortage occurs when for some reason (such as government intervention, or decisions by sellers not to raise prices) the price does not rise to reach equilibrium. In this circumstance, buyers want to purchase more at the market price than the quantity of the good or service that is available, and some non-price mechanism (such as "first come, first served" or a lottery) determines which buyers are served. So in a perfect market the only thing that can cause a shortage is price.

> In common use, the term "shortage" may refer to a situation where most people are unable to find a desired good at an affordable price, especially where supply problems have increased the price. "Market clearing" happens when all buyers and sellers willing to transact at the prevailing price are able to find partners. There are almost always willing buyers at a lower-than-market-clearing price; the narrower technical definition doesn't consider failure to serve this demand as a "shortage", even if it would be described that way in a social or political context (which the simple model of supply and demand does not attempt to encompass).

https://en.wikipedia.org/wiki/Shortage


Yes if you have infinite money. Do you ?


Infinite money is not required. As you raise the price of engineers, the quantity supplied of engineers may or may not increase, but more importantly the quantity demanded of will decrease. Once that happens, every employer willing to pay the market clearing price for an engineer can employ one, and every engineer willing to work at the price has a job. Hence, no shortage.


If 1000 companies want to hire top tier experienced engineers and there are only 100 on the market, that is the definition of a shortage.


Are the 900 other companies are willing and able to increase their bids to poach the 100 engineers? They cannot all increase bids indefinitely - at some point, only 100 companies will be able to afford the 100 engineers, and at the point the market is cleared and there is no shortage.


Or more likely 5 companies will get about 10 - 30 each.


Perhaps, but regardless, the other companies could still attempt to bid up, and if they're unwilling to, then they can hardly complain about there being a shortage.


Yes, there is. People are not spherical cows who will forget that they wanted top tier engineers.

Edit: here's the definition that everyone is using, which you posted earlier

> In common use, the term "shortage" may refer to a situation where most people are unable to find a desired good at an affordable price, especially where supply problems have increased the price. "


Simply wanting something at a certain price and not being able to get it is not a shortage. There’s no shortage of penthouse suites at five star hotels just because I would like to stay in one but I’m only willing to pay $75 a night.


In economic terms, there is no shortage. There's a shortage in common parlance terms, sure. There is an easy solution - pay market rates. When people say there's a shortage of engineers, they mean there's a shortage of engineers at the price they're willing to pay.


Yes. And when people say there is a shortage of food, they mean "at the price they are willing to pay". But new engineers and new foodstuffs will not spring into existence when you add a zero to the price - therefore there is a shortage. You might want to say but oh, more people will become engineers if salaries are higher! But that doesn't ship products this summer.


There are often real food shortages because of price ceilings. Actual food shortages can be seen when the shelves are empty and food cannot be bought at any price.


No, they mean there is a greater lack of engineers compared to other occupations requiring similar levels of education and therefore we should put more effort into educating and importing engineers. Saying we shouldn't focus on getting more engineers in those cases is just dumb, the economy would greatly benefit, you just want to protect your currently privileged position at the cost of society as a whole.


There is a lack of people willing to work for less-than-market-prices in every occupation. I'm not against encouraging people to become engineers or hiring foreigners. But there's simply no shortage if it is possible to attract engineers by raising the salaries you're willing to pay; you're just too cheap. And the side benefit of increasing prices is not only lowering the quantity demanded from employers unwilling or unable to pay market rates, but also raising the quantity supplied by enticing more people into the field with higher salaries.


>No, they mean there is a greater lack of engineers compared to other occupations requiring similar levels of education and therefore we should put more effort into educating and importing engineers.

Importing engineers is just poaching engineers from other countries. It's the same thing.

Educating engineers is a matter of compensation. Given a high enough salary people will get the necessary degree. The only other thing you can do is cut education quality and just let more people pass.


To be fair, if engineers from other countries can earn more money in America, that's an indication that their skills are better put to use here than elsewhere.


No it isn't because you can train 900 more engineers. If companies aren't willing to train 900 more engineers then demand is only 100. Willingness is expressed by the price. If the price is high enough people will train themselves even if the companies themselves aren't providing training.


Let's say you are a forward-thinking manager in a company making artisinal flowerpots. You know tech is the future and will set your company apart, and you want to build a top-tier team to take you there. You are willing to pay twice the compensation per engineer as google.

Now a deluge of engineers show up for interviews. How do you tell which ones are top-tier and which ones are third-rate? Even tech companies struggle with this problem; surely you'll have no chance.

You know you'll get mostly third-rate, because those are the ones looking for jobs. So instead of overpaying, you adjust your pay downward to compensate.

So it looks like there's a shortage to the company (because the top-tier engineers aren't appearing even though they are willing to pay), but to top-tier engineers it looks like they are underpaying.


Tangent: I've thought about this "bootstrapping dev hiring" problem before (you don't know which candidates are good because you don't have anyone technical to interview them)

I wonder if there's a business opportunity for a firm of experienced devs who do nothing but interview devs for other companies


It can go beyond hiring developers - companies may need help with deciding on initial MVP, organising development process, and regularly checking for a while if things go well.


That’s very close to what Triplebyte does.


Nice, I didn't know about this


You can invite an experienced contractor that can help you with bootstrapping development: deciding on MVP tech stack, hiring, and making sure the new team can deliver proper work.

Sure, you need someone to refer a good contractor to you first, chicken-eggs problem.

I wonder if there are companies that can help with it as well - not shops that try to convince you to outsource the whole development to them.


Eh, I don’t like this theory because it’s hard to get real numbers until after the interview. The employer should know precisely what they’re buying at that point.


> companies who cannot afford to pay market rates for software engineers are experiencing a shortage of software engineers, unless there is something preventing market clearing

By definition, the market rate should involve zero shortage. That said, search costs and regulatory barriers are significant frictions. In the midst of an unforecasted surge in aggregate demand and you have an explicable event.


Good point, but it sounds like you’re disagreeing on the terms, not the ground reality of the situation.

Lots of companies can’t afford to compete with G / Fb / etc for principal engineers. (And many companies who should hire good people cheap out and don’t spend the money.) Thus lots of important, otherwise valuable projects are staffed by people who struggle to take technical responsibility for the tasks in front of them.

This becomes self reinforcing - senior engineers have a lot of market power. They (we) generally don’t enjoy working on projects with mountains of technical debt alongside the processes which have a track record of creating them. “You’re really talented. Why would you work at a bank / corporate?”


> By definition, the market rate should involve zero shortage.

Labor supply isn't perfectly elastic - there are only so many people who are capable of doing a particular job, and it takes time to train more.

On top of that, of the pool of folks who could get trained up, some of them wouldn't be interested in the work at any rate of pay!


"By definition" if you believe in the Free Market religion. There ain't no such thing in the real world.


Following that, wouldn't it be more efficient if companies said from the outset what their rate is? That would be a lot more efficient. Of course, the money the company is able to pay depends on the process and the business environment, and the company wants to hire as much qualification as it can afford. But nobody is helped if somebody goes through the interview process only to learn that the salary at offer will never match what he/she wants.

((BTW this is why in my case, I decided to leave the UK for mainland Europe - most job offers in the UK were at little more than half the compensation from what I had earned in Germany before. And the difference was even larger when factoring in the cost of housing!)


FAANG salaries are not the market rate, it’s a market rate for specific companies for high qualified developers.

On another market, I have a small agency, and I simply don’t see how a developer could provide enough value to a client on a typical web project so that we could bill the client enough to pay the developper that kind of salary.

That discussion motivates me to try to increase our rates though.

Edit: clarification of "justify that kind of salary".


Totally agree. I have an acquaintance in "evolutionary biology". She is unemployed for 1 year and trying hard to get a job. I get a "hey how are you" on LinkedIn at least weekly.

That! Is how oversupply on one side and shortage on the other side looks.


You are underestimating the stupidity of most interview processes...

The Interview (By Doug Milford) https://youtu.be/9fvyAqWfPtk


>It's easy to write a blog post about how companies need to pay more, but hard to reconcile the reality that if they don't have FAANG cash flows, "market rate" for developers may not be viable, regardless of management's good intentions or lack thereof.

Working for less than market rate is a misallocation of labor. Of course this is under the assumption that your skills are not far below the average developer. If the market rate is high, there are more profitable companies out there that need the labor more than your business, taking labor away from those companies is a net loss for everyone involved (your own company loses potential customers, the worker loses out on salary, the competitor loses out on labor).


harsh, but true. I also feel the author's struggle, in my opinion there are a lot of factors to consider why some of us don't get what we expect. The only thing we can do is to constantly improve and give our best in every interview we got


  read CtCI
CtCI?


Cracking the Coding Interview


Great advice


If you can’t pay market rate salaries, your business is not working...

EDIT: It seems people took this to mean I think everybody should get maximum salary, when what I meant was you should get a fair salary. Maybe I don't understand what market rate means in the US.


market rate =/= "most extreme salaries from the largest tech companies". By statistical definition, the highest salaries can't be the median income for newgrads.


Both of these statements are true. Neither of them is what I meant.


As a follow up to your edit: I think we agree on what market rate is, but what market rate actually is for tech is subject to a wide variety of answers. So that may be where the discrepancy comes from.

that and the article in question giving questionable numbers like:

>50-70k is a junior’s salary. Your people with 10 years of experience with C++ or whatever should be paid closer to 300k

50-70K out of school is normal in the US, but not necessarily all of US (70K in expensive areas like San Fransisco would be low balling, even as a new grad). 300K, even after 10 years, is not normal, not unless you started at a top company and/or have been aggressively chasing pay raises, internally or through job hopping.

BUT, while abnormal it's also not a surprising number to hear either. It depends on so many factors.


Note that 70k for one person in SF is considered low income/needs assistance/basically not a living wage by hud.gov. The bare minimum is somewhere around 90k.

At about ~140k for one person, you will still have difficulty renting a single housing unit because you will not be able to meet % of income = rent calculations. I have experience with this (and unrelenting corporate managed rentals charging several hundred in nonrefundable application fees just to reject for low income at 6 digits..).


Interesting, thanks!


That’s like saying that if you can’t pay Ronaldo’s salary you shouldn’t be running a football team


Am I not understanding what "market rate" means. I bought my care at market rate, it costed less than a lambo. But it also didn't cost $10.


"market rate" usually applies to a single good (or goods that are fungible between themselves). i think for your car or engineers we would say there are many different markets depending on skill level, location, nationality etc


The mistake is that companies want a certain quality standard for as low a price as possible, which means their salary expectations don't match their quality standards but they put out press releases telling everyone that it's not the case.


True, although I assume that also applies to footballers...


Maybe. There diminishing returns as you hire more and more people, so it's also possible the company works with an engineering org of 50, but not 200.


This


> It's easy to write a blog post about how companies need to pay more, but hard to reconcile the reality that if they don't have FAANG cash flows, "market rate" for developers may not be viable, regardless of management's good intentions or lack thereof.

Is that a sign of monopoly? When a handful of corporations have vastly more resources than the rest of the industry?


No, that's just reality. There are vastly more small companies than large in every industry. They all find their niches. Swift Energy still exists even though Shell and Exxon are a million times larger. Do Shell and Exxon have more resources, throw their weight around more, etc? You bet. Are they monopolies? Not in any plausible way I've heard anyone describe.


I can't personally confirm this, but Hacker News abounds with anecdotes about how there are similarly paying non FAANG companies.



It will be monopoly if you have no other choices but to work for FAANG, which can't be further from reality.

On the other hand, complaining about FAANG, only after failing their interviews makes it hard to take that person's intention seriously.


Out of Facebook, Apple, Amazon, Netflix and Google - Apple's interview process is actually quite gentle. It's definitely the most human focused out of all of them.

I flipped the bird at Facebook and Google, and got frustrated with Amazon's to cancel my interview mid process.


In my understanding, Facebook and Google have centralized interviewing, whereas at Apple each team did its own hiring (my team of ~40 had their own recruiter, did all their own interviews, etc.). Amazon I believe is similar to Apple but the teams are larger? When I interviewed there it was all for the ads org, and there weren't people from other parts of Amazon.


I actually had quite the opposite experience, Apple absolutely grilled me at the spot for its interview, even though I did pass it, but I didn't take their offer.


They definitely grilled me... It's just that they actually had humans talk to me and answer questions, not just throw a website with an automated judge and intentionally confusing problems. (My first language isn't English)

Facebook was very robotic in their process, with a lot of demands for preparation. Google and Amazon aren't that far off.


> just throw a website with an automated judge and intentionally confusing problems

Who did that??? Never heard of automated tests



I think Google and Facebook does that for some interns.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: