11 ms·
The worst part of this kind of thing is that young carpenters honestly, really, truly, just need to learn to use a hammer. They can't even conceive of the probl
by epiccoleman 3y ago
The worst part of this kind of thing is that young carpenters honestly, really, truly, just need to learn to use a hammer. They can't even conceive of the problems that are being solved by the hammer factory, let alone the factory factory. But in the world of the factory factory factory, the apprentice carpenter (who really just wanted to drive a few nails) is now faced with trying to understand the gargantuan complexity of the factory factory factory.
When one of the sub factories breaks down, or when a saw came out where a hammer should have, the carpenter might find themselves awfully tempted to take a ball peen hammer to someone's face. But sadly, they don't know where to get one or how to use it.
- sam_bristow 3y agoI'm going to start calling construction apprenticeships "builder builders".
- adrianmsmith 3y ago> But in the world of the factory factory factory, the apprentice carpenter (who really just wanted to drive a few nails) is now faced with trying to understand the gargantuan complexity of the factory factory factory. Sometimes I wonder if that's the point of all this complexity. (EDIT: I mean really excessive complexity as alluded to in the article with factory factory factories, or 100 microservices all in different programming languages just for a website (true story)) I mean who actually gets to decide what sort of approach to use, and what are their incentives? The senior in the team is in charge of deciding what approach to use. The senior's (personal) objective is not to get fired, maintain their position as the most senior so they can get the payrises and promotions, etc. So they sort of have an incentive to choose something that is going to be easier to understand for them than for others e.g. juniors, a kind of "moat" to protect their position of power and high salary getting attacked by lower paid juniors who don't yet have the experience to understand complex abstractions over manual tasks they haven't yet done themselves. I mean obviously that's not a kind thing for a senior to do, nor something that's in their employer's interest, but on the other hand it is rational given their incentives...
- josephg 3y agoSenior here. I think this is an overly cynical take. You want to pick a set of tools which will help you get the job at hand done most effectively. It’s often easier and cheaper to hire or train a team to use a framework or library than it is to reimplement the functionality that library provides from scratch. Eg, if I was building a big single page app, I’d rather use react than reimplement react’s functionality, badly, on top of jquery or something. Projects last years. An engineer with solid fundamental knowledge can get up to speed with most of these tools and libraries in a few days. The math usually checks out to make them worth using. But I still acknowledge your point. There are plenty of terrible senior engineers out there making bad choices on tools. And there is a lot of damage a bad tool choice can make to a project. Libraries and frameworks rarely tell you when they’re buggy messes. And coworkers rarely tell you when learning some new tool feels beyond them. So I’m sure there’s plenty of projects out there trying to use fancy tools which have a net negative effect on team productivity.
- adrianmsmith 3y agoYou're absolutely right, there is definitely an optimal level of framework usage, for the reasons you state. I suppose what I meant was really excessive framework usage, the type of which is alluded to in the original article with the factory factory factories etc. I shall edit my comment to clarify that.
- josephg 3y agoYeah fair enough. The whole factory factory factory thing feels separate to me. I think of it as a disastrous, productivity destroying meme that spreads through words like “hidden implementation” and “one interface, multiple implementations”. You don’t to be a senior to be vulnerable to the mind virus, though once it gets into the heads of your senior engineers your whole team or company can be in peril. The disease has claimed entire programming communities with its cloying rot. (Dare I say the J-word and invoke its wrath?). As an individual, it can take years to recover from these ideas. Some poor hacker souls never recover.
- xg15 3y ago> the carpenter might find themselves awfully tempted to take a ball peen hammer to someone's face. But sadly, they don't know where to get one or how to use it. ...and that's how the the factory factory factory also provides immediate safety and security benefits! /s
- butbutbutbut 3y agoSeveral just-in-time access approvals are required to authorize a zero trust hammer-face transaction.
- LoganDark 3y agoSorry, I only accept ACID transactions
- 88913527 3y agoEveryone needs to learn to do calculus by hand before advancing to the calculator. People picking up frameworks without fundamental understanding is a shockingly common fallacy.
- saurik 3y agoI mean, you certainly should learn arithmetic before using a calculator, right? But a calculator is more of a library than a framework, anyway, so your attempt at proof-by-analogy isn't at all resonating with me. (edit: I think I misread the comment I replied to and am now in the process of maybe figuring that out downthread.)
- chongli 3y agoCalculators do a lot more than arithmetic these days. Without knowledge of calculus, most people think of a calculator as a magic “black box” that outputs square roots and cosines.
- saurik 3y agoFWIW, I am willing to believe that I have misunderstood the comment I responded to, and that they are not making a sarcastic proof that people should not have to learn calculus to merely use a tool like a calculator, but that they in fact should do so, and I'd actually be willing to get on board with that? (But, as anti-framework as I am, I think that might be going a bit far.) I frankly still can't tell as that's use of "fallacy" to describe "people picking up frameworks without fundamental understanding" is apparently extremely confusing to me as it isn't in the form of a fallacy--like, is the fallacy that this happens? that this is a problem? is it the thought which leads people to do that? etc.--so I automatically added stuff to the sentence to make it work and maybe I did it wrong.
- deleted 3y ago[deleted]
- hajile 3y agoRoots were calculated at least as far back as 1800BC thousands of years before calculus existed. Trig functions were indirectly messed with since around at least 300BC and was definitely discovered by Indians around 600AD. Meanwhile Calculus wasn't published until the 1700s.