3 ms·
>> If you believe that's all there is to those ideas, maybe you need to step away and think about them for a while. Sure, there's going to be some resume paddin
by phkahler 5y ago
>> If you believe that's all there is to those ideas, maybe you need to step away and think about them for a while. Sure, there's going to be some resume padding happening in larger orgs. But all those ideas solve real problems too.
They do solve real problems. The question is whether or not they solve the problem at hand, and if they create other issues in doing so.
I was re-decking a back yard bridge with a friend and he brought a framing hammer. I'd never used one before and I always had a finishing hammer and didn't know the difference. I learned a new tool and even ran out and bought my own for the project, which worked fantastically well. It's still in my toolbox and hasn't been used since. You just don't use that thing to hang pictures on the wall because it may well f-- up the wall a bit. Using the right tool for a job is way more important than using a particular tool for any other reason.
- gfodor 5y agoI’ve never liked this best-tool-for-the-job mental model with software engineering. A given project has multiple needs, and unlike more physical tools there is a very high marginal cost for each incremental tool you use. So there is a huge balance between many well suited tools or a few but more generalized, less fit tools. This isn’t to say there’s an obvious place where to strike the balance, but the “best tool for the job” metaphor undermines recognizing it, and I’ve found this balance to be at the core of good tool picking for a given project.
- xpe 5y agoThank you for calling out BTftJ as a mental model. Recognizing the very idea of mental models is a huge step forward. Arguably, it could be used as a metric for how advanced an organization (or even society) has become.
- phkahler 5y agoI agree with you. But dont add a new tool (even a more general one) unless it fills a gap, or has other specific benefits.
- xpe 5y agoI also dislike the BTftJ (best tool for the job) cliche. Best according to who? Based on what priorities? Relative to what other options? Based on what kind of experience and expertise with the various options? My takeaway: BTftJ must only be a starting point for dialog and discussion. Shortly therafter, it is time to get real about each of our experience and biases. Otherwise, BTftJ is a only a thin veneer.
- phkahler 5y ago>> I’ve never liked this best-tool-for-the-job mental model with software engineering. I don't either. As photographers say, the best camera is the one you have with you. Same thing, the best tool for the software job is the one you already have and everyone knows how to use. Why anyone would want to introduce these high-end fads to an organization without proper reasoning is beyond me.
- gfodor 5y agoThat’s definitely part of it. Another part is just the various multipliers you get from having a small number of tools. Team mastery, more mobility of personnel (no/low ramp up times), unexpected opportunities for re-use, high quality onboarding due to narrow scope, etc.
- jounker 5y agoI think the metaphor is more apt than you’re giving it credit for. You just don’t have enough experience with the trade offs involved with “the best tphysical ool for the job”. :)
- frumper 5y agoI use a framing hammer to hang pictures on my wall, and I've never messed up my wall.
- phkahler 5y agoWell that's because you don't drive the nail in all the way to hang a picture. Would not recommend it for molding for example - any time you want to drive the nail flush without scuffing the material around it. My bridge had plenty of cross-hatch marks around the nails when done ;-)