4 ms·
I'm going to somewhat agree with your assertion, because I'm one of those developers that builds my business by simply plugging what are essentially legos toget
by blantonl 3y ago
I'm going to somewhat agree with your assertion, because I'm one of those developers that builds my business by simply plugging what are essentially legos together and googling stackoverflow solutions to my architecture problems.
However, a small anecdote. I recently obtained my pilots license, and one of the things you'll quickly learn in aviation is that there is a massive amount of information that you are required to learn that you will almost certainly never need, except possibly for that one moment in 1000 hours of flying when something happens in the air, and you simply can't pull over to the side of the road.
Developers who have an understanding of the how -and- why when they are required to solve a problem vs just plugging a library in will have a much better career developing solutions and leading teams that do exceptional work. Back to my anecdote about aviation, understanding the "how -and- why" could mean life or death.
- foofie 3y ago> (...) there is a massive amount of information that you are required to learn that you will almost certainly never need, except possibly for that one moment in 1000 hours of flying when something happens in the air, (...) I don't think this logic applies to software development in general and algorithms in particular. When you need to roll out a b-tree from scratch, just crack open a book and read up. The worst thing it can happen is that somr acceptance test fails and you roll back a change. That is hardly a life-or-death scenario. The word "soft" in "software" has meaning.
- thruway516 3y agoGp's point is about how there are many things worth learning even if you can't immediately see how they will be useful, and not about urgency or timing. Sure you can pick up a book and learn about b-trees if you have to but you might not even know that a b-tree is what you need in a particular problem if you never learnt it in the first place. Most algorithmic problems in the wild don't present themselves cleanly with a signpost saying 'this is an X algorithm problem'
- andsoitis 3y ago> When you need to roll out a b-tree from scratch, just crack open a book and read up. How would you know you need to use (or implement) a B-Tree in your solution VS some other data structure?
- paulcole 3y ago> Developers who have an understanding of the how -and- why when they are required to solve a problem vs just plugging a library in will have a much better career developing solutions and leading teams that do exceptional work. Will they? Or do you just like the idea of a world where that is true? Programming is (almost) never life or death and honestly is rarely even in the same ballpark. Most people don’t need (or want) to do exceptional work.
- wruza 3y agoRealistically, do most pilots remember these things? I also don’t understand the career claim. How does that work?
- sidlls 3y agoYes, as they’re literally life-and-death in many cases. Getting a pilot license requires one to demonstrate the ability to do certain “not common but not exactly uncommon either” recovery things from memory. And different bits of those “1000 things” play a role in different scenarios. If you’re lucky and at high enough altitude to have time to look up a checklist in the POH it’s great. When you have seconds because you just took off or something screws up on final you don’t have time to go through the POH or futz around with the checklists in your avionics (if they’re even there). The pilots that don’t remember these things when they’re needed are dead.