4 ms·
As a software engineer, this is something I get onto with my team. There is a such thing as too much abstraction and indirection. Abstraction should serve a pur
by withinboredom 2y ago
As a software engineer, this is something I get onto with my team. There is a such thing as too much abstraction and indirection. Abstraction should serve a purpose; don’t create an interface until you have more than one concrete implementation (or plan to within a PR or two). Premature abstraction is a type of premature optimization, just in code structure instead of execution.
- gerdesj 2y agoYou deal with getting a disparate bunch of people to persuade a mostly documented and mostly functional (as purchased) collection of IT systems to do largely what is required according to an almost complete specification (which changes on a daily basis). All of that is exhaustively and nearly documented correctly. There's the weird bits where 2=3 but you don't talk about that too often. James was really clever but a bit strange even by your terms and left a lot of stuff that we can get away with describing as legacy. We sometimes have to explain ourselves to management why the system buys a bunch of flowers every Hallowe'en (piss off Google and your wiggly red line - it's hallowed evening and I know how to abbreviate that phrase correctly) and ships them to a graveyard plot in NOLA. We generally blame James but no-one really knows what on earth is going on. We wrote an automated call closer for that one with a random dialogue. "There is a such thing as too much abstraction and indirection" Yes there is. You got two words out of sequence! "Premature abstraction is a type of premature optimization, just in code structure instead of execution." I will try to follow your suggestion but it sounds like advice to a teenage boy. English is a programming language too. You can make people do things by using it. How you deploy it is up to you. I try to come across as a complete wanker on internet forums and I'm sure I have been successful here. (EDIT: sp)
- withinboredom 2y agoI have very few words to you, as this is a barely coherent reply... > I will try to follow your suggestion but it sounds like advice to a teenage boy. I'm not sure what that means, to be honest. But generally speaking, junior programmers are still learning to be adults, so I guess that makes sense?
- gerdesj 2y ago"I have very few words to you, as this is a barely coherent reply..." Sorry, I've obviously been very rude towards someone for whom English is a second language. For that: I apologise.