Live data from Hacker News

I should have loved electrical engineering

blog.tdhttt.com

51–60 of 138 posts

Re: I should have loved electrical engineering

#51
post #3

If you want to learn how to solve problems with hammers, engineering is what you want to do. If you want to know how the hammer works, do mathematics or physics. If you want to get paid, do software. This is why I did an EE degree, didn't get paid much, went into software and used that to pay for a mathematics degree.

This is outdated advice. If you want to get paid, get a hammer.

I don't think engineering gets paid well compared to software. And by engineering I mean any physical forms of engineering that doesn't fall into "software engineering". The advice seems pretty accurate to me.

In that analogy it also works that in that the level of cognitive difficulty is most challenging @ physics theoretical work --> engineering --> software. Inversely proportional to pay check size. Though a physicist can probably figure out software whereas the other way is a tougher slog.

Re: I should have loved electrical engineering

#52
post #35

Earlier quoted context omitted.

Yeah, this kind of idea is why I’m dead against using things like the hydraulic analogy in early EE for anyone who is ever going to want to do more than the ‘hook some things up to an Arduino’ (or probably ESP32 these days) kind of level electronics. The gaps between the analogy and the real world actually make it harder to understand the fundamentals and just confuse people when you get to a deeper level understandi…

Once I ditched the hydraulic analogy and really tried to internalize charge, current, voltage, etc. is when I finally started to understand why the hydraulic analogy "works" but only for people who already understand electricity. Electricity behaves in many ways just like water (just at a significantly faster time scale) but I don't think it actually helped me learn how it all worked to start with.

This is a common problem in all fields IMO. It's easy for many to fall into the "It's like X" but it only makes sense if you already have the information needed in your head to connect the dots

Which is why I also don't generally like analogies and the kind

Re: I should have loved electrical engineering

#53

TL;DR author discovers there is little overlap between EE and CS. Hardware and software are called different things for a reason? I do agree that tinkering with the hardware always needs to be in-step with the lesson at hand. You can't just state KVL/KCL and move-on, you need to have the student build a circuit and play with it for a day or two.

In all of my EE or computer hardware classes at uni, we had weekly labs that required hands on building circuits. Often the labs were the most challenging part of the class. Is that not common?

Re: I should have loved electrical engineering

#54
You should have loved electrical engineering, but you should also have loved software engineering. It's just that the software side of your education leap-frogged straight over the fundamentals and into hacking on cutting-edge completed systems at the very beginning, which suited your desired learning style much better.

There are plenty of "applied" electronics technician or electrician's apprenticeship programs that are more like your software education. Take an induction motor, a variable frequency drive, a few sensors, and a programmable logic controller, and hook them together according to the manufacturer's instructions, and you can be off to the races operating a pump or a conveyor on day 1. But will you understand how the insulated gate bipolar transistors and filters in that variable frequency drive turn the rectified high-voltage DC bus into three-phase AC that generates a rotating magnetic field and induces a current in the motor armature? No, you don't need to know any of that to make the pump work.

You wrote:

> I couldn’t imagine ... a toy CPU implemented in SystemVerilog being ... useful

No, it's really not, but your work on real CPUs depends on registers and combinatorial logic and ALUs and MMUs. End users can typically just download Python and treat everything behind the screen as a black box, but if you really want to call what you're doing "engineering" or a "science", then developing an understanding for what happens behind the curtains is incredibly useful. If you've implemented a toy 8-bit CPU with load, store, compare, jump, and a few basic math instructions, you can write some assembly or a toy interpreter for it and you will have an understanding of how real CPUs work that can enable you to write better code later. Add some interrupts to that CPU and build a multitasking operating system, and you'll understand parallelism better.

All of modern technology is a pyramid. At the point of that pyramid is just a single doped semiconductor with a P-N junction. We build that junction into transistors, and transistors into gates, and gates into CPUs, and on those CPUs we execute assembly, and we write low-level languages that compile into assembly, and build operating systems and syscalls with those low-level languages, and access those systems with high-level languages, and connect those computers together with networks, and write applications that operate on those networks, and at the broad base of the pyramid there are billions of people using those applications.

In 2025, no one human brain comprehends the full stack anymore, we all become our own individual bricks in a particular layer. But to do the best work at any point in the pyramid, you ought to know a bit of how it works above and below you!

Re: I should have loved electrical engineering

#55

EE encompasses a lot of "engineering that takes hard math" at a professional and research level (similar to "hard CS," just different fields of math), so it is very hard to do as an undergrad, when your background in complex analysis and E&M is weak. Early classes on circuits in EE will usually take shortcuts using known circuit structures and simplified models. The abstraction underneath the field of analog circuits…

Yeah - there was a massive filtering of the students between the 1st year entry, and the second year at my Uni. Largely down to people unable to handle the (not terribly) complex maths at that stage.

I knew a number of folks in the first year who were very good at practical electronics, having come in from a technician side, but simply gave up due to the heavy maths load.

It got more complex when doing Control Theory, what with Laplace and Z transforms, freq domain analysis, and the apocryphal Poles and Zeros.

Further culling ensued at that point.

Re: I should have loved electrical engineering

#56
post #20

Earlier quoted context omitted.

This is especially true because for doing most _hard_ EE work, you really need access to a fab, and so a lot of money. This is not really the case for most hard CS work.

Fabs are only part of this, and not universal in EE research at all. However, almost all serious EE research requires at least $100k of lab equipment of one kind or another.

That's definitely an unfortunate part of EE, the hardware required to design hardware is expensive. CS requires a laptop and maybe some time on a server or a big GPU cluster, expensive to own but very cheap to rent.

I think the explosion in availability of inexpensive microcontrollers and FPGA dev boards have made it much easier for people to get into hardware design without spending a ton of money. This has also made it cheaper to buy high end test equipment, you don't need to buy a $3k Keysight oscope when a cheap Chinese USB oscope works just as well with plenty of features built-in for free. Obviously a proper academic or corporate research lab is going to be a lot different than a well-equiped hobbyist lab but the difference is not as stark as you'd imagine.

Re: I should have loved electrical engineering

#57
post #27

Earlier quoted context omitted.

>Early classes on circuits in EE will usually take shortcuts using known circuit structures and simplified models. Might just be me, but I found it all clicked when we started learning the fundamentals underneath these abstractions. For me it was harder in the first classes because it's about memorizing poorly understood concepts, my brain prefers logically deriving complex concepts as a learning method.

Yeah, this kind of idea is why I’m dead against using things like the hydraulic analogy in early EE for anyone who is ever going to want to do more than the ‘hook some things up to an Arduino’ (or probably ESP32 these days) kind of level electronics. The gaps between the analogy and the real world actually make it harder to understand the fundamentals and just confuse people when you get to a deeper level understandi…

I had a CS professor as an undergrad who would teach a couple of advanced seminars in his own research area. His approach to those simplifications was to announce, "I'm going to lie to you now, but just go with it and I promise that later we're going to learn the real truth." I liked that as a compromise, to make some practical progress, but not to mistake the simplification for full understanding. (And he wasn't rigid about it -- if somebody would ask a deeper question he'd happily answer it to some level and then get on with his plan.)

Re: I should have loved electrical engineering

#58
It's hard to put this plainly without being insulting but I have to be blunt. EE is just 100000000000x harder to learn. The distance from theory to application for EE is especially gigantic.

Software development for the most part is extremely easy. It's one of the few "engineering" fields where you can go to a bootcamp and learn it in 6 months. You won't see this kind of thing for quantum mechanics or electrical engineering.

Also the gap between theory and application in software is miniscule. Instantaneous even. You basically learn software via application.

A lot of software engineers take pride in their jobs and in their intelligence but they don't fully understand just how easy software is. Like you guys (to be accurate: most of you guys, not all) have an easy job and you learned a easy field. EE is challenging. You don't like it because it's harder and the intellectual capacity to handle it isn't there for everyone.

There's a reason why all hardware development moved to Asia. Software is just too attractively easy and the internet boom made it lucrative. Asians took whats available while the west took what’s most fun. And now the skill gap is more evident and we can’t go back.

Re: I should have loved electrical engineering

#59

You should have loved electrical engineering, but you should also have loved software engineering. It's just that the software side of your education leap-frogged straight over the fundamentals and into hacking on cutting-edge completed systems at the very beginning, which suited your desired learning style much better. There are plenty of "applied" electronics technician or electrician's apprenticeship programs that…

>which suited your desired learning style much better.

It's a nice way of putting it. The blunt thing that everyone is sort of dodging here is this: I think it's less learning style, and more IQ. EE is THAT much harder.

Re: I should have loved electrical engineering

#60
Here is the thing about hardware vs software.

For the same mental effort, you get orders of magnitude more "end product" from software than hardware, with greatly less overhead and greatly more flexibility.

Hardware is extremely punishing and "complexity friction" kicks in almost immediately. A multi-feature door alarm on a microcontroller is a one hour affair that a newbie could finagle. With a pure hardware implementation its a multi-day effort, plus another day of reworking the board to dial it in. And if you aren't copying a design, you likely need a degree as well.

There is also the fact that software pays much more than hardware, can be done remotely from just about anywhere, doesn't involve working in labs full of lead and solvents, and like the author noted, has a much higher "wow!" factor from people in general. Software makes you feel very powerful, hardware will humble you into the ground.

Post reply on HN