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

No. This is a serious problem. The traditional engineers (EE, MechE) don't program, because the ones who do, have gone into software development. The people who remain are freaks like me, who for some reason, weren't interested in becoming software developers. Many of us have a physical science background.


My hypothesis is that if you can produce a ten-million-dollar product using a million dollars of lab equipment, the ten million dollars are probably going to go to the guy who bought the lab equipment, while if you can produce a ten-million-dollar product using your laptop, you can probably keep the dollars.


Indeed, I've given up trying to analyze the market, especially because I'm late-career and at a "staff plus" level. I think to some extent, programmers have a certain exclusivity because only a certain fraction of people can learn to program -- for reasons we don't understand -- and they have a high degree of mobility. This allows programming to function in a fashion akin to a guild, with collective awareness and action about wages and working conditions. Also, I think that open-source tooling plays a role. Ironically, "the workers own the means of production."


As someone in a similar position, I have a different take. I think SWE is compensated more highly for different reasons. I disagree that programming is any more difficult to learn than EE; I think it's pretty clear that they're broadly on the same tier and require similar (but not identical) skill sets. I think that only a small fraction of people are well suited to either.

The biggest difference is that software is just closer to "the product". When something goes wrong on a typical embedded device, the first thing they say isn't "well, better bring in exmadscientist to redesign the board", it's "let's fix this in firmware". And so on and so forth. Most electrical projects just aren't, directly, the project. There's a big layer of software in between, and that software becomes the face of the product or even business and captures so much of the mindshare.

The other big reason is simply that the complexity of software is unbounded. For me, there are only so many parts I can stuff onto a board. But software has no such limits. I was just looking at 2.5GbE Ethernet switch chips for a hobby project -- a hobby project -- and concluded that they weren't bad at all and would take me somewhere around 40 hours to deal with, start to finish. That's for one of the nastier things around in your typical consumer environment (short of a 5GHz CPU) and represents a tremendous amount of investment on so many levels to get things to be not only possible, but down to the level that a seniorish engineer can just do it that quickly.

In contrast, a dinky web interface to manage the stupid thing would also probably be around 40 hours (less if crappy, way more if done "to modern standards"). Which is kind of insane, when you think about how many Gbps SERDES links are in each project! But software can do whatever it feels like, while the hardware side necessarily has constraints on it, so this is what we get.

However, I also think things are pretty imbalanced right now: SWE is somewhat overpaid, and will correct down over time. So it's not a great career to leverage the farm against, though I'd say it's never going to pay worse than EE or ME.


It sounds like you're advocating an alternative explanation to the one I gave, but without understanding that it's different. This probably means that my explanation wasn't very clear.

The workers owning the means of production doesn't seem ironic at all to me in this case; it's textbook Marxist economic theory. The means of production for software are, from Marx's point of view, your laptop and maybe a colo box. When you own (or rent!) them, you aren't alienated from them (in the purely objective sense of https://en.wikipedia.org/wiki/Marx%27s_theory_of_alienation#... rather than any emotional sense) and consequently you own the product. By contrast, when you depend on your employer for access to the means of production, they own the product of your labor.

Open-source tooling, based on the idea that "software should not have owners" (https://www.gnu.org/philosophy/why-free.html), enables every worker to own not only their own computer but their own compiler, linker, etc., rather than depending on angel investors to invest the capital necessary to license them from Computer Associates. You are precisely correct there.

Where my analysis departs from orthodox Marxism (perhaps because I am in fact a liberal) is that I see this as a question of bargaining power rather than a Hegelian mystical thing.

Civil engineers have very little bargaining power because the state power necessary to build a highway is very scarce indeed, while the expertise required to design it is relatively abundant.

Electrical engineers have more bargaining power because they can choose between many potential employers, who have to compete with one another for their relatively scarce skills, but bringing a new electronic product to market still requires a significant investment and several months, if not a year or more. For more advanced electronics like submillimeter ASICs, we're probably talking about several years and tens of millions of dollars.

Programmers have enormous bargaining power because they can bring a salable product to market over the weekend with an investment of a few hundred dollars. Or a few thousand if they're targeting the iPhone.

So I don't think collective awareness and action are what's going on here. I think individual programmers are in a better bargaining position than individual electrical engineers, and consequently they get better bargains individually, without functioning in a fashion akin to a guild. (And collectively owning the means of production, as orthodox Marxism prescribes, would not provide the same benefits. Observably it did not, neither in the Soviet Union and Mao's China nor when US retirees owned the majority of the stock market through their pension funds.)

Incidentally, there have been a lot of innovations over the past 25 years or so that have greatly dropped the investment required to bring a new web service online. Sourceforge and later GitHub and then GitLab eliminated the need to spend a week configuring a server to support a software team. Rackspace and then Amazon Web Services eliminated the need to buy the server, haul it over to the colo, and maybe commit to a service contract. MySQL (now MariaDB), Postgres, and SQLite eliminated the need to license Oracle. (Linux had already eliminated the need to buy a Solaris license 25 years ago, but a lot of people hadn't noticed yet.)

Companies like JLCPCB, PCBWay, and OSHPark seem like they're sort of trying to do the same thing with PCB products, FPGAs and especially Yosys are doing the same thing with digital designs, and companies like Skywater, (the nonprofit) IHP, and Matt Venn (Tiny Tapeout) seem to be trying to do the same thing with ASICs, including mixed-signal ASICs. (I'd list Efabless here, but they seem to have gone out of business last week.)

But being able to pay US$10 for one-week turnaround on a stack of prototype PCBs isn't going to replace a 1GHz LeCroy oscilloscope or a Kuka industrial robot, so I'm not confident that they'll have the same effect.


There's a lot of interesting points that, but you've totally bungled most of the things relating to Marxism, confusing the subject of alienation work it's main mechanism, and confusing Leninism/Maoism—a line of revisions of Marxist theory to attempt to provide a roadmap that bypasses private capitalist development—with “orthodox Marxism”.

Also, orthodox Marxism sees material relation to the capitalist economy as something of a continuum—the three main classes consist of variations of degree of relative importance of two (labor and capital) means of interacting with the economy—the capital-dominant group is the haut bourgeoisie, the labor-dominant group is the proletariat, and the middle class, the petit bourgeoisie, has significant dependence on both labor and capital (the textbook case being someone who applies their own labor, rather than rented labor, to their own capital to produce goods or services, though there are other mixes possible that are also petit bourgeois.) It is purely material, not mystical.


I appreciate the correction! Could you be more specific? I'm not sure what I've gotten wrong exactly, and I'd like to stop getting it wrong. Of course I understand you can't pack Kapital into an HN comment.


The main one I alluded to but didn’t describe in the first message:

Marx doesn't talk about workers experiencing alienation from the means of production, he talks about control of the means of production being a means by which the capitalist class establishes working relations which cause the alienation of workers, generally, from the product of their work. Within a broadly capitalist society, though, a worker who does personally own some of the tools of their own trade but continues to work in a wage labor environment is still alienated from the product of their work, though they may have the option to opt out of wage labor, applying their labor to their own capital, avoiding alienation (this is a common pattern of the petit bourgeois, the middle class under capitalism in Marx’s description.)

The other is just that Leninism and its descendants (including Maoism) whose results you point to are not “orthodox Marxism”, they are line of variants starting, as the first point of departure, with what was intended as an adaptation to bypass the need for capitalist development as a prerequisite for socialism.


I see, thanks!

I didn't intend to say that workers were experiencing alienation from the means of production or that Marx thought so. Rather, what you say in that paragraph is exactly what I thought Marx thought. And I agree with him on those points. So probably my comment was poorly expressed.


I admit that I'm reading Kapital right now, because one of my kids gave it to me for my birthday. It's a slog, but maybe I'm just not great at reading this kind of stuff.

What I wonder is if Marx missed the boat on "intellectual capital," or if I'm the one missing the boat. I wonder how much of my own productive capital is contained within my skull. Not just details of my present job, but the ability to do the same kind of job for anybody, including for myself. Or, am I just gratifying myself with such thoughts?


It's definitely hard going, which is why I haven't read much of it myself. Part of that is that old Karl wanted to make his argument as convincing as he could, and that trades off against making it easy to read. They say the Grundrisse https://www.marxists.org/archive/marx/works/1857/grundrisse/ is more readable, but I haven't tried it myself. I guess I'd better, since I'm being told I'm getting some of Marx's points wrong!


(I am finding the Grundrisse to be easier to read.)


That's a nice analysis, and I agree with you about Marx. I'm a liberal too.

Oddly enough I have a side-business that makes an electronic gadget -- think something like a guitar pedal. But I have to choose my battles very carefully to avoid needing any kind of capital investment to speak of, and the real barrier to entry is the knowledge that I've gained from being immersed in the industry. My entire physical capital is less than what an engineer's employer pays per year for a seat of a CAD package.

A very big barrier that software developers don't face is regulatory approval.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: