Complaining to congress that there is a shortage of IT talent is so common in American politics that it has become its own unique form of performance art. For instance, during the magic section of the act, companies make a labor shortage magically appear without any mention of wages, while also magically making the laws of supply and demand disappear.
I like having clean teeth. If someone can make more as a dental hygienist, why on earth would it be valuable to society if they instead worked as a software engineer for less money?
If people won't work for 100k/yr as a software engineer, that means people capable of doing this work have found higher value things to do elsewhere. The higher salary elsewhere reflects the higher value produced doing something else.
This is one of many reasons why I'm so bewildered when people talk about a "shortage" of software engineers without considering the options available in other fields (fields that, perhaps, pay better and don't require taking bizarro whiteboard exams every time you change jobs).
The idea is an employer-side argument to counter the labour-side demand for higher wages: Don't have the wages to high, otherwise we go bankrupt and can't employ you any longer.
But programmers are already well employed, and software companies aren't really suffering. Cheaper programmers won't make website less bloated, won't make us figure out what to do with GPT-3, won't find a useful application for blockchains, won't make Windows 10 less moronic, won't make ad-tech less harmful, won't make the tech recruiters and the non-technical folk around software projects more competent...it would simply kill one of the few fields of employments that still pay well!
Look at construction. Did cheap immigrant labour make rents feel low in many areas? No, market forces drive up prices and owners keep the profit.
> Look at construction. Did cheap immigrant labour make rents feel low in many areas? No, market forces drive up prices and owners keep the profit.
In areas that aren’t constrained by density limits, homes are actually very cheap. In terms of square footage of home per population, the US is doing great. Problems are with inequality, in terms of geography and wealth.
> In areas that aren’t constrained by density limits, homes are actually very cheap.
That's the point. The effect of cheap construction labor only affects the rent prices in some areas, in other areas owners pocket the extra profit - while making construction jobs largely untenable except for immigrants coming from poverty.
I suspect something similar could play out in the software field.
I just think it’s useful to try to understand the effects of policies not just on me, but on society at large. For example, I might observe that a tax increase hurts me personally but helps others. Are you saying that instead I ought to come up with reasons why the policies that are bad for me are also bad for everyone else, to better lobby for myself, or perhaps so I feel less cognitive dissonance?
> That's the point. The effect of cheap construction labor only affects the rent prices in some areas, in other areas owners pocket the extra profit - while making construction jobs largely untenable except for immigrants coming from poverty. > I suspect something similar could play out in the software field.
So in a region where home supply is constrained by density restrictions, there’s surplus extracted via high rents, and some of that surplus could go to construction workers (and they ought to fight to get a good wage so the developers don’t get all the surplus). Great for the construction workers, but bad for renters. In the analogy, software engineers are the construction workers and everyone else is the renters. Given the high market value of my wages, I will negotiate hard to get my share. At the same time, I can acknowledge that there would be benefits to society if there were more people qualified to write software, even though it would lower my personal wealth.
My final point therefore is, let's keep IT salaries high for now.
You argued that software isn’t good for the world, so society wouldn’t benefit from more of it. This is a perspective I don’t usually get (especially here on HN) and I’m interested in hearing more. My belief is that software is part of a centuries-long trend of technology/productivity advances that have brought billions of people out of poverty, the continuance of which is necessary (although not sufficient) for a post-scarcity utopian future. I don’t know if we will ever invent a replicator, but I think more software engineers increase the odds!
That said, I was actually surprised at the lack of expensive cars driven by SFBA techies. I interviewed at Netflix, which I know pays astoundingly well, and the parking lot had a distinct lack of luxury brand cars. The exception seemed to be Teslas - I did see a bunch of Model S's and X's (Model 3 had not come out yet at the time).
Compare that to many East Coast suburban office campuses of non-tech companies that pay pretty poorly - you still see tons of mid to high end BMWs, Benzes, etc.
Sounds like Economics 101. The curves of supply and demand meet at some point. Some customers can't buy (enough of) the thing because the price at the intersection of the curves is too high for them. Yes, that's how free market works.
There are things I can't buy, because they are too expensive for me. Or I could buy them, but I would have to sacrifice something else I need more. This is considered normal. When some company can't afford (people like) me, it's the same thing.
They would like to have cheaper developers. Sure, who wouldn't? There are also things I would like to have cheaper. Same problem. Why am I not entitled to get things as cheaply as I want, but my potential employer would be?
In my experience many companies prefer to whine about the shortage of talent, even if they could easily hire another person by increasing the offered salary by 50%. But they won't. Then they make millions of profit, which shows that the money was there, it was just their decision not to spend it on salaries. Okay, fair, it's their money, their decision. But if it's your decision, own it, don't pretend there wasn't an alternative.
Make it known that you offer double of the market salary, and you will be surprised how many people are out there in the "empty market". At least I never heard about a company that offered lots of money and couldn't find a person for the job.
So developers go to work on finance and ad-tech, and not on normal, boring, only-making-three-times-the-national-average-salary stuff. And those companies then complain that they can't find developers. Because whether they have a coding challenge or not, they can't find developers because money.
There are a lot of jobs that pay less than software engineer, but would be more desirable provided the pay isn't too much less. For example, someone might prefer to be a dental hygienist, figuring that the work is flexible, steady, and there's less of a possibility of age discrimination later in life. This person would become a software engineer for twice the dental hygienist salary, but not for 10% more.
In a free market society, it's not up to us to make that decision. If you want to get software engineers for in San Francisco for 10% more than a dental hygienist's salary, and you can't get any, that's the market's answer.
Corporate capitalists have discovered that if you don't like the market's answer, have the government ask for you.
And the surveillance capitalism developer earns more than the entire village. Ergo the market commands us to all develop surveillance stuff so Saudi Arabia can spy on dissidents and then chop them up in their embassies.
But again, that's not the point I was making, it's weird that multiple people understand my comments as "we should remove the free market". Me saying that it's the market that is making it hard for normal companies to find talent is only the background for what I'm actually trying to get across: It's not the coding challenge that is making it hard to find developers.
A company that isn't in a hyper-profitable space like ad-tech or surveillance (watching employees during WFH is booming) or fintech (figuring out new ways to make people part with their money) won't be able to attract talent by removing a coding challenge. It's just not an important factor in the equation.
On a personal level, coding tests are a deterrent for me in applying for new jobs. I have my old copy of data structures and algorithms, and I've gone through "Cracking the Coding Interview." I actually enjoyed it at first. They're interesting and challenging problems. If there were an exam - maybe something similar to the actuarial calculus or probability exams - I'd probably be interested in studying hard for it and passing it.
However, I'm no longer interested in re-loading this information into short term memory in order to take a whiteboard exam. This may be a facet of how my own brain works vs others. I just don't walk around prepared to figure out which elements of a set, when combined after permutation, are equal to an existing member of the set. Or how to find all square sub-matrices with a positive determinant in a larger matrix. I can do these things - I've enjoyed doing them - but for me, it takes a lot of training and prep to re-load it in a way that I'm ready for the 45 minute whiteboard exercise. If it were a proper, lasting exam, I'd be happy to do it, but it's just too random, uncertain, and capriciously scored for me to want to do it anymore. I will note that some people don't have thae same trouble I have with this, and - I really mean this - this may actually indicate that they are better candidates than I am. In short, I need to acknowledge that I may certainly not be the "talent" that anyone is missing out on.
Money makes a difference too, but the reason I brought up Wealth of Nations is to draw your attention to the section "Of Wages and Profit in the different Employments of Labour and Stock" http://geolib.com/smith.adam/won1-10.html
I would recommend the entire article, as Smith breaks down the various factors that can lead to higher or lower wages, but you don't really need to read the whole thing, here's smith's summary:
"THE five following are the principal circumstances which, so far as I have been able to observe, make up for a small pecuniary gain in some employments, and counterbalance a great one in others: first, the agreeableness or disagreeableness of the employments themselves; secondly, the easiness and cheapness, or the difficulty and expense of learning them; thirdly, the constancy or inconstancy of employment in them; fourthly, the small or great trust which must be reposed in those who exercise them; and, fifthly, the probability or improbability of success in them."
Within this matrix, software engineering does have a lot to recommend it. For example, Law requires a very expensive and lengthy graduate degree, whereas software engineering doesn't, even though most successful SE's generally do have some kind of undergraduate, and often graduate, degree in rigorous fields that require a lot more math than law. How people will respond to this (along with other aspects of these two fields) depends a lot on their own personal wiring as well.
Within this matrix, yes, I do think that many people find in person, oral exams, at a whiteboard or at a computer under scrutiny and time pressure, on topics that they often don't know well in advance, evaluated by people whose credentials and skill they don't know in advance... yes, I think many people find that a deterrent, either for applying for new jobs, or entering the field in the first place. Many people consider these on-the-spot exams extremely stressful, especially when they are in person, at a whiteboard. And we go through days of it, and a new round of study, every time we apply for a jbo. Tech interview exams are not the only factor making it harder to attract candidates, but neither are any of the multiple factors identified and elaborated on by Smith. But I absolutely believe they are a factor.
Evey job I've applied or hired for either a) had lots of candidates with a very selective process, or b) telegraphed that you should avoid the company or didn't pay well enough (and often still got plenty of applicants who wanted their foot in the tech door despite not being capable).
My current company would claim there's a shortage, but they actually don't know how to hire and telegraph that you probably don't want to work there in a variety of ways.
You make it sound like there's plenty of talent around but companies are being snobbish. That's not my experience at all in Germany.