6 ms·
Are there decent paying jobs now? I was an EE then CompE major and, while I enjoyed it and think my engineering degrees were solid, all the jobs and better pay
by gedy 2y ago
Are there decent paying jobs now? I was an EE then CompE major and, while I enjoyed it and think my engineering degrees were solid, all the jobs and better pay were in software. I'm glad I liked to program as a hobby, otherwise my career would have been a lot more challenging.
- analog31 2y agoNo. 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.
- kragen 2y agoMy 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.
- analog31 2y agoIndeed, 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."
- exmadscientist 2y agoAs 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.
- kragen 2y agoIt 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#From_a_worker's_product 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 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.