535 comments

[ 3.6 ms ] story [ 314 ms ] thread
This is a symptom of an outdated curriculum and lack of a future in the industry in North America.

Electrical Engineering is a very hot and in demand degree in South / South East Asia precisely because that's where all the jobs are.

The curriculum is fine. The entirety of the problem is correctly identified by the remainder of your statements.
Nope. EEs still earn relatively less here despite electrical and infrastructure projects in general not slowing down yet. You might think that since we're still in a developing economy, careers in formal engineering should pay more but in reality, compared to the tech sector, the pay is still abysmal.
It seems like undergrads are entering ECE/EECS departments with far more programing experience as well, and there is far more awareness / advertisement / (over)hyping of "glamorous" FAANG-type environments and trajectories. As compared to EE companies where the perception is that jobs are far more "traditional".

Regarding the article's comments on the decline of tinkering, either it's causal or correlated, but it seems like students have far less physics (E&M) exposure than programming experience, and many don't want to grind through the math required (differential equations is often taught poorly, contributing to this phenomenon). So it's seen as far simpler to just do as little EE as possible to finish the degree and get the sweet SWE job.

(comment deleted)
In a software engineer. My cousin is an electrical engineer working at a large power distribution firm.

For all intents and purposes his job is absolutely critical to society. I basically fumble around and do a few projects for my clients.

I get paid several times more than him.

I am happy for myself but it makes no sense to me how society is mispricing our work.

Mechanical engineers are similarly low-paid.

Some time back I hired a few MechE's (with advanced degrees) to write simulation code for a startup. I paid them what I thought was fair for a Bay Area coding role, which turned out to be a significant amount more than the same job would have paid if they had a different title (they would have been doing substantially the same work at Honda/John Deere/Ford/Boeing/Lockheed/etc.).

Strange.

> I paid them what I thought was fair for a Bay Area coding role

The 'fair' pay in the Bay area is sustained/inflated by the vast amounts of VC money with a _huge_ appetite for risk. I am not saying this is necessarily a bad thing, but it is absolutely unique, you just don't have those finance conditions anywhere else in the world, bar maybe New York.

Also all the quoted companies in your comment will have physical goods with way way smaller profit margins compared to most Bay area products.

My point is that it is not strange at all if you follow the money.

Those same companies pay much more in the same metro areas for different titles, working on those small profit margin items you speak of, like electric vehicles and satellites. Journeyman software developer plunking along in a middling role gets A; while a mechanical engineer, with graduate degrees and who actually grasps the material, writing well-formed Modelica code, gets B.

That made me go "hmm."

Supply and demand is a cruel mistress. If power electronics could scale up to hundreds of millions of customers with relatively flat headcount and capital intensity you might see unicorns too.
Or they don't extract enough from the market. Maybe they should be getting 50% of electricity price.
(comment deleted)
>In a software engineer. My cousin is an electrical engineer working at a large power distribution firm. >For all intents and purposes his job is absolutely critical to society. I basically fumble around and do a few projects for my clients. >I get paid several times more than him.

If your cousin and all his fellow power EEs quit for software jobs, how would this affect the pay for these EE positions?

The article is basically saying that there is a focus on commoditising tech talent for what builds shareholder value, and a loss of the passion, imagination and richness that tech can add to the world.

My own relationship with tech reflects in that: I despise some of the things that tech is used for and has managed to amplify in our species. I still pursue my passion because somewhere deep down I know that it could also be different: That the power of technology can also be used to magnify and infuse the world with values that make our existence worthwhile and wondrous.

Intel cancelled their sponsorship of Intel Science Talent Search. That was a relatively cheap way to build goodwill and cultivate the talent pipeline.
ISEF was a competition among parents and professors living vicariously through children
My kid was an ISEF finalist and even won a small bit of prize money. It's never been a big deal at our high school and he was one of the first, if not the first, from our school to advance beyond the state finals. His project was completely self-driven with off the shelf parts or tools he designed and 3D printed.

I was amazed/disgusted to see finalists partnered with the JPL and working with NASA partnerships and university labs when my kid tinkered mostly solo in our garage or his bedroom. It really made me proud of what he was able to accomplish.

Tinkering with junk to develop an interest in real electrical engineering: Totally resonates. Personal recollection from 1983-84 or so follows.

We had a broken black-and-white TV that was mined out for parts (tubes, resistors, capacitors etc) but the front shell with the CRT, high voltage anode connector and deflection coils remained.

How do we make this light up again with teenager-accessible loose parts? What can generate the necessary voltage? Oh, how about this car ignition coil. How to tickle the coil into generating this voltage, i.e. pulse its primary input? How about this "vibrator" from an ancient tube car radio (a mechanical chopper for turning DC into AC).

But how do we rectify multiple kilovolts? No suitable stack-of-diodes rectifier stick on hand. Oh well, resort to the original HV rectifier tube from the TV. But need to power its (directly heated cathode) filament. Cop-out: Do it with a battery or two.

Voila, bright spot on the CRT.

Can we make it move? Well sure, just apply a suitable voltage (trial and error!) 60Hz AC waveform to the horizontal deflection coil. Voila, a line.

What about the Y axis? Well, we can amplify a microphone with a stereo amplifier and drive the vertical deflection coil with the speaker output. Amplitude? Trial and error (volume control). This was getting pretty cool! Except that it was like seeing the waveform wrapped around a cylinder, seen from the side, because of the full sinusoid horizontal pattern. Which looked really neat, but...

I can crank up the horizontal deflection by increasing the voltage (I did have a VARIC based adjustable power supply - homemade of course) until only the linear-ish part of the sinewave remained onscreen. From there it was a straightforward matter of an RC phase shift to drive one of the control grids (found by trial and error by applying small DC voltages to various pins until the beam was blanked) to blank out the right-to-left direction.

And we had a sort of homemade oscilloscope.

This was cool in so many ways but only because the technological underpinnings were still relevant at the time. Nowadays it would be as ancient as dabbling with atmospheric steam engines. Which I'm sure someone, somewhere is still doing. As an extreme niche hobby without a clear track into a profitable career.

For the next generation it'll be 'hey, let's pull this tv apart', 'oh the chassis intrusion sensor tripped and every single IC inside it packed a tantrum and will now refuse to work without the vendor's $10k/mo software subscription'.
If there even is an “inside” and it’s not some kind of 1mm thick welded OLED-SoC-battery sandwich.
I guess the world needs orders of magnitudes more codemonkeys bashing away at their proverbial typewriters than those gods-amongst-men who actually build the chips on which all that spaghetti code crawls along.

(I'm a software developer, because the other thing, while obviously way cooler and more hardcore, sounded difficult and... I could teach myself how to program way easier than teach myself how to microprocessor design...)

The tools for EEs are old, creaky, text-based stuff from the DOS days.

Time to finally turn EE into a software discipline. Then some decent tools will be developed and normal folk will be willing to design stuff.

A poor workman blames his tools.
So you'll sign up to use crappy tools to design hardware with millions of elements?

This isn't about chest-beating. Its about attracting people to a discipline which is currently arcane because of obtuse tools.

It wasn't until a few years ago that I properly understood that somewhat trite line.

It isn't implying that a good workman has the skills to work wonders with bad tools, it's that a good workman will make damn sure they won't have bad tools to begin with.

The tools EEs used even IN the DOS days were already graphical. Tablets were used for input, pre-mouse. Workstations were expensive, because they were graphics workstations, not text terminals. The chips DOS ran on were designed on graphical layout systems.
I was going to say the same thing. As an EE in the late 80s I got to use some kick-ass workstations and leading edge GUI frameworks (e.g. MentorGraphics). The company I worked for also wrote their own CAD system for VLSI design. I never touched DOS.
> The tools for EEs are old, creaky, text-based stuff from the DOS days.

EE here. That's not really true. Some of the proprietary vendor tools feel dated, but dropping into Altium to design a PCB definitely feels like a modern tool set.

> The tools for EEs are old, creaky, text-based stuff from the DOS days.

Care to name a couple? Because that doesn't sound right at all.

The GUIs I have the misfortune of using on a regular basis are VCS and Design Compiler. They are laggy and stuffed full of weird bugs.

However, 99% of the time I'm using the text interface instead since I can type faster/easier than I can move a mouse accurately around, and I'm mostly running scripts anyway. The tools mostly produce textual output so it seems natural to give them textual input. So while they do suck, it's because they are not seen as worth investing in, and the vendors are probably right about that. Some new hires do miss the shiny interface at first but then they go on to get stuff done. Plenty wrong with EE tooling but text-based isn't one of them.

I loved tinkering with electronics when I was younger - still do to a smaller degree. I built my first computer by fixing some blown capacitors on a motherboard I found in the trash.

Back in the day, lots of products came with schematics, now you might get a lawsuit if you dare to take something apart.

It was way easier to take apart and tweak through hole components too - now everything is surface mount or on chip and it’s much harder to get into with just a soldering iron.

The first thing I ever did was rewire a stereo to broadcast instead of receive to make a little pirate radio station - really, none of those things exist anymore.

I think it’s just a harder thing to get into now.

Surface mount isn't that big of a deal. A cheap hot air gun, a soldering iron, flux, and some solder paste are all you need to work with most BGAs, QFN, and other modern packages. PCB prototype manufacturing has never been cheaper thanks to companies like JLCPCB. With all the fantastic learning material on YouTube, open source tools like KiCad, and inexpensive chinese test equipment, the kids these days can do WAY more than I could dream of back in the 90s.
Could not agree more. I have designed my first PCB in Kicad as a MIT licence project.

Kicad ecosystem is very much alive and I was able to reuse dimensions from another project for the same computer.

I made a RAM expansion board for Sharp X68000. You can check it out on https://github.com/stas2k/galspanic

But, I mean, you could get by with just a $10 soldering iron from RadioShack. It’s just harder to get into and tinker with is my point - which I think you just supported?
I do surface mount with a $20 hotplate from Target. A lot of parts you can even do with a soldering iron. I know it looks scary but once you give it a try you'll find it's not really any harder than through-hole and doesn't require any special equipment.
Not only that, but doing any rework with surface mount is usually much easier than with thru-hole or DIP chips. Removing a DIP chip usually means snipping the leads off (thus ruining the chip) and individually pulling each severed leg out with an iron and solder-sucker. By contrast, an SOIC-type chip can be removed in seconds with a hot-air gun.
I find SMT easier than through-hole. And I say B.S. to your line of "rewire a stereo to broadcast instead of receive". There's very little commonality between a stereo and a Transmitter. Whatever, there are still thousands of Hams building Transmitters.
I teach kids how to solder at the local Makerspace, I start with SMT first because it's easier - through hole requires more skill and you have to be more aware of heat management to do it well.

We stockpile old proto boards that were never used for practice and give the kids old motherboards and hot air to scavenge from for practice

I'm not surprised. I was a double EE/CS major as an undergrad, and earned an MSEE. My career has been mostly software, though, and the economics of what EE vs. SWE get paid makes it very unlikely that I'd ever move back since it would mean (at best) making < 50% of my current compensation.
I graduated with a BSEE and worked as an EE for 6~ yr in hardware design, mostly as a generalist before switching outright to embedded FW. I make more money and have greater autonomy. I like hardware but enjoy firmware an equal amount and would only switch back into a role that encompassed both (like engineering lead, etc)
I graduated in EE and this is no surprise- hardware is hard and Google will throw you $500k a year to tweak the font on their internal compiler. Optics, Power engineering, ASIC design, it’s all fascinating and * really hard * and * really underpaid *.

It’s worrying in the long term, the industry’s been built on underpaid geniuses. We need them, but you can’t begrudge them moving to the money.

> I graduated in EE and this is no surprise- hardware is hard and Google will throw you $500k a year to tweak the font on their internal compiler

Google isn't really a great example because they are one of the few places to get highly paid EE / hardware jobs.

That said, there are many more software jobs than hardware jobs at Google.

I think he's pointing out the relative difficulty of hardware positions compared with being a 'software engineer' in FAANG.
I moved into IT from "formal" engineering and its always frustrated me that a job that involves working on extremely expensive engines using upper level college math gets paid almost nothing compared to people who change colors on a webpage every once in a while. I've been on floors where multi-million dollar pieces of equipment are used to produce parts with obscene levels of precision being used by expert machinists making 80k a year who risk their own personal safety making these parts.

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?

Profit margin. It's all profit margin. Software is reliably >25%, where physical manufacturing is in the single digits.
But the question is why? Shouldn’t there be the same race to single digit margins in software as well?
I think you're right.

It's my suspicion that eventually software engineers will be paid the same as copy writers and scientists. But not yet.

I was initially going to disagree that copywriters get paid in the same range as scientists, but the numbers in the US are roughly similar from the Bureau of Labor Statistics and Indeed.

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

The scientists I know see it as almost a vocation. They want the prestige of having their names in journals and the feeling that they're helping advance human knowledge. I can't really blame them... I class it as a bit like development in the way they undervalue their skills so that they can get it.

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)

> 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?)

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.

The distribution cost of selling software is far lower than selling a physical product. For example, to manufacture and sell cars, you currently have to worry about supply chain considerations and chip shortages. You don't need to worry about this to sell software to an interested purchaser.
The marginal cost of software is basically zero. The marginal cost of hardware is high.
Marginal cost of an additional user is zero. And instant global distribution with the internet.

And then there’s the freemium B2B SaaS business model (Slack, Notion) that is just insanely lucrative…

A different answer than everyone else so far: Leverage.

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.

There will be, but right now software is eating the world (and establishing entire new markets) faster than developer talent enters the market. So prices for developers go up. Eventually this will end, either by the demand curve slowing down, or developer supply meeting demand. Whether it happens within the next 5 or 10, or even 20 years, who knows.
This saturation of demand for software talent has been predicted for literally decades. In 1992, Ed Yourdon published “Decline and Fall of the American Programmer,” only to reverse himself four years later with the publication of “Rise and Resurrection of the American Programmer.”

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.

Frontier is a good term because just as the US frontier age eventually ended, the software frontier expansion is also eventually going to stop.
I don’t mean frontier as in “the American Western Frontier.” I meant frontier as in, “the frontiers of human knowledge.” It’s not clear to me that the latter is limited in the way that the former is.

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 rate of innovation in software is not constrained by capital or physics (and to a lesser extent regulation) to the extent it is in other engineering disciplines, which overweights the importance of individual skill and execution in outcomes. Software isn't an intrinsically high-margin business, but the cost of creating and operating in new high-margin business frontiers is uniquely low, allowing individuals to leave the rapidly commoditizing part of the software business in the rear-view mirror.

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.

In a free market, there is such race in every industry. It's just that demand for software is growing too damn fast and supply can't keep up.
Software's network effects make it much easier to construct a "monopoly" which gets to have very large margins. Where you see margins, look for moats.
You might want to look at the margins of Intel, Nvidia, Cisco, Juniper, Arista, ...
(comment deleted)
As someone in software with an EE background, I think it's simple. There's far more demand for software people compared to the available supply, so pay rates are high. Which job is "harder" has absolutely nothing to do with it.

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.

The demand is there. After all, somebody has to be doing the design work for the electronic products out there. In a globalized economy with outsourced production most of the EE work goes to SEA with cheaper labor.
Hardware design work is hard, but you usually only have to do it once for any given component or any given product. Most of the parts I use were already well-established in their markets over 10 years ago. (Although whether they'll still be around 10 years from now -- or 1 year for that matter -- is a very different question.)

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.

There is simply much more software work to be done than hardware work. Pretty much every company running a real business has some software presence on their staff, whereas the presence of people with an EE background is quite rare by comparison.
> It makes no sense. Why is web software so easy to make money in? Why do we value hard engineering so little?

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.

https://www.readmargins.com/p/zirp-explains-the-world

I went from chemical engineering into data science, and I wonder this constantly. Everything about chemical engineering was much more difficult (at least what you would be expected to do in a typical job; exceptions apply). I really miss the hard sciences, but I also really do not want to take a 4x pay cut.

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.

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

There aren’t any people over the age of like 35 who started their career in data science. Careers are sticky, people don’t like switching once they’re in one. They’re being trained quickly and I think you’re right, the salary used to be higher than a normal software dev but that doesn’t seem to be the case anymore.
More like no one hires you into a new career after 35. I’m 34 now and it was hell getting into software engineering from chemical engineering even with good project experience and acing leetcode.
I switched from full stack to ML at 38. I was preparing for a few years by doing courses, personal projects and following new papers as they come up. When I got hired there was no issue with the fact that I was self trained - they have been interviewing for 6 months and failing every candidate by then.

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.

Same, I miss Cheme and actually doing work on physical systems. But applied DS is more lucrative and so much more flexible in work location. DS is way easier although the stats and programming does throw many people off
There is a severe oversupply of engineering graduates in the US, that's all there is to it. All hardware engineering jobs have been colocated with the actual manufacturing facilities they are designing for – i.e., Asia-Pacific. Even the reduced number of graduates is too many, because the demand is virtually zero. People are not dying and retiring as fast as the industry itself is.
Software is a pure ideas business.

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

Nice, haven't seen "engineering" elitism since university. Software is the nervous system of a business. Everything from accounting, to payroll, to inventory tracking, to sales, to marketing, to communications, is achieved in today's world by interfacing with dozens if not hundreds of software programs and systems. Impossible to achieve with hardware alone obviously, you need operating systems, you need data centers, need custom dashboards and BI, you need ACH/SWIFT routing interfaces to make payments go through, you need file management, you need chat software to communicate with employees and customers, you need software nearly every step of the way. It's complex as hell. And the complexity of making all those systems work together just compounds that complexity.
Most of that is software glue, and not particularly challenging. It's necessary to run a modern company to have this kind of glue to connect systems together, but at the same time EE and ChemE are much more challenging.
Consider that the space shuttle was considered one of the most complex projects in history with around 1 million parts. 1 million loc projects are common, a large tech company like google likely has billions of loc.

Putting all of this together sensibly is hard.

A line of code isn't really equivalent to a physical part of a space shuttle.
Why not? A simple one line change recently brought down CloudFlare. And least you think that's not important, a one line change to code brought down most of AT&T's phone network in 1990 (think 911).
Compare the amount of effort that goes into both design and production of a physical part and a line of code.

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.

Software has analogous constraints, with regards to scale, performance, latency, design, etc. Everyone thinks that a line of code can be quickly replaced. On a small program, this is true. But at scale, this is not true at all and anyone that's worked on a multi-million line application knows this. You cannot have every line of a complex system in your head at once. You cannot instantly solve for all of the interconnecting pieces in your mind at once. It takes a team of software engineers of various disciplines to consider the tradeoffs of any change to these complex systems. In particular when they are live and supporting millions to billions of users. And because software has more of an organic quality than traditional hardware, managing hundreds or thousands of changes that need to go into the system over the course of a month or quarter is non-trivial. People that think software is trivial are the same ones that fall for the idea that anything can be quickly refactored and redesigned and nothing will break and everything will go smoothly. It's just not true.

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.

I'm not arguing EE is better than SE or otherwise. My point is specifically that EE has both more complexity and stricter constraints, and both unavoidable due to the nature of it being mechanical as opposed to ideal. Yes, in SE you also have complexity, but you can abstract it away with many tricks like isolating side effects and writing pure functions that are easy to reason, re-running from clean slate at will at little cost or even running your code anew at every request, letting things fail completely and be sure it's cleaned up reliably, etc. In EE, you have enormous implicit state that you can't ignore, the global of time and everything else all at once you must juggle.
Single line of code is single line of code. Physical part might have multiple lines of code defining it. Let's take something relatively simple like bracket. Now gather together all the dimensions, angles, hole dimensions, material specifications of it and treat all of those as their individual lines of code.
As a software engineer, software "engineering" is a joke, at least in the sense we apply that term to other disciplines of engineering. It's not like all that complexity you mentioned is understood. It's worked around, and then the workaround is taken for granted and exists in perpetuity because nobody can discern why it was done in the first place. Watching a mechanical or electrical engineer be able to predict the performance of a design in a hypothetical scenario and then have that prediction largely reflect reality in later testing is pretty enlightening. These types of things generally don't happen in non-trivial software systems largely because software "engineers" don't really care. Formal methods for verifying correctness is something we've decided isn't worth it. Formally verified operating systems like seL4, and languages that lend themselves to formal verification like Ada/SPARK, are nothing more than oddities for most software engineers; the only places that bother with this are hard engineering firms that are trying to live up to do-or-die performance guarantees.

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.

You comment a lot about calculating performance, but this is not engineering.

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.

They are discussing the difference between engineers that have to toil with the rules of the universe, and engineers who have to toil with rules that they make themselves.

Software does exactly what you tell it. Hardware does what you tell it, but it always listens to mother nature first.

Scalability predictions from a software developer need to be taken with a grain of salt. There is no universal law determining it. The prediction is sound up until it runs into somebody else's fuckup, at which point it becomes worthless.

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.

Disagree. The impression I've got when talking to friends in traditional engineering is that the scope of a software role is larger (More vertically integrated, more expectations) and we have better processes (E.g. code review, deployment pipeline, monitoring, etc).

Cannot speak for EE, but I'm friends with people who do ChemE, MechE, Civil and mechatronics.

There's a huge demand for Software Developers in every industry in the last few years. Retail, Finance, Marketing, etc.

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.

If there was tremendous demand for ditch diggers in excess of supply, digging ditches would pay very well. How hard something is has nothing to do with it.

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.

> ditch diggers in excess of supply, digging ditches would pay very well

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

Because real engineers become hyper-specialists and get trapped.

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.

(comment deleted)
This doesn’t ring true to me, especially for an ME which is one of the broadest disciplines. I know one who had a BS and has worked in construction on building automation and energy systems, automotive robotics, healthcare as a process engineer, aerospace software, and finally as a data scientist.
It's probably true but the ME in question chose to go a different route probably because they deep down did not like the job. No doubt they could have retooled their skillset and kept reapplying at various places or move elsewhere if they were inclined.
Some people struggle with reinvention. I tend to branch out every 4-5 years. I think this person thought he had the one true career and had difficulty with reality.

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.

> Plenty of sad tales of geezers let go from banks and government who have legacy mainframe or middleware skills.

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)

Funny, I was duped once into coming to a Herbalife-similar Multi-Level-Marketing introduction meeting by a university colleague (we both did EE). He called some other people from our class saying it was a "business opportunity". The constant pestering for us to buy stuff burned him some bridges. He obviously couldn't adapt to new technologies and realities.

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 think it's a mindset that people "get" trapped. I know many engineers who are trapped, but it was their own doing, they never tried to avoid the trap and have never worked hard to get out from it. It's a mindset, it's easy to fall into. You get paid well enough, things are stable, you become an expert within a company or industry, and you feel valued when your expertise is found to be important. If you don't work to get yourself out of that trap, to expand your own value and knowledge, then you get stuck both in a job and in a salary range. Sometimes this is fine, sometimes it's a horrible experience, it all depends on what the person is striving for.

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.

The most you can get paid is the amount your company thinks it would cost to replace you. The difficulty of your job has absolutely nothing to do with how much you’re paid, other than maybe reducing labor supply a bit. But there are tons of smart people, if the opportunities exist people will come. Every business needs a bespoke website, so all the web developers have plenty of work. Their options mean that if a company doesn’t want to pay much they’ll work somewhere else.

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.

The machinist actually probably can move around relatively easily (and a good machinist isn't much cheaper than an engineer, if at all). The engineers are going to be both more specialized and less in-demand. They work at a higher level where less people are needed, and due to specialization, can often be contracted out.
> Every business needs a bespoke website, so all the web developers have plenty of work.

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.

I think this is analogous to and is happening for similar reasons as the airline customer experience gradually went from being very "classy" to increasingly "cheap" all at the same time as the market for air travel expanded tremendously.
>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.

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 left embedded for web in 2014 and I doubled my salary overnight. My experience from embedded translated to an ability to troubleshoot problems that baffled others and has led to a lot of personal career growth that I suspect I wouldn't have otherwise seen. Wish it wasn't like this, because I quite miss what I was doing in that previous life, but it is what it is.
I have an EE degree and was in embedded for a few years. I kept getting hired for that one problem, then was no longer needed. All the jobs I could find were short term contract work or "Thanks for fixing that, now we don't need you" situations. I still get emails about short term, in office work in the Midwest. I enjoyed the work but I couldn't find stable employment. Embedded worked out to be a good transition to software and then web development though.
I'm considering the same. Out of curiosity, did you jump into front end or back end dev?
Primarily backend... But I had a 2 year stint as a data engineering lead and then led a ReactJS SPA product development team for 18 months. I'm back to the backend now, though, and I'm very happy with it.
> compared to people who change colors on a webpage every once in a while.

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.

Not sure that bubble is long for this world. Scarcity called, it said "remember me? Ive been on vacation to everywhere but the west, now I'm back!".

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 the person you're responding to, but I suspect it would be due to life outcomes of both - mushrooms have been shown to help people resolve past trauma and change their habits for the better, whereas cocaine tends to be habit forming and cokeheads are generally pretty unhappy people.
Yep that’s pretty much what I meant, plus that psychedelics in general have wider dimensions while cocaine is sort of a dumb drug.

Not judging, just saying.

Software development is completely abstract and is one of the most difficult things humans do. An average codebase can easily hold millions of lines of code with millions more hidden in libraries that all have to work together. The complexity is incredible really.

This post in no way diminishes the complexity of the hard sciences.

Because picking the right colors on a website brings in more money.
It’s all about demand and supply. It has nothing to do with how hard/easy anything is. So it actually makes perfect sense. Everybody needs web software. Very few needs hard engineering skills.
There is some correlation if price keeps high for a long duration
You are not paid by the difficulty of your work. You are paid according to how much the hiring manager thinks he can replace you 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.

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

I’ve been wondering if SWE pay rates have been artificially high for a while due to easy lending - it will be interesting to see if your prediction comes true. Probably a lot of SW companies out there right now are dependent on discretionary income which puts them at risk in a tough market.
SWE salaries are also very high because right now it's cheap as hell to run a software company leading to huge returns. Overheads are miniscule. The salaries can take a larger slice of the pie.

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.

But a large number of software businesses are not making any money at all.
Which goes back to this subthread’s root post about investors focusing on companies “promising massive returns in the future.”
Ironically, the 6 hour Fundamentals of Engineering test that I took after earning my EE degree had a section on Discounted Cash Flow. It is funny that you are using it now to explain why taking that has given me no utility so far.
(comment deleted)
Same thing could be said in 2007.

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)

>significant pain because everything has been built up around the interest rate environment that we've had post-2009

Permanent money is always in disequilibrium. It doesn't build up anything. It is always broken which forces constant interventions to reach equilibrium.

What do you mean by 'permanent money'?
Greenspan is interesting to me because although he seems to have started this whole low-interest paradigm, he was once an ardent supporter of a gold standard in 1967. It's a short paper, worth looking up.

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?

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

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?

Precisely; electrical engineering as a field requires enormous amounts of capital. Software development also requires capital, but not nearly as much, and the returns are much higher.
The iPhone had some pretty huge returns for Apple. Maybe "most" EE doesn't have huge returns, but that's also true of most software.
This really seems like a stretch.

I can maybe see how low interest rates could maybe increase software salaries. But I can't see anyway that would depress EE salaries.

Not enough hardware startups compared to purely software startups. EE as an industry is not benefiting from low interest rates to the same stratospheric extent as SW has, thus the individual engineers aren’t either.
>Interest rate intervention (making them lower than equilibrium) changed the DCF valuation that is the fundamental way of evaluating business

According to the Friedman rule the optimal interest rate is 0%.

I'll add that to my long list of stuff he didn't understand cause he was a dummy.
A locked-in user has a long (or very long) economic lifecycle, whereas a widget has a short lifecycle.

"Software engineering" is probably subsidized by borrowed money aimed at growing locked-in userbases and therefore valuations.

(comment deleted)
Nerd trap. It is hard science, and interesting so people are more willing to deal with bullshit to get close to it.

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

(comment deleted)
I guess this has something to do with a lot of manufacturing having moved to Asia. Here in Germany it is flipped arround. As a software developer in Berlin I can only dream about the salaries I could get as mechanical / electrical engineer in South Germany at one of the big car manufacturers.
Guess it’s all about supply and demand since Germany is the Mecca for Process Controls and Automation.

There’s like no ecosystem for Hardware in North America. Definitely primarily software

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

Perhaps those manufacturing jobs could pay closer to software if the employers were willing to give more equity.
That Manufacturing is more light and heavy industries though? Like Automotive and the like?

When I mean hardware I mean Electronics and PCB - like Apple or Internet Connected Electronics.

There are lots and lots of electronics in automobiles, industrial machinery, and robots. They need engineers of all kinds to design products, processes, equipment, etc.
Supply & Demand (aka Market Economics) dictates pay rate.

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.

I've met precious few devs of any flavor who understand databases. Not just "how do I write SQL," but actually understand what the query optimizer is doing, minor but infuriating differences between DB flavors, and critically, troubleshooting them.

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.

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

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.

This is mostly do to a 'proximity effect'.

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

If you think that’s bad, just wait until you see what salaries look like for postdocs in theoretical physics.

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.

Was going to post almost the exact same thing. Income is, sadly, an exchange of assets and services, not a reward for being good at a thing.
My first software engineering job Was creating an internal, CRUD app for a utility company. It allowed tasks to be efficiently given to installers based on their locations.

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.

With physical products, design is a cost center not a revenue center. They want to pay next to nothing for the design, and then just churn out pieces. You'd think they'd want to pay more for a design that then costs less to manufacture, but it just doesn't work that way. Cheapness all around.
> It makes no sense. Why is web software so easy to make money in? Why do we value hard engineering so little?

Value is determined by quantitative exchange in a market and not by any intrinsic qualities such as difficulty of labor.

Because it's worth nothing in comparison. I'll say the thing others won't: real engineering is about creating value through constraint fitting. Web development is more engineering than this formal engineering. Better constraint fitting. Greater value created. Better engineers.

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?

Why is web software so easy to make money in? Why do we value hard engineering so little?

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.

This is basically the water/diamonds question in disguise. You'll find it in any introductory economics textbook: Why does water cost nothing when we all need it, but diamonds cost a fortune when nobody needs it?
> Why is web software so easy to make money in? Why do we value hard engineering so little?

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.

It's because software engineers don't need capital to do their job, giving them a ton of leverage compared to other engineers.

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.

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

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.

Most don't even know that they can leetcode themselves to a way higher salary. And if you got a PhD in something, it's very hard on your ego to leave it behind. Plus the corporate propaganda on taking a paycut to do "cool things" works very well. Look at how many smart people work at SpaceX
Yeah, so basically these places are propped up by tons of people willing to sacrifice their time and lives for some corporate execs to get rich. I'm not really sure what can be done about that, except to opt out for myself and choose a career for myself that's a better balance of compensation, working hours, etc.

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?

Might be a language thing. Observationally, the products of hardware design cross language barriers better than software/UX. Therefore software producers compete mostly within their own language, but hardware producers must complete globally. This would tend to produce a deficit of HW engineers in countries like the US/UK, just because there isn't as much money to chase vs software.
Perhaps there will be a wage spike if there's less EEs
Stop tying engineering to universities and the problem will be solved. People want careers, they want to solve complex problems, and we have more tooling and knowledge than ever to do so. The problem is U S. Education is squeezing it dry.

In the U.K. you can go for engineering in many fields without it breaking the bank or having to compete for the top 0.1% of schools.

If india, Taiwan, and china can do better than the U.S. - there's a big problem. Rebuild the system.

I don't see us producing a surplus of EEs here despite that
While still fairly expensive, you don’t have to be in the top 0.1% to go into engineering.
Engineer turned programmer in the UK. I put the salary discrepancy down to the ease with which I can move jobs. In programming I can bounce around different companies every couple of years in the same city. In engineering things are so frequently sub-industry and even employer specific. If you’re the only person that can operate a company’s machinery that’s great, but if that machinery is unique to that company that doesn’t mean you can get employment elsewhere.
If there's a problem, then companies will pay out money. If companies aren't paying out money, is there really a problem?

Given that, it sounds like students are making a rational economic choice to avoid an underpaid profession.

Its the same problem everywhere now. Pay people what their skills are worth, or they'll walk and your business will go under. I really have no respect for margins or operating expenses, or the executives and government officials that, until now, have taken advantage of the working classes. According to the free market rules, any business which cannot sustain itself and its employees should fail. So, EE, buckle-up, things just got that difficult and you're in for some rough times unless you can start paying people what they're worth.
PhD in EE. Moved to software for better pay and more job openings. Now I optimize button colors.
>> Now I optimize button colors

Hardware or software, either way you'll still be optimizing buttons!

Man, I can't put my finger on why exactly, but this fact makes me feel like humanity is irrefutably screwed in some way.
I think we're producing too many EE PhDs.
EEs are pretty far away from the money. That really impacts earning potential. Most EEs who went the traditional route and want to keep doing electronics in some form but make money become Field Application Engineers (FAEs) to get closer to the sale and show their value to the company. The crustiest old engineers are buried deep within a corporation and it's hard to show value on the bottom line.

Similarly, the FAANG/MANGA folks of the world are beneficiaries of being closer to the end customer, at least in terms of always being able to track customer usage of products. And hey, some of the highest paid ones are doing some hyper scale stuff that touches billions of users. Then there's just the general markete conditions of having much more need than talent available, especially at the upper eschelons.

Credentials: 20 year EE, have the largest podcast about designing electronics (The Amp Hour, check us out)

I worked in the semiconductor industry, and at least in our niche of the semiconductor industry, FAEs were some of the worst paid people, a long with production test for some reason.

FAEs were seen as the lowest level support who were a stop-gap for our application engineers (non-field). If a big customer had a problem, we would send an AE out to show that we were taking it seriously. No idea if it's the same in other industries though. Application engineers weren't that we'll paid either.

Technical marketing and sales were paid well, but maybe this is a just a title thing (what you called FAE is what we called sales/marketing). Their salaries were predominantly sale/deal based bonuses though.

For people that actually developed the chips, analogue designers were the highest paid followed by digital designers. Then digital verification engineers, with verification engineer salary increasing very quickly. The salaries were shit compared to software though.

But now, talking to my friends still in the sector(doing design), competition is absolutely fierce and their salaries are increasing rapidly along with getting a lot more shares. There was a point where a senior analogue engineer could move to a graduate software position and make more money. Those days are gone now, and salaries are pretty close.

A friend interviewed for a hardware position at Apple and the salary was definitely SWE levels of high.

>A friend interviewed for a hardware position at Apple and the salary was definitely SWE levels of high.

Which probably explains why Apple is the only, or one of the rare few, consumer electronics companies with products most people actually want to buy and love to own.

People keep pointing out how shitty products form Apple's competitors are (Samsung, Dell, etc.), but when you look how little they pay for talent in comparison to Apple, it becomes obvious why their products are so inferior.

Engineering great devices is expensive, and since the West offshored everything to China, and went for cutting costs as much as possible including on engineering wages, how can they expect to deliver quality?

You clearly have never seen Louis Rossman's critiques of Apple's repeatedly poor hardware designs.
Ahhh love the podcast! You guys and Embedded helped me learn a lot as an EE going into embedded. Thanks for putting on a great and informative show!
I guess I'm part of the problem. I dual-majored in Electrical Engineering and Computer Science, I did well in both, and graduated with a B.S. in each.

Going into software development was a no brainer over EE. Twice the pay, "twice"* the job security, and no credentials needed beyond my degree and ability to deliver.

It was made even easier given that most of what I did during my EE project labs was doing the C coding that the other EEs didn't want to do. At that point I figured if I ever needed to go back to EE (some super-dot-com burst or whatever) I probably could.

* twice is just a vibe. Graduating in 2011, during a recession, there were NO junior EE jobs and I managed to get a coding job out of college.

Same. I had a whole career in H/W design, then moved into S/W as a second career (I had always been a coder through personal projects and writing some device drivers and hardware test programs). Much higher pay, and if you screw up : ship a patch. In recent decades the rise of SaaS has degraded the relative experience a bit -- H/W engineers don't often get to be paged in the night.
I'm not sure why this is surprising. The structure of corporations as it stands is untenable for skilled workforce retention. in

In America, the business is run by "business" people, not by people who understands how to build the thing that the business claims to be building.

Layers and layers of management will not produce your next small arm powered microwave. So even if a company started off with success, eventually, it will be taken over by "business" people instead of a a committee of engineers+sales+product+marketing - all of whom work in sync.

You laugh at business majors? In America, they have more longevity than an engineer who specializes in a niche area.

It's the pay stupid.

As a data engineer I could make a base salary of $300k quite easily.

As an electrical engineer I could hardly make $80k for a lot more work.

Guess which one I picked as my full time job?

What does a data engineer making 300k do of its days?
Promptly reply to emails with impeccable spelling and grammar.
Pay more and get more talent. If a local web startup is paying 2x, 3x, 5x more money for some html and css (and/or whatever language of the week is for the backend), than companies like Intel are paying for serious hardware knowledge, it's no wonder people don't choose this profession.
Agreed. I went to law school (of all things) at night while working as an engineer and started as a newly minted attorney with 0 experience at 2x my engineering salary (I was a 6th year EE).
As a CompE and EE major who switched to software after graduation like 20 years ago, EE work was also like way harder IMO. They SHOULD be getting paid more. But they don't seem to be. I switched due to low salary and few available jobs and never looked back.
Same here.

Soon after graduation (~y2k) I know another, older EE who just retired early because it just wasn't worth it to work (and his SO made good money). The salary he was going to get with 10 years experience as an EE was about what I got straight out of college.

IIRC intel pays the “Median” compensation for a position. This ultimately doesn’t mean much in semi when intel was hiring 3/4 of the engineering talent.

Inflation has been brutal to gen y/z in ways that aren’t tracked. A recent college graduate in EE makes about the same they did 30 years ago, but paid 10x for college and 4x for housing.