I have EE friends with master degrees who design PCBs that are printed millions of times that struggle to afford rent.
It makes no sense. Why is web software so easy to make money in? Why do we value hard engineering so little?
I have EE friends with master degrees who design PCBs that are printed millions of times that struggle to afford rent.
It makes no sense. Why is web software so easy to make money in? Why do we value hard engineering so little?
Interest rate intervention (making them lower than equilibrium) changed the DCF valuation that is the fundamental way of evaluating business (i.e. people working together on large endeavors) to one where promising massive returns in the future(20+ years) made low returns in the near term (x<20 years) acceptable. Investment dollars chased growth and VC and PE grew. Meanwhile, in order to compete for capital, all businesses focused on delivering value now had to adjust their income statements (try to grow revenue, or more likely cut expenses) as hard as possible to compete with businesses that aren't delivering on much now but seem like they will change everything in the future.
Google "DCF Valuation" and model out 100 years in excel. Add a row that divides the PV of each year by the NPV so you can see the % it contributes to the NPV. Then setup a bar chart so you can visually get a vibe for the integral of different time periods. Once that is all setup, try a real simple assumption: 0 growth for CF and .5% for your Risk Free Rate. Then try it at 5%.
If the Federal Reserve sticks to its guns and gets rates up, and keeps them there, it will be unsurprising to see "hard" engineering jobs be valuable again, while all the CSS people suddenly can't find two pennies to rub together.
A lot of people in the comments are talking about how EE work is comparatively much harder. But that's irrelevant. SWEs simply make businesses more money.
All of the goldbug quantity-theory-of-money folks were screaming about Greenspan holding rates artifically low for so long -- both before the tech bubble in 2001 and up until they started to delicately raise rates after 2003.
Once the real crash starts to unfold it may get bad for awhile, but once the Billionaires start getting worried about it they'll hit the monetary gas pedal again. SWEs will mostly weather the storm, and even if it gets bad enough that a lot of them lose their jobs (particularly at the margins), it'll still all come back.
Which is to stay that the Fed will definitely not stick to their guns once something significant pops.
(And your analysis kind of shows that there will be significant pain because everything has been built up around the interest rate environment that we've had post-2009 and trying to create any kind of structural change there will definitely cause a crash -- And the Fed works for the Billionaires so once they start to feel the pain then policy will reverse)
Permanent money is always in disequilibrium. It doesn't build up anything. It is always broken which forces constant interventions to reach equilibrium.
So I wonder, how did he go from "fiat schemes exist only as a means for welfare statists to infringe on property rights" to being in charge of interest rate intervention?
I was under the impression that "hard" engineering isn't as financially attractive to investors due to the long payoff period as compared to web software. In that case, won't high interest rates actually hurt "hard" engineering due to a greater discount being applied to future cashflows?
I can maybe see how low interest rates could maybe increase software salaries. But I can't see anyway that would depress EE salaries.
According to the Friedman rule the optimal interest rate is 0%.
"Software engineering" is probably subsidized by borrowed money aimed at growing locked-in userbases and therefore valuations.
The economy does not reward people for how smart they are, how impressive their credentials are, or how hard their skills were to learn. It rewards people who solve problems. Preferably problems that other rich people have. Many, many, many more rich people have website problems than PCB circuit board problems. Ergo those that can solve website problems make more money.
Doing something difficult can be a way to make a lot of money, because it restricts supply and is a competitive moat. But low supply is a winning recipe when coupled with high demand. The supply of string theorists is low, but so is the demand.
If you’re going to do something difficult make sure that it’s something that lots of rich people need. For example being a hedge fund quant is a really well paying job because it’s both difficult, and highly in demand because every rich person on the planet wants higher returns on their portfolio.
Expert machinists using fancy equipment in a factory don’t really have the same ability to just go to a competitor, so they can’t negotiate a raise.
Not sure this is reality; or that a meritocracy for webdevs exists.
In recent years, it seems the quality of big "prestige brand" websites (not exactly big tech) is declining, to the point of being unusable on mobile browsers or throttled connections. Not because of technical trade-offs, but reliance on frameworks to achieve "demoable effects" instead of real world features or usability.
We're more than fifteen years into "ajax" and today's kids simply can't do it without burning 10x the cpu cycles and bandwidth. To me it seems there is a decoupling between the utility of webdevs and their pay, and some sort of market failure is occurring.
Machinists own their own tools, in general... and I knew a CNC machinist who quit, went somewhere else, and came back to the shop I was working in over the course of a few months... they aren't easy to replace, even in a job shop. The equipment is a sunk cost, and if you don't have someone who knows how to use it, you're wasting money while it's idle.
I noticed the trend about 20 years ago when I decided that I'd never again have a job that was mostly hardware design. The money's in software.
Conversely, a web developer's work is never done. There is always another web site to build. Failing that, someone always wants to do another gratuitous reskin of an existing site, just to keep their users from growing complacent.
Also, I'm not sure about the supply and demand argument. The typical ask for a data scientist is much simpler than specialized ChemE knowledge; supply should have ramped up so quickly that comp would have fallen to typical engineering salaries long ago if that were the case.
I would question my assumptions before disputing the function of supply and demand curves.
Soon after I got hired I was myself part of the interviewing committee and saw the hiring situation first hand - most candidates can't program their way out of a shoe or explain how the most commonly used neural net layers work. I mean, I had one who couldn't open a TXT file in 30 minutes, the data file he was supposed to use in the problem.
My one my high school classmates was a mechanical engineer who was one of the top guys for some semiconductor process that failed to scale and got abandoned. Got laid off and was unemployable. He sold herballife to go back to school and is a physical therapist now.
It happens in software too. Plenty of sad tales of geezers let go from banks and government who have legacy mainframe or middleware skills.
Our high school cohort was just old enough to see the end of the “dinosaur” tech company era. This guy was a few years older than me (his younger brother was my age), I think he thought he was retiring with a gold watch or whatever.
It seems quaint now, but it was a thing. My dad’s friend was a GE lifer, they moved around the world like they were in the army to the next posting.
Today, we’re all more paranoid and mercenary, even govenrment workers jump ship.
Well, a lot of people warn of those, but you were one of the naive people who believed throwing your career on rusty crap was a way of "never ending unemployed" or you thought banks for some reason were the best technological choice option then I guess those are the consequences of your actions (not to mention the mental toll)
In Latin America there's also a meme that lots of engineers have become Uber drivers. I have definitely chatted with more than a handful that were engineers. All of them said they hated programming classes too much during university, so they won't try to change to SE now, or to anything really.
I graduated as EE but immediately became SE. Ironically I also doubt that I could go back into being an EE now, so I'm also a bit "trapped".
I've worked with many people who were realistically less than 5 years from retirement, most of them were "trapped" but this was often by design. They knew they could ride out the next 5 years getting paid pretty well, having low stress, and the stability of this ensured that they'd hit their retirement financial numbers. Sometimes younger engineers fall into this trap, and that's when it's sad, often they don't even realize it and no one tells them.
It was a really basic CRUD app, but it increased efficiency dramatically. Insane amounts of value were created.
The repairers were experienced professionals. Some had advanced degrees in EE. But that silly little CRUD app made them exponentially more productive.
They could have been heart surgeons, astronauts, or anything really.
ZIRP, and the VC ecosystem, FAANG stock bubble, EBITDA-creative accounted IPOs, etc. that grew up around it, are a helluva an alphabet soup:
> why do companies do mental gymnastics to call themselves a tech company. It’s because venture as an asset class traditionally invested in technology because that is what presented the growth and return characteristics that matched their risk profile. So you try to call a desk rental or mattress seller a tech company.
> Then, for the companies that attracted the money had to spend it. Salaries inflate. Cultures change. Consumers are subsidized. Sure, some technology is created, but overall, nothing operates as it would without that thirsty capital. It changes the economics for competitors that do not welcome in the dollars.
I’m sure it’s more complicated than that, but that being said...
Finally someone said it!
Ok, I understand that we’re in some anal-retentive age as humans, where we’re discovering our new digital medium and whatnot, but enough with the fixation on small shiny digital bullshit - it’s robbing us of real depth and wonder.
And if it’s reached to the point where real engineering is depreciated, I wonder what carcasses lie ravaged in fields no one looks at until it’s too late.
> It makes no sense. Why is web software so easy to make money in? Why do we value hard engineering so little?
I think it’s understandable if you explain it using the same reason that mushrooms are clearly the better drug, but cocaine is the more popular one (our dopamine wiring? idk), criss-crossed with an actively pushed economic bubble that’s high on the rise, and will be for a long while.
What makes shrooms better than coke? Never tried either one, probably not stable enough to risk it, so curious what your valuation criteria are.
Not judging, just saying.
This post in no way diminishes the complexity of the hard sciences.
Not difficulty, danger, or years spent studying challenging topics.
Changing a color... that's basic html/css-- that's the lowest pay rung of front end developers, which is the lowest paid occupational field within the occupation of full stack web app engineers. So, you're grossly exaggerating. People who just change colors of a web site might make $15-20/hr in the US.
The folks making $150-$200k+ have skills in frontend development, serverside development, databases, plus often things like data engineering or setting up/maintaining cloud computing infrastructure. From there, add in specialty Security knowledge or Machine Learning or highly efficient massively global scale+speed programs, and you'll begin to understand how they're making $400k-$600k+
For example: Go have a look at kubernetes (combined with Docker, Helm, and a Cloud provider + all the various underlying technologies which involve an OS and 2+ programming languages and/or frameworks) and tell me how difficult it is compared to machining + CNCing + welding a metal part. Not to knock machinists-- I've worked on metal machines and I understand why master mechanics make $100k/year.
But I also see why they don't make $200k/year (exception for luxury vehicles)-- there's only so much to learn and only so many dimensions of complexity, especially in terms of continuing education on new technology.
ORMs and cloud DB providers have enabled people to charge ahead without understanding the consequences of their actions, and when latency starts climbing, just scale vertically!
Re: Kubernetes, again, managed services and package providers like Helm have made it easy for anyone to spin up a K8s cluster and even successfully run things on it, without having the underlying ability to fix or maintain it when things go awry.
> But I also see why they don't make $200k/year (exception for luxury vehicles)-- there's only so much to learn and only so many dimensions of complexity, especially in terms of continuing education on new technology.
I can simplify k8s down to "this is just a bunch of containers that run small pieces of software that talk to each other and autoscale up and down as you tell it to", and naturally that doesn't scratch the surface of what's going on.
In 4+ DoF metal manufacture, there's so many things to keep mind of. Basically, those people are metallurgical-based materials scientists. They'd be in charge of helping choose the materials for the application, billet sizes from the ingot factories, QA at all levels, impurity calculations from the ingots, grain structure sizes, can even be radioactivity measurements.
And then there's the actual machining process. If you've ever used a 6DoF mill, its nowhere near idiot-proof. And one improperly tightened part = damaged 6DoF head. That's a sad day indeed. And you're not done after the part completes. There's also post-processing all the way on up.
And I didn't even discuss metrology - or the study of measurements. Measuring what you're doing is the difference between a passed part and a failed part. And your failures may be caught upstream. And depending on some parts, you may also be doing xray spectroscopy to determine voids and other subsurface defects with the machining type you used.
You also mentioned welding. That's its own massive area of tons of failure modes, not all which also can be seen by the naked eye. Or, imagine doing underwater welding in a water tower that sprung a leak because someone shot at it. You're going up with 200 lbs of equipment, including SCUBA gear and thermite or a thermic lance.
To be honest, I have it easy. I work remote as systems engineer. I thought about switching to EE if the economy cools. But the "blue collar" (Read: tremendously skilled roles) are looked down on because they mess with physical stuffs. And the EE's do physical but are considered white collar, so they're "more acceptable". But I try to see them as the fellow professionals they truly are. The end of the day, they can hold their stuff and go "I made this". I certainly can't hold up an EC2 and say the same. Doesnt have the same feel.
There’s like no ecosystem for Hardware in North America. Definitely primarily software
Not "in North America". On the coasts, in attractive big cities, sure. The midwest is still full of manufacturing though, and they still hire engineers (but they're going to make $100,000+, not $300,000+ like software devs in CA).
When I mean hardware I mean Electronics and PCB - like Apple or Internet Connected Electronics.
You'd be surprised how many people have, sell, and get venture capital for ideas without a huge upfront spend attached just to try something out.
Software is the scratch tickets of "engineering."
Putting all of this together sensibly is hard.
A single physical part generally has many, many inputs and outputs (expressed as its physical contact surfaces, tolerances, forces and stresses of all possible kinds from all directions they are supposed to withstand, etc., all with the added dimension of time) compared to a line of code or even a function. You cannot design a 'functionally pure' part, or design a part that creates itself for every discrete 'use'. And unlike a line of code, it can't be quickly replaced so you must get it right. And if you get it wrong, people may die in this particular example. Etc.
And that's before we become concerned with actual production of that part, whereas all you need for to write a line of code is a text editor or pen and paper.
Most human beings can handle, at most, 5 to 9 variables in their head at once. Software systems grow to immense complexity of thousands to millions of variables, with various runtimes, databases, caching layers, frameworks, libraries, coding styles accrued over multiple decades in some cases, data aggregation pipelines, dozens to hundreds of APIs with their own unique interfaces, etc. It is a constant battle against entropy, which happens inevitably in such systems.
Meanwhile, there isn't a single modern "real engineer" who doesn't get their daily work done thanks to multiple software programs supporting their own productivity so much that they can replace what used to be teams of dozens to hundreds of assistants, techs, engineers, and other various human support systems. They draw lines on AutoCAD that automatically compute moments of inertia, shaft calcs, bill of materials, etc. Then they take that file output and zap it over Slack instantly to their colleague who works from home hundreds of miles away to get their feedback on it. Behind all of that is a team of software engineers and product devs that not only has to understand the constraints of their own technical systems, but the technical needs of their engineering clientele.
Additionally, the minimum knowledge required to be a "good" software engineer is significantly lower than the amount required to be a "good" electrical engineer. You are not pushing any limits without an expansive understanding of mathematics, multiple opportunities to work on some very expensive shit, and an employer that's actually pushing something forward. Getting a VLSI/radio electronics/DSP/etc. engineer online is a process that takes years before that engineer doesn't need constant input to keep them from shitting the bed. Unless you're so passionate about it that you can't possibly bring yourself to do anything else, you would have to be insane to go through the amount of learning required so you can pull a salary that will only slightly top an entry-level software development job.
None of this is to say that software development isn't valuable, or that the people that are doing aren't skilled, but as an industry, we don't hold ourselves to anywhere near the standard that other disciplines do, and there's not much to gain other than saving face by not admitting it.
Engineering is about suiting the needs to the means. In the realm of widely-used webapps, the need is 1. speed to market, 2. features and 3. maybe stability against errors 4. if successful, scalability.
And our engineering is perfectly successful for that. We are able to output features after features, we’ve factorized the boilerplate, and we publish our apps before they’re even ready.
Software does exactly what you tell it. Hardware does what you tell it, but it always listens to mother nature first.
The idea that most software engineers can make any real guarantees about the correctness of their programs is laughable. At least once a month we hear about a massive new vulnerability that proves that that just isn't true. To not accept it is hubris.
It's not about calculating performance. It's about proving that something fundamentally fits in with everything we know about the world. Software developers that approach their work with this mindset are exceedingly rare, and their work is largely academic.
Cannot speak for EE, but I'm friends with people who do ChemE, MechE, Civil and mechatronics.
It's my suspicion that eventually software engineers will be paid the same as copy writers and scientists. But not yet.
-Indeed average copywriter annual pay [0] is $54,998 USD, versus a staff scientist's [1] at $69,091 USD
-BLS median copywriter pay for 2021 [2] was $69,510 USD, versus a medical scientist's [3] at $95,310 USD
I'm surprised that the median annual salary difference is only roughly $15,000 to $25,000 USD in favor of working as a scientist, considering the additional years doing a Master's/PhD, whereas copywriter jobs often don't need even a Bachelor's. In addition, I would've guessed that the median copywriter salary would have been far lower, as my perception was that there is a far greater supply of candidates for copywriter jobs than scientist jobs in the US (maybe this is offset by fewer scientist positions?). Alternatively, maybe the numbers are missing important contextual information in some way.
[0] https://www.indeed.com/career/copywriter/salaries
[1] https://www.indeed.com/career/staff-scientist/salaries
[2] https://www.bls.gov/ooh/media-and-communication/writers-and-...
[3] https://www.bls.gov/ooh/life-physical-and-social-science/med...
I guess the other side of it is that the people paying scientists really don't know if their grant money will pay off so they want to hedge their bets on costs (eg salaries)
Probably, but given that ~20% of Americans are functionally illiterate, while ~40% have a college degree, the supplies might not be too different. Reading and writing are also skills which are neither prestigious nor especially lucrative, while scientists of any kind are esteemed pretty highly.
And then there’s the freemium B2B SaaS business model (Slack, Notion) that is just insanely lucrative…
Super-simple example: a single developer focused just on internal tools for a 10 person company.
Let's say that this company has a full plate, everyone is busy 100% of the time. They can't really bring on new clients. They could hire a new person to do some of the work, but let's say that that new person will cost almost as much as a new client would bring in. Their margins are very tight, they wouldn't be able to expand fast at all, and losing a client would be very perilous.
(This is how a lot of small companies work. People getting laid off because a client went away is something I've seen firsthand.)
Let's say over the course of a year an engineer could build out enough basic, CRUD-app-style automation to free up 30% of everyone else's time. Now you can get multiple new clients for the cost of one new person! And if you can further automate and reduce the drudgery, even more!
(This is also a partial explanation for why the outsourcing, salaries-will-go-to-zero expectations of the early-2000s haven't come to pass: it requires tight communication and a good understand of people's workflows, which is much harder to do across time zone and language barriers. Hardware, on the other hand, needs a firmer spec and less ability to iterate rapidly with rapid communication and feedback.)
Of course the real world is more complicated and some of that automation comes from SaaS tools, etc (a less-direct way of paying those engineers, and something that could be more outsourceable in the long run) but a surprising amount of companies still need hands-on internal expertise to glue everything together. Less code tends to result in more code, because now that you and your competitors have gotten more efficient too, you have to get even more efficient to move the needle again. The thing about business processes is that they will always evolve as old companies die, new ones start, and consumers (both individuals and other companies) want different things.
If anything, the rate at which capable software professionals can create value has dramatically increased over time. Software is not a zero sum game, cumulative advances make it possible to solve an expanding frontier of problems with increasingly effective and efficient solutions.
Creation of knowledge products both facilitates the further production of new knowledge products and expands the scope of new knowledge products which can be created. This process is like a chain reaction where the potential energy unleashed may ultimately exceed any practical scale modern economics has meaningfully considered.
Software costs almost nothing to deploy, even on a global scale, versus its potential value delivered; and it can be created or improved with almost no additional consumption of resources vs (the programmer) simply existing.
The margins would be single-digits if the pace of change and innovation possible was like other engineering disciplines. The business of software engineering evolves at an incredible rate that would be unimaginable in the engineering discipline I went to school for.
Sometimes this creates falsely inflated salaries- like when a company insists on hiring Harvard MBAs. Often it creates lower than expected salaries. People forget just how many Asian EEs there are.
Imagine if you make airplane engines for GE as an ME, and you want a higher salary, who else are you going to go to? There's barely any companies in the country that have the capacity to make airplane engines, so there's less competition for your labor. Your work is probably fairly specialized to, so if you transfered into some other engineering domain, you'd start at entry level salary.
Now look at a software engineer working for google, if he wants more there's a dozen companies, in silicon valley, FAANG, wall street that will take his services, he and a few friends can even start their own thing with their laptops and a garage. And skills transfer relatively well between different software engineering jobs.
Because software as low entry to barrier and many employers and non specialized skillset, the competent generalist has massive leverage in the labor market. Mr PhD in electric optics, has 3 employers in the country that can give an opportunity to actually use his degree.
Sure, but what happens when you decide you're sick of a poor salary, and you learn Python and CS in your spare time and interview for Google and then quit your airplane engine job to make 3x as much working for Google? Where is GE going to get a replacement with your expertise and experience? What happens if all the engineers at GE do this?
It seems like the only reason this doesn't happen is because of inertia: the airplane engine engineers just aren't ambitious enough to leave their field for much higher pay. That doesn't seem like a good long-term strategy for a company making a critical component of a globally-important industry however.
If people are going to let their ego put them in a position to be taken advantage of, isn't that basically their own fault?
If the current supply and demand stays the way it is eventually things will even out. Programmer salaries will stagnate as more people enter the field and other fields may have salaries go up if there are not enough candidates.
This process is very slow though. It’s not a very efficient market due to opaqueness and the fact that people don’t like to change jobs too much. A huge reallocation can take a generation or more.
Only if ditches are valuable enough.
Otherwise everyone does without ditches (long drop, sump hole), or find solutions that don’t need ditches (eg wireless or overground cables), or invent new ways of making ditches that are not digging (ditch witch, suction vacs), or other smart workarounds (trenchless water pipe, fibre optic horizontal drilling).
Engineering processes are very well developed and therefore less leadership is expected out of the ICs.
I mostly troubleshoot this dreadful old C# application these days. At this point, you almost couldn't pay me to do it. And I don't have any better prospects with the great depression 2 coming up
Also, looking at a Marketing Company for example. There would be a ton of need for Software Developers, but generally no need for an electrical engineer.
What you earn is a function of the complexity of what you do and the value you generate. Web engineers earn a lot because of the second part of the equation.
low barrier to entry, high potential impact.
also web development is trendy and developers in general will make a lot of fuss about pretty much anything (tabs vs spaces? emacs vs vi? xorg vs wayland, "btw i use arch" is literally a meme) and about money in particular... a lot of company finally give up and accept paying more and then a lot more companies have to follow the trends and pay more.
The close a business or individual is to justifying their salary, the more they are paid.
It's why bankers are often paid more than they are worth.
This is an industrial effect: 'hardware' is moving to China, because VC doesn't like long business cycles. And so the jobs shift there etc..
Video game logic leads people to believe hard => valuable. But the real world is different. Valuable => valuable.
But that's also kind of gauche to say because it's a bit of punching down. The tradition in society is to say kind things about those who have to work hard and produce little value. "The janitors are the real backbone of America" and so on and so forth. Absent value we must feed them platitudes so that they can clothe themselves in shreds of dignity.
Occasionally, though, it's worthwhile to look at the truth. Which is most definitely revealed in our revealed preferences. How much would you spend on this occupation if you started a company?
Value is determined by quantitative exchange in a market and not by any intrinsic qualities such as difficulty of labor.