It requires above average:
- Working memory capacity
- Tolerance to extreme frustration, persistence
- Ability to learn fast
- Capacity to deal with particularly high incidence of imposter syndrome
- I could keep going all day...
SE is not overpaid. I actually think it's underpaid. Above all, the profession pushes for an early retirement.
Literally all those traits you listed are needed as an EE(and in many other white collar and blue collar professions too) plus add even more scary stuff like advanced math (for PID tuning, system signal processing, system modelling and simulation, etc.), but for way less pay that even a kid making iOS apps who hasn't passed highschool math can out-earn you. So how is that fair? My example was a slight exaggeration, though I bet there are plenty of mobile app kiddies making more than EEs.
My point is not that SW devs and app kiddies are overpaid, but that in comparison to them, pretty much any other career is massively underpaid, even the related ones like EE, since the barrier of entry is higher and the pay is lower.
To wit, there was a highly popular and controversial topic on my country's subreddit where a youngster was asking half snarky, half serious: "What's the point of going to school, when I make 65k/year as a self taught web-dev without needing any of the useless knowledge I had to learn in school, while the people who go into professions where they actually do need that knowledge from school for their career (engineering, medical, farming, chemistry, nursing, etc.) can end up earning less than me, a school dropout and mediocre webdev?"
I taught myself systems engineering, computer science, electrical engineering, and some chemistry. Most of these, I taught myself with low amount of investment, pirated books, pirated software, and garbage salvage.
I now work for the federal govt as a contractor making $150k/yr. The classes I took never even remotely got me here. I got me here.
Start looking at what the basic parts are. Look up spec sheets. Figure them out and what they mean. You may know what you want to do, but finding the part is half this battle. Start figuring out what the landscape looks like. Last you want to do is design something with retired status and no NOS (new old stock).
Also start getting electronic books on the basic topics. Trawl through college book lists, and then hit up libgen.is or other library genesis sites and get the books. We're trying to do this assuming you have very little money to work with. So piracy it is. And in actuality, the fundamentals don't really change much.
Learn analog circuitry. Go study and make your own simple circuits like circuit benders and acoustic effects.
Then dig into digital stuff. Lots of things here. You'll want to learn boolean logic, circuit analysis, and the like. There's tons of electronics to fuck around with to l;earn how they work and not work.
Past analog and digital stuffs are sensors and actuators. Sensors pick up things from the world, and actuators are things that interact with the real world. Learning and building your own 3d printer can teach you a LOT about this area in a rather quick manner. And working with an open source firmware like Merlin or Klipper can teach you digital handlings, firmware (with no OS), timing, handling analog signals, cleaning up various data, extending the hardware/software, and generally teaching yourself by trial by fire.... and print a whole lot of cool things too. (Helps to also 3d print project boxes.)
Learn how to handle power applications. Obviously we're not talking the 10kV circuits... We're talking handling batteries of various chemistries, building charge/discharge circuitry, and safe handling of the more dangerous lithium chemistries so they dont do a boeing or tesla on you. If you mess with lithiums, invest in 2 big metal buckets each half-full with sand. You'll thank me.
Get good with an IDE, like KiCAD. You'll eventually start building your own boards and parts and add them as usable things in other designs. If you get a job in industry, you'll likely use Altium. Pirate it if you can to learn it. Use the autorouter, and then do it by hand, and realize how terrible the autorouter is. Board design is just as much as an art as it is hard science. I've also heard for calculating EM prop to use something like http://openems.de/start/index.php but most tools in this realm are stupid expensive. Again, find and pirate.
Pick up some cheaper instrumentation. You'll want a good bench power supply, good 2 channel oscilloscope at 50MHz or better, signal generator, good soldering iron, good hot air rework station, fluxes, solders, solder braid, solder sucker, inspection microscope, logic analyzer, and more narrower hardware as your studies and need arise.
I also learned reverse engineering, at multiple levels. There's a lot of stuff that this can be used to attack your hardware that protects itself from, well, you. Some of the attacks are pretty simple, and others are crazy complex. Again, you might get really lucky. This usually inst taught in schools 'proper'. "Hacker skills" are usually frowned upon by the academics.
If you;re adventurous, you can also get into RF. Just be aware, this will sink your money like nothing else. A single decent SDR can easily cost you $700... And you still need a whole slew of equipment to get it to work. You can start out pretty cheaply, with 2 hackRF clones, 2 tcxo's, 2 RatLSnake antenna kits, and start learning from there. There's a lot to learn from a whole lot of fields, but even small advances are definitely noteworthy, and easily could get you published.
I know this misses quite a lot in the EE domain. However you can easily fill in the blanks as your need arises. There's a bit of analytics and mathematics I didn't directly discuss. You'll need to learn calculus. FFTs are definitely super importent and "integral" (haha) to anything regarding signals and information. https://catalog.purdue.edu/preview_program.php?catoid=7&poid... has a general listing of what their EE classes look like. You can hit wikipedia and youtube for those topics. There's LOTS of really great videos that explain the math and science online. Use those resources.
(I saved this for last, but I would also ask that you consider working on your English and grammar. Some of the worst spelling I've seen has been done by engineers. Try not to continue that trend. Lay-people and managerial/leadership types will take you more seriously.... But engineers... I don't think they'd notice :D )
Kid making iOS apps provides value to more people with almost no cost compared to EE working on his niche product and involving a bunch of other high cost components and capital investment to get to market.
Don't have a hard data to reference, it's just my personal, anecdotal observation.
Almost 50% of the people on the planet are technically above average. Not exactly a high bar to clear for something so well paid.
And it's not what I mentioned. I was talking about the original traits you mentioned. Most professions need those traits as well, web devs aren't that intellectually special as you might think, at least in Europe where plenty have access to free upper education.
I added advanced math, signal processing and control systems theory to show you the bar that EEs have, that many web devs couldn't clear as most web dev are just plumbing various flavor-of-the-month languages, frameworks and microservices together to parse a shitty JSON in AWS. Stuff that can be learned at home in a few months without studying engineering in University.
And I'm saying this with first hand experience, as an EE turned cloud dev. Web dev is basically overpaid when you look at how easy the bar is and how much money you make vs EE and other skilled careers that are the other way around in comparison. This goes double for my mechanical engineering friends who had to pass super difficult exams in university in terms of difficult math, CFD, structural analysis and simulations, all requiring very complex and domain specific knowledge only to get paid less than a Java dev. Do you think they are not above average?
I don't buy this. I think developers are highly paid because so many jobs are subsidized by VC speculation.
It's easy to get a software job working on a BS product that solves no real problems and eventually disappears. But the money you get paid is real enough in your bank account.
As long as VCs are willing to throw money at any random BS SaaS company that crops up, with the expectation that the losers are going to be outweighed by some unicorn, this will remain the case.
If/when the stock market corrects this free ride is going to be over.
(Disclaimer: I'm a developer, but I no longer work at a tech company)