33 ms·
Slightly off topic. But I feel for a lot of "knowledge work" what is proclaimed to be the fundamentals and what the actually fundamentals are diverge quite a b
by dathinab 2y ago
Slightly off topic.
But I feel for a lot of "knowledge work" what is proclaimed to be the fundamentals and what the actually fundamentals are diverge quite a bit.
E.g. if automata theory a fundamental of (generic) software development. IMHO it's not. Sure it's a fundamental of many things you use for software development (e.g. programming languages, compilers, various "foundation libraries" like regex etc.). It's also a neat tool to have from time to time. But definitely not a fundamental for most software development jobs.
Through it's also a bit a question about what you define as "fundamentals". E.g. there are "fundamentals somewhat needed to understand at least somewhat to _effectively_ improve yourself" at least if you want to improve above a certain (often medium skill level) point. E.g. how colors work (physically and mentally) for painting and/or graphics design. And "fundamentals the science is technically based on but it kinda doesn't matter much for using it". E.g. a lot of things related to Chomsky-Hierarchie and grammars is for most software developers most times irrelevant. Not always, sure. But most times you end up needing this stuff at work you should pause and wonder "is that a good idea?". Because lets be honest while it's often fun, most times you are reinventing a wheel or making things more complicated then it should be or less maintainable etc. Sometimes in a subtle way. (E.g. custom config file format instead of leveraging existing formats like json, toml, etc.).