I've decided it's a good time for me to focus on some practical fundamentals that aren't discussed in too much detail in uni. I've been reading a lot about networking, doing some coding in C and Rust and tackling some low-level things like programs dealing with TCP sockets, DNS, HTTP packets, etc. It wasn't really until doing this type of thing along with self-hosting my own stuff where things at a macro-level really started to click.<p>Anyone else have these aha moments in their career? It makes large sections of CS become much less intimidating when you actually get down and say..<p>"ok here is a packet, it's just bytes over a TCP socket... with a bit of bit twiddling, I can make these standards come to life."<p>While I did some of these things in uni, it was all very rushed. I don't feel I had the mind for these ideas to sink in so early in my engineering career. Maybe I would have if we did some really practical, hands-on things.<p>Books I've loved:<p>- Nand2Tetris<p>- Unix a History & Memoir<p>- Rust Documentation<p>- Distributed Services in Go<p>- Beej Guide to Networking/Sockets<p>- Code