3 ms·
I agree, learning the foundations is imperative eventually. I don't think there's anything wrong with starting your journey at the ultra abstract level we curre
by voidhorse 4y ago
I agree, learning the foundations is imperative eventually. I don't think there's anything wrong with starting your journey at the ultra abstract level we currently operate at, because, let's be honest, that's where the action is. It's a lot easier to stay engaged when you can implement interesting applications quickly, even when you don't really know what's going on. It's a lot more exciting to launch a binary that produces cool output, even if you rely on several dependencies, than it is to slog through tons of low-level stuff that is difficult to connect up with modern abstractions unless you've already had the experience of using them.
That all said, eventually you need to go deep. I think everyone in software engineering, at some point their career, has that sort of ahah moment where they realize just how high up the tower goes and start to get curious about those lower floors. Even though you still don't really need to dip into the bowels of the machine that often, just grokking what goes on down there does wonders for fleshing out your overall comprehension of the discipline.
This all sort of assumes you learn the craft outside of academia, which is typically very much a bottom-up approach (in all disciplines) and seems to work out fine (though students do complain about having a hard time seeing the relevance of what they're learning!)
- xwolfi 4y agoYou can also work with different people specializing in different levels: low level barebone people caring about the performance, correctness etc, mid level people trying to release feature quickly to lock value, and high level people trying to innovate on how the software should solve problems. We dont all need, at all time, to care about all levels.
- voidhorse 4y agoA great point! Teamwork is important. This is also the reason having strong "soft skills" is more important than having strong "hard skills" about 85% of the time.