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