Live data from Hacker News

I should have loved electrical engineering

blog.tdhttt.com

81–90 of 138 posts

Re: I should have loved electrical engineering

#81

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…

Interesting. My approach to hobbyist EE (actually embedded) is: 1. Learn soldering 2. Treat circuits like black boxes. If I need X amount of Y, e.g. I need a circuit to smooth the voltage, I pick one black box with adequate attributes. However this is pretty introductory and I have no idea how to learn to fix old consoles. Sometimes it’s just a broken capacitor but I first need to figure out which part is broken.

Fixing old consoles is roughly...

a) inspect for obviously damaged components. Capacitors that leaked, chips that released the magic smoke, etc.

b) confirm voltages are good

c) inspect the inputs and outputs of the ics to see if they're doing what you expect

d) depending on the boards involved, a lot of checking if pin A is electrically connected to pin B when it should be. Sometimes traces get broken and need to be fixed up.

Re: I should have loved electrical engineering

#82
I think this article has a much simpler explanation than a lot of the points being made in the comments: When it came down to it, the author was more excited about software than hardware.

Contrast this:

> One of the EECS professors was kind enough to offer a RC car kit to his students to program it. I decided to give it a try. Maybe the toy car wasn’t exciting or maybe I was pre-occupied with other course work during that summer, I didn’t even open the box.

With this:

> Writing web applications blew my mind. I can just write some code, click a few buttons and boom all my friends and family across the globe can just see it! This feels like magic.

Anecdotally, I saw this a lot in college. Students would start out in electrical engineering because they thought hardware was really cool, but when the time came to do the hard work they didn't have much motivation. They wanted to be a hardware engineer, but putting in the work was unappealing. Software has a wider range of job opportunities from intense FAANG-level jobs down to being the person who pokes at a company's old PHP website long enough to keep it serving pages. You can jump in and find a level that matches your motivation. With hardware, you have to clear some hurdles to begin being useful at all.

To my surprise, I think Arduino and Raspberry Pi have made this worse. I talk to a lot of people who see themselves as amateur EEs because they bought an Arduino and used some jumper wires to connect some sensors to the right pins. It's exciting. Then they lose motivation when they encounter a problem that requires doing anything more complex or custom. These people often overlap with the CS students who think the entire world of software engineering is writing CRUD apps composed of APIs connected together.

Re: I should have loved electrical engineering

#83
post #73

Earlier quoted context omitted.

My biggest criticism of EE pedagogy is that it tends to proceed from abstractions and then derive the whole world. This makes it a bit of a slog for a lot of students. I’d like to see an application-first approach that builds up principles from observed behavior. Like, measure the slip in an induction motor and then work out what’s going on there, instead of deriving motors from Maxwell’s equations.

Massive waste of time. So much happens in a way that is not intuitive nor easily observable that starting from the math is much better.

The blog post describes the problem with this strategy, I think—the author was already pulled over to the CS side because they could just throw together a web app that people could actually interact with, day one.

If you start with easy circuit models, at least the labs can put together something tangible in the first couple semesters, to keep people interested.

And, I mean, a lot of engineering students end up going into sort of technician-y jobs, so keeping the hands-on spark alive has a lot of value, IMO.

Re: I should have loved electrical engineering

#84
post #55

Earlier quoted context omitted.

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…

I went into EE wanting to learn how to design CPU’s and thought the analog side would be boring. However, control theory turned out to be my favorite class. Learning how negative feedback loops are everywhere was an eye opener. Also learning Laplace transforms was one of my first “holy shit this is freaking clever and cool” moments. Just like how parity bits in data streams can be used to detect AND correct errors.

Same on the laplace transforms. I was kinda mad we had learned any other way. It was a lot easier than whatever we were doing before mathematically!

I wonder, how much control theory is there in CPU?

Re: I should have loved electrical engineering

#85

Earlier quoted context omitted.

Hum... The hydraulic analogy is for school kids to learn what electricity is. If you are creating circuits to hook into an arduino, you should have moved from it already.

It is a flawed analogy but it behaves like a fluid more than most realize: https://youtu.be/2AXv49dDQJw?feature=shared&t=1248

Electricity behaves a lot like a fluid. But not much like water or air, so there's little point in using it as an intuitive analogy.

Re: I should have loved electrical engineering

#86

Earlier quoted context omitted.

Hum... The hydraulic analogy is for school kids to learn what electricity is. If you are creating circuits to hook into an arduino, you should have moved from it already.

I feel insulted.

Instead, if you still use it, just drop it because it's probably holding you back.

And if you managed to move ahead in hard mode, you shouldn't feel insulted.

Re: I should have loved electrical engineering

#87

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…

> Actual CS research is largely the same as EE research: very, very heavy on math and very difficult to do without studying a lot.

That is largely true of academic research. A critical difference though is that you don't need big expensive hardware, or the like to follow along with large portions of the cutting edge CS research. There are some exceptions like cutting edge AI training work super expensive equipment or large cloud expenditures, but tons of other cutting edge CS research can run even on a fairly low-end laptop just fine.

It is also true that plenty of software innovation is not even tied to CS style academic research. Experimenting with what sort of perf becomes possible via implementing a new kernel feature, can be very important research but isn't always super closely tied to academic CS research.

Even the more hobbyist level cutting edge research for EE will have more costs, simply because components and PCBs are not exactly free, and you cannot just keep using the same boards for every project for several years like you can with a PC.

Re: I should have loved electrical engineering

#88
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…

The hydraulic analogy always sort of confused me because, like, fluid mechanics are real complicated. So, I always had this gut feeling question of like, can we actually end up with a hydraulic analogy that is exactly as complicated and electricity and magnetism? If we push the analogy beyond what is intended?

Is it an analogy or are both models expressions of some underlying model of potentials and flows, and we happen to have more hands-on experience with water?

Re: I should have loved electrical engineering

#89
As an EE who changed majors from CS in college and who has also done a lot of programming, I can see where the author is coming from. But electrical engineering, by its nature, is a low-level field. If CS students spent their first couple years doing algorithms and data structures in assembly, they would also find it difficult!

A key purpose of the repeated exercises in circuit analysis is to build up the student's intuition for how electricity works. Mathematically, it's "simple" -- just systems of (possibly complex) equations and basic diff eq. But for sophomores, all that is still new, and most students don't enjoy going deep into derivations.

Building kits and plugging pre-made modules into microcontroller development boards is fun, but it's not really engineering. You don't hire an EE to plug off-the-shelf components together, you hire an EE to do design work, to make sure everything is going to work under all operating conditions, and to diagnose problems when something goes wrong.

Finally, software is just easier[1] than hardware. Modern software is a mathematical idealization that runs of top of decades of high-level tools and abstractions. That's why it's so cheap and popular!

[1] This does not mean that everything in software development is easy, just that you don't need to deal with physics or chemistry or manufacturing or the procurement of physical goods in order to create new software.

Re: I should have loved electrical engineering

#90

Earlier quoted context omitted.

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

Develop an AI model that can generate an image of a hammer riding a bycicle.

And then fleece some VC investors and disappear before they notice you're losing money!
Post reply on HN