4 ms·
Drilling down into the stack is a skill, and a skill that is very useful for things like debugging low level issues (sometimes what's causing your app to crash
by marcan_42 5y ago
Drilling down into the stack is a skill, and a skill that is very useful for things like debugging low level issues (sometimes what's causing your app to crash is a kernel bug or even a CPU bug). It's something you have to learn, but it's not wizardry. It all comes down to moving electrons at the end of the day.
I find that it helps if you start with things like 8-bit microcontrollers where you're writing C code or even assembly language, yet it's simple enough to wrap your head around easily (make sure you hit the metal; a lot of people doing this start off with Arduino and get stuck with the high level libraries, but then you're not really learning anything about how it works). Then if you know a bit about digital logic, it's not hard to learn how such an 8-bit CPU might be designed. At that point you can shift to larger and larger systems while still being able to "connect the dots" from a GUI app down to NAND gates. Of course you won't know the details of the whole stack (nobody does), but you'll have enough of a big picture overview to be able to dig your way through it when it becomes necessary.