logoalt Hacker News

saulpwyesterday at 6:41 PM5 repliesview on HN

You started with logic gates. How much EE did you do, or the actual physics that makes the transistor possible? Those are the previous (deeper) levels that people had to know before they got abstracted away.


Replies

VorpalWayyesterday at 7:00 PM

When I took software focused computer engineering around 2010, we still had courses that took us all the way down to transistors and even the physics of P and N junctions and how that applies to CMOS. (And even some basic analog electronics.)

Did I end up an expert at those layers? Of course not, but I know the basics and I know enough that if I need to I know where to start learning more. Just like I wasn't a C++ or hard realtime expert after university either, but now a decade and a half later I am pretty good at those (and a bunch of other skills that ended up relevant to my line of work).

Basically, none of the layers are "magic" to me. Even if I don't know the details of it, I know the general principle and I know I could learn more if I need it.

(I think you naturally end up an expert at the layer(s) you work in, and the knowledge tapers off as you go down (or up) the stack. For example, I know a fair bit about how the CPU works (cache coherency, pipeline stalls etc), I can passably read x86 assembly, etc. Because they affect the layer I work at (hard realtime systems C++ and now also Rust). I know far less about web dev than hardware.)

show 2 replies
vladmsyesterday at 6:52 PM

I have similar experience with the poster, and the way I read it is, "from the things I build here are some examples". I did learn about advanced physics topics that enable transistors, and even did some experiments, but for fundamental stuff you "don't build stuff".

Did I do all physics or all electronic circuit design or all software stacks? Definitely not. But I spent 3 years learning (and building) about lots of stuff.

alex_cyesterday at 7:15 PM

The one thing I appreciated about my Computer Engineering undergrad - and it took me a few years to fully appreciate it - is that yes, we did cover those levels.

The first two years were shared with Electrical Engineering. The second two years started to specialize towards Computer Engineering topics.

* Physics and chemistry.

* Circuits.

* Transistors.

* Logic gates.

* FPGAs.

* Assembly.

* Compilers.

* CPU and hardware design.

* Operating systems.

* Networking layers.

* Programming languages.

* Computer graphics.

Did I master all of the above - absolutely not. I loved some of them, struggled with others. Generally the cut-off for how my brain works is logic gates, I was never strong at the levels below that.

But we did cover them, and I could honestly say I had at least a rough understanding and mental map of everything that happens inside a computer from the point where it's plugged into an outlet, to the point where pixels show up on the screen.

jjk7yesterday at 6:45 PM

Yes, they taught that too.