Seriously, people, what did you expect was going to happen?
Seriously, people, what did you expect was going to happen?
I graduated a double degree of EE and Comp Science. My final year thesis was a project with a local company integrating their custom designed GPRS module with a GPS module to demonstrate mobile tracking tech (it was 2003).
Because of the project I went straight into a hardware design job out of uni. I was designing boards for mobiles! Working on circuit design, prototyping PCBs, I was psyched!
Problem is the company was run _terribly_. 3 months in we all got put on 2 weeks forced leave and then given redundancies. Aside from dinner pretty terrible management, the economics of doing mobile hardware design in Australia just didn't stack up (we were the only company trying).
In the end there were probably 10:1 software jobs for every hardware job. Given my experience so far, I opted for software.
It has been great, I love software, but I sometimes wish I had lived somewhere that had a higher critical mass of EE work.
I still build audio amplifiers, filters, and dabble in RF, but my day job is mostly administrative, now.
This is what I was thinking. There are few fabs in North America anymore, so SMD work requires a lot of shipping and patience. You can also outsource EE work to China very easily and they have a long history doing this stuff, but outsourcing software is not so easy for some reason (yet).
I see this within regions of the US in regards to software. If you grow up in a tech hub(even just your local state one) it can seem like it was "easy" to get into computers and mod games. But the farmers son's who are technical near me where I live now go and tinker with cars and diesel engines the way I did with my dad's old 286.
Also at the time I went to school (2006-2008) there wasn't any soldering and very little hands-on anything in the courses I took at CMU and UMass Amherst. It was formulae and Verilog (more coding than a lot of CS classes).
In the Intro to CivE class I had to take for scheduling reasons we made a cardboard bridge and watched it fail to support the professor who was suspended over a pit. I can't remember a single ECE lab from the two years of classes I took. I learned a lot more from playing around with Arduino and such in the years after.
But that's not even the tip of the iceberg in the EE world. To name a few: high speed digital (Gbps+), ASIC (digital vs. mixed signal, RTL vs. physical design, ...), RF, precision analog, both very low and very high power, photonics, EMI... Each of these subjects require deep, arcane domain knowledge on top of physics, AND lots of grinding + experience + tacit knowledge + know-how, much more than SWE.
Source: Electronics/Embedded hobbyist with an SWE day job.
You're probably romanticising it too because it's a hoby of yours, which just leads to skwes in your perception.
Source: studied EE, after realising I wouldn't like my career paths, I switched to CS. Mostly worked as SWE tho, but I did work in ab unusual and creative EE role first, before realising that most EE jobs wouldn't be so engaging
ha ha wait until you find out about microwave engineering.
Does a software engineer have perfect grasp and understanding about every subfield in SWE? Ranging from DX to writing compilers or designing languages, SWE is an extremely broad field.
EE is no different.
Free climbing a 5ft rock wall is not different than a 50ft one, etc.
I find most of these comments against my original points as me not explaining myself so well. And, I can say one thing for sure, EE's are good at downvoting! ;-)
I'm trying to say that EE, like MechE is not especially complicated. You have your theories you need to know but that's it. Yes, you can be inspired, you can figure out some trick. But: how often does an ME invent a fundamentally new mechanism? Pretty much never. How often does an EE invent a fundamentally new circuit? Pretty much never.
Now, how often does a CS person have to solve some nasty problem that has never been solved before --- every day!
I have done microwave engineering for over 20 years. I know what it takes. It's NOT Rocket Science, I assure you.
My degree (6-3) is in EECS from a small technical school on the banks of the Charles River.
So I'm not full of it when I make my statements; they come from over 50 years' experience.
> EEs just learn altium, read some data sheets, and poof, out pop the circuits.
Initially I just thought you were a troll, but with this kind of experience and education now I just know you're vicious liar. I'm sure every time you made a microstrip filter, feed ramp, or antenna you just poof from Altium after looking at a datasheet and it just worked. Not to mention a great deal of microwave engineering now happens in other tools like microwave office and ADS, I'm not sure Altium is even that great or useful for relatively common microwave stuff like designing say a microwave horn antenna.
EE is in a different ballpark, imagine if you had to explicitly pay attention to write software that didn't melt your CPU.
In addition to LT Spice you probably learn a more specialized simulation software. Who knows, maybe you have to design power elecronics. Maybe antennas. Maybe both. Maybe in the same system. Maybe you are specialized in power electronics and you have to integrate another specialist's design into yours.
You learn about all the basic components, basic circuits and how to apply them. And yes, to "read some data sheets". You learn about the most common IC's and how to apply them, and when not to. And so on. You learn about EMI. You learn about trace lengths, placement, and their myriad of requirements in a multitude of scenarios. You learn about multilayered PCB design and its requirements. And so on.
You learn about having to minimize cost by reducing the components to their absolute minimum. You learn about having to minimize space due to real life demands of where your PCB has to fit. Maybe you even specialize in PCB design, and you apply a specialist circuit designer's schematic to the real world. Or maybe you are said specialist designer. In any case, at some point you need to know both and neither is easy.
Inevitably when you have to lock in your design, the prototypes are manufactured. Perhaps you need to assemble them yourself, certainly at least partially. You may even have just a partial device at first, which you still need to be able to wake up. Without fail, the real world reveals its ugly face to you. Despite all your simulations and meticulous design, something doesn't work like it should. You likely need to have mastery of a table full of expensive measurement equipment, and you need to know what to look for and how to look for it. After you diagnose the issue, you need to know how to fix it. You probably have to fix it manually, likely involving precision soldering work to sub-millimeter pads. After the fix, you don't hit "recompile", you fix the schematic, then the PCB, then wait for weeks or months for the next prototype round. Until then, you need to continue testing the device with hand-fixed prototypes. You need to instruct other people on how to do the same modifications.
Who knows, maybe a pandemic happens, maybe also a war that affects global economy. A chip you used becomes unavailable. There is no drop-in replacement. You have to at least replace the chip, and perhaps the circuit surrounding it. You don't just hit "recompile"...
All the while you likely have one or multiple microcontrollers in the device. You need to interface with the SW architects as well as the developer side. You need to be the datasheet for the software developer - likely you even need to write the datasheet.
All that jazz in addition to the regular stuff everyone has to deal with in one form or another.
I'm not an EE, I'm an Embedded Systems and Electronics Engineer. So I don't know 100% how to explain what they do, although I have some peripheral knowledge. Which is exactly I wrote this. I have just been in my safe firmware developer's bubble, trying to support the people designing the hardware so that they can get their side in order with the MCU's doing what they should. I have immense respect for the people who are able to make the physical side of what I write the code for. Those circuits certainly don't just "pop out".
Both sides always have something to be mastered. Both sides have their different flavors, too, but neither one is easy. Both sides have to learn and apply. Funnily enough, both sides have clear analogues to eachother, and very similar problems, just in a different plane of existence. Oh and this is just one facet of EE like others have mentioned.
I could never be a hard EE.
I'm trying to make the point that EE is a Fixed Domain, where one only needs to know a very small number of things to be an 'expert' in said domain. This is not the case for CS, which is, basically, all of mathematics that can possibly be applied to computers.
EEs will be one of the first technical professions to be replaced by robots & AI when AI moves up to white collar professions. Mark. My. Words. ;-)
>For a SW person, heck, there is always something that must be mastered, and pronto. Unless a SW person can kick back and write COBOL all day, there is much more to learn and apply to problem solutions. SW is fundamentally more demanding.
Surely you jest. From what I can see the "always something that must be mastered and pronto" is simply javascript kids justifying their inflated salaries by rewriting their codebases in new frameworks every few months only to rediscover bad solutions to problems that were solved a decade ago.
EE and SWE are both very wide paths to travel along.
As for javascript kiddies ---- I suppose you're right, I don't know. And I share your frustration with a new framework solving the same problems we fixed 20 years ago. I get that.
However, CS that drives the world forward -- that stuff --- is not 'turning the crank'. To the extent that any profession is 'turning the crank' --- that is the extent to which some automated systems will be doing that soon enough.
I've done EE, RF, Analog, Digital and much more. That stuff is trivial (and I mean trivial) compared with, say some of the stuff that this guy does https://en.wikipedia.org/wiki/Fabrice_Bellard
I can tell you where the 'hard stuff' is in EE: it's in getting to electronic devices & circuits that perform near the limits of what physics allows. Extremely low noise, extremely fast switching, extreme power, those areas. And, yes, those folks have to be clever. Generally, most of those people are building chips, not doing what normal EEs do -- which is connect chips together --- and gluing chips together is trivial, this is my point.
Maybe it's just easy for me, that's possible. But I'm not that smart, so I dunno.
There is a reason Marc of a16z says Software Eat World, and not EE Eat World.
The main difference are that the constraints of EE are a lot clearer than software. From the laws of physics to the lists of available parts and processes to pick from. Then manufacturability and cost.
With software, your instruction set and available system resources/hardware APIs are your only real constraints. Everything else is an abstraction which you can question and rebuild.
Turns out the "correct" way to do things fall out more readily when you have more constraints, particular because we humans are worse at constructing constraints and abstractions than the universe. You get a lot more rope to hang yourself with to use a metaphor.
So sure, if you do NOT know your tool inside and out, then that's a hacker's knowledge. To be a professional, you know your tool(s) inside, outside, and backward.
So yes, if one knew Altium inside, outside, and backward (incl SPICE sim & FPGAs), then such a person knows EE very well.
It's a small, limited domain. THAT is my point.
I had the exact opposite experience. The CS dept. actively recruited me, and I didn't even realize what CS was until I had completed 2 years of study. I like CS, but had I known better at 17yo, I would have gone EE or CE all the way, because that is my interest, and there is little chance I could uncover anything on my own about electronics without the structure of university. I never wanted to be a programmer, but programming is not computer science, nor does a lucrative programming career require a computer science degree, or any degree. But every where I have seen, a computer science career requires a computer science degree or a mathematics degree, but I have little doubt there is the odd physics grad or engineering grad working as a computer scientist. Just remembered, I know a guy with a biology or botany degree that works as a computer scientist on the modeling side and has for almost 20 years. But he just does modeling, not everything CS.
This so much. Programming is accessible, that's great. I learned as a stupid kid and it worked out fine economically.
But if I had to re-do everything, I'd go to school, and select anything but CS. I can always teach myself that. I find myself interested in many things nowadays, but almost never engage them, because I just can't, there's just not much an individual outside of reading.
E.g. if you got a job doing low level programming, like firmware development or even chip design (basically still programming) your EE knowledge would be very helpful.
I recall numerous instances in my undergraduate career where professors and the students passionate in these fields would actively persuade people who didn't get exposes to the stuff from even trying.
I remember one professor teaching an elective class on the Linux kernel and how he would try his best to scare people into dropping the class early on. We lost 25% of the class after the first lecture (and the only girl). To be fair the class was hardcore for the typical level of CS students you'd see in my school. It was painful but fun. I just wonder about the people who got scared away, maybe some of them could have really embraced the Kernel and become contributors.
To this day I see hostility among the low level crowd in my dealing with people in the industry. They think that because what they do is more complicated that writing a bog standard web app that they are special and should be left in their caves not to be disturbed.
On a different note: I feel this is playing at least a small part in hindering Linux adoption. I have dealt with the community on and off for over 10 years and just the level of negativity that comes out of that community has got to be putting off at least some people wanting to tip their toes in the water. We need to MLLGA: Make Low Level Great Again! At that starts with really welcoming normies with open arms and patience while they get over the initial hurdles.
We're looking for bare metal developers so basic SPI, I2C, UART knowledge is essential, but even in that realm it's surprising how many embedded devs can't work outside of an RTOS and lack basic hardware knowledge
I almost tripled my salary by moving from what the person your replied to is looking for to the web. AND it's easier. AND I can work remotely.
I don't blame them. But they'll be more and more desperate to attract people. The democratization of remote web jobs after COVID is another nail in the coffin. They pay less, 99% of the time you have to be in office. It's a losing battle.
Doubtful. If anyone is having a hell of a time finding electrical engineers or embedded developers, then by definition that means the field isn't lucrative enough for people to stay in it. That's exactly the case I've seen repeated in every post in this thread.
I had a hell of a time getting a wage close to watch SWEs make. Hence I am no longer an embedded developer.
It's a no-brainer decision.
In my opinion that is essentially almost the same problem, though depending on the university/courses followed. To be able to program bare metal one needs some knowledge of bare metal, which is what an EE has. To be able to program one also needs some programming knowledge, which most EEs have. However if you take a 'standard' software engineer then they often only have a clue about the latter.
Most of the CS grads rarely touched C, and never ASM.
Not interested though because after 9 years of sensor experience software just pays triple my best pay in those years with easier deliverables. Never again.
It's easy to think that you're just competing against the other EE job offers of $120k total comp, but you're actually also competing against the software positions those EEs could get with $300k total comp.
There was so much low-level microcontroller dev work in the past, but perhaps that has mostly moved overseas now?
I used to do that work and I am not working at present, but I’ve moved up the stack a long way since then, so my pay and working condition expectations are probably ridiculous. And I don’t want to move from New Zealand!
So I've been doing higher-level work for a long time now.
I've a few unsubstantiated hypotheses why:
Zero Sum Game taught by boomer parents conscious that the party was already over but would be sustained inevitably with increasing ruthlessness.[1]
Intellectual Property laws started slicing and dicing knowledge that became temporarily more valuable by fencing it in.
Higher Education caught performance metrics (without much if any performance pay) and so especially elite schools but eventually the rest cottoned onto input pre selection as a way of surviving.
Society became a overt lottery particularly for low income families. This placed the easy weight of the burden of responsibility of tutors on the side of direction to easier subjects.
I believe all these factors and more began compounding exponentially with the enclosures act imposition of a requirement for a degree for work with no or marginal utility for the same.
Marketing, loans and for a particularly insidious enclosures act, the UK's "classless society" introduction of University status not only for a tsunami of new institutions (the UK will now accredit degree granting university status in only two years..) and the white washing of the vocational STEM/ Engineering focused UK Polytechnic system (making them independent degree awarding institutions enabled diversification and dilution) which multiplied the demand for least effort maximum passing grade tertiary education throughout the world ,by the turn of this century to lamentable result.
[0] turning up next week seems to have been the objective of one I spoke with, to demean the honest and intimidated.
[1] The last market play I laid on with my late cofounder was in reaction to the dotbomb. Bought military tech suppliers :-| Point being we need the new program before we are fully grown up so to pass it on. With massive shifts to younger population and the current generation of middle aged folk being capitalized by three bull cycles the last two payable like a Japanese 80's mortgage, by the grandchildren, this means now.
Edit: second footnote placed and "enclosures act" gains a act adjectivally. Edit2 for work para7 Edit3 last para payable not relatable.
If it’s not paired with humour though, it can be quite horrible
Security failure is a systematic fault of businesses and regulation: not the fault of the grunts mining at the coal face.
EE is hard. Bad EEs are unemployable. There's no demand. EE is also beautiful and absolutely fascinating. You get to:
- Do beautiful math
- Build things and get your hands dirty
- Do super-creative design
... and so on. It's just fun!
I have a Ph.D in electronic engineering from a top school, and I don't regret one minute of the program. I graduated during a downturn, and finding a job was neigh-impossible, despite being one of the best graduates from probably the best EE Ph.D program in the nation. Industry wanted experience. SE jobs were easy to find and paid better. I eventually found an EE job but many didn't.
I noped it out of the field after that. The core problem is EE companies are no fun. Employees just aren't treated well. IC design jobs mostly have all the accoutrements of Office Space and Dilbert: cubicle farms, rigid bureaucracies, limited vacation policies, button-down shirts, and so on. None of these things make people more productive or contribute to the bottom line.
I do EE only as a hobby now.
I don't think the trick is to water down schools, so much as to make the industry less oppressive.
Right now, I work in a company where I have work-life integration. I enjoy being at work. It's a pleasant place to be. I enjoy working from home, and balancing work with family. I enjoy my vacations. None of these are hard or expensive. I'd never get that designing integrated circuits or in any other sort of high-performance EE work.
Why can't I ask for a pleasant office, with a nice window looking at something green, flexible (not short) working hours, flexible vacation (I do better with fewer / longer trips), comfortable clothing, and similar in the EE world?
That said, the people I know who work in EE in aerospace seem to have an uphill-both-ways job experience, in terms of all the documentation and justification they do for their designs. There's a revolving door of new hires, and every once in a while somebody will get hired and actually stick it out.
Now the latest trend are MS/PhD only openings. Especially at IC manufacturers
But I have two questions for those: why not on-the-job training, and did the people that joined 20/40yrs ago have those qualifications? All of them?
Well, good luck filling those positions then! /s
If you decide to leave before, you must pay $PRICE * (x - $TIME_WORKING_HERE_AFTER_WE_INVESTED_IN_YOU)
the thing that struck me the most that a) intel was paying for his tuition b) he used to have enough flexibility to attend classes, in person.
for people who don't know, Pat Gelsinger is the guy behind the intel 386 and 486, and has been recently made CEO of Intel.
I imagine part of the problem is there's just fewer EEs than there are CS grads, so the EEs who end up teaching might be the best at that in their field but since the field of CS grads is so much larger you generally get better teachers in CS. I feel there's also been a huge push to make CS approachable over the past 30 years and it shows, it's easy to find great teachers both online and in universities for CS. It's much harder to find good teachers for EE.
Knowing EE or CS does not make a good teacher. Being a good teacher is significantly more than simply knowing the material.
I have not completely thought this through, so I'm posting it as a condensation nucleus for discussion rather than as some "truth", because I only formulated it in word form just now.
Wouldn't this apply to software companies as well? Yet we see higher pay, rather than imports/outsourcing.
While that's obviously an extreme scenario and unlikely to ever happen with electrical engineers, it's not too far off from what happened to many trades like welding.
Despite graduating top-of-my-class and honestly have a very good command of the material at the time, I graduated having ZERO skills in electrical engineering. I went the software route basically because its something I could pick up and learn and get work with, what the FUCK was I supposed to do with my "skills" solving textbook problems? As I said it was a shit school where the courses didn't involve nearly enough project work to build real skills.
The only people I know who went on to do legitimate EE stuff got a masters. Not sure how they are doing. I realized by the end of the degree I had zero passion for this shit, I wouldn't even know what I would want to specialize in. The only courses I found interesting were control theory and signal processing somewhat. I though the actual electronics courses blew.
Best decision of my life.