9 ms·
This article makes me think of the woodworker's dilemma. You might start working with cutting, planing, joining and finishing wood because you want to make a ch
by neogodless 5y ago
This article makes me think of the woodworker's dilemma. You might start working with cutting, planing, joining and finishing wood because you want to make a chair or end table, and you like the idea of learning to do it yourself, maybe saving some money, or at least getting some extra tools out of the process, and having some pride in your work. But before you know it, you've spent 4 years accumulating tools, but more importantly, getting really good at making jigs, shelves, etc. to organize your tools and make your hobby easier and more enjoyable. In fact, you spend 90% of your time building tools. You do this not because you have to, but because you enjoy it. And because the brain makes it so easy to think of new ways you can use the skills you're building to make more tools in a virtuous cycle.
When you actually build a chair or end table, you complete the project, and you do enjoy the fruits of that labor, but there's no real cycle there. It's just an ending.
Software developers might fall into a similar trap, being so enthralled with building their own tools, writing libraries, designing and implementing frameworks, creating processes like CI/CD that obviously make the whole software development life cycle better... but of course it's largely an internal cycle that's more interesting than a lot of the end results of software that might actually benefit business (and measurable productivity.)
- LeSaucy 5y agoAs a software engineer who loves this type of stuff I’m thrilled someone’s willing to pay me exceptionally well to do it. It’s unfathomable to think of a company having 3-4 woodworking teams each with different shops, tools, jigs etc.
- scooble 5y ago> It’s unfathomable to think of a company having 3-4 woodworking teams each with different shops, tools, jigs etc. Not really, depending on the company. Building something complex, like a house, could require at least carpenters, joiners and cabinet makers, which are quite different jobs.
- swiley 5y agoSometimes I feel like the complexity introduced by those tools results in less productivity. When that happens this weird cycle forms where more and more developers are hired to manage the ever changing interfaces used by internal tools which results in more churn.
- eadmund 5y ago> When that happens this weird cycle forms where more and more developers are hired to manage the ever changing interfaces used by internal tools which results in more churn. The Node ecosystem leaps to mind. To a much lesser extent, the Python ecosystem.
- gpspake 5y agorelevant xkcd https://xkcd.com/1319/ https://xkcd.com/1319/
- bob33212 5y agoThis happens even more outside of creator roles. Process people invent processes and then that requires other processes to check those processes, and so on. Then you are in a situation where just buying a product in a way that hasn't been done before, like from a foreign country, can take months to accomplish because all of these processes were created without that situation in mind. A real world example of this is the DHS, EFiMS. By the time that they are able to complete all the process, the product they are trying to buy is no longer within the necessary specs and they start all of again every 4 years. https://fcw.com/articles/2020/10/06/dhs-financial-modernization-on-hold.aspx https://fcw.com/articles/2020/10/06/dhs-financial-modernizat...
- CyberDildonics 5y ago> In fact, you spend 90% of your time building tools. This is a ridiculous exaggeration with almost any wood worker. Making tools and jigs doesn't require much time and someone usually only does it after they have already done something without them at least once. Programming tools are much more difficult to make. You need special skills and most tools aren't made to be easily extended.
- bluGill 5y agoI make jigs because I can't figure out how to do a project without it. I rarely make the same thing twice, but a lot of things need a special jig to do right.
- CyberDildonics 5y agoThere are two things here and the more important thing by far is that making something like a jig is nothing compared to making a programming tool. You can measure, scribe and cut a few times then drive self tapping screws and have something useful. Making something not only new but integrate with some existing tool doesn't take an hour, it takes weeks months or years.
- bluGill 5y agoI do a lot of jig like things when programming. Sometimes I spend months perfecting helper code, but sometimes I only need it to run once and I'm done in a few hours.
- tharne 5y agoI'd argue woodworking tools are harder. People expect physical objects to work correctly, whereas the word has largely come to accept buggy, glitchy software.
- majormajor 5y agoLook at some houses for sale where the owner did maintenance and you might be surprised how many people accept buggy shit there too. ;)
- kiba 5y agoAs I remember Elon Musk saying, the best part is no part. Likewise, same for process. The worst thing an engineer can do is optimize to a requirement that don't need to exist.
- ilammy 5y ago> As I remember Elon Musk saying, the best part is no part. IIRC, the saying originates from Mikhail Koshkin who designed the T-34 tank, often extended with “...but the essential function still performed”.
- swalsh 5y agoAs a woodworker, i've noticed 90% of time is easily spent on setting the tools up. Jigs help save time because they let you spend less time setting up tools. Economy of scales are gained when you can get more products out of the same number of tool setups.
- SteveGerencser 5y agoVery much this. I also work in wood and it amazes people that it can often be easier to make 5 or 10 of something than just one simply because of the jigs we make.
- Ma8ee 5y agoThat is why I use hand tools. For most one of items, it’s not slower. And I’m actually shaping and joining wood instead of spending most time adjusting machines. I’ve got enough of that in my day job.
- thinkmassive 5y agoSimilar to setting up dotfiles or a library so they can be reused in your next environment.
- tyingq 5y agoThis effect gets worse in a large organization, where eventually you get a named group with a leader for every possible sub-specialty or task. Human nature, then, is to grow (or at least preserve) the size of your group. So you end up inventing projects and work that keep your group busy, rather than ceding people to other groups that actually need more help. There's also a tendency to create mandatory process that forces other groups to engage with your group (forms, approvals, reviews, etc).
- analog31 5y agoPeople of the same trade seldom meet together, even for merriment and diversion, but the conversation ends in a conspiracy against the public, or in some contrivance to raise prices. - Adam Smith
- hvs 5y agoA few nits to pick as a woodworker: 1) You never save money building it yourself (at least not in comparison to a standard consumer option, like a chair or table from your local furniture store. This may hold up if you compare what you build to high-end hardwood furniture. But with the cost of tools, you're probably still losing money if this is just a hobby) 2) 90% of my enjoyment of woodworking is just being in my shop working. The results are almost secondary. It's a hobby for a reason. 3) I know professional woodworkers and they definitely do not spend most of their time building organization. They buy anything that will speed up production. I can spend 6 months building a dream workbench, they'll go to Benchcrafted and just buy one.
- neogodless 5y agoNo disagreement really. I view it from my perspective as a hobbyist. I enjoy being in the shop working -- and I enjoy making stuff like my work bench, my saw tables and dust shields, my French cleat shelves, etc. I don't really expect to save money (if I do the numbers) so much as I expect to get more out of the process (skills, tools, etc.) than what I get buying something off the shelf. And yes - a professional most likely values their productive time over time spent making jigs, etc. so they will often allocate capital wisely to save time!
- agumonkey 5y agoIn stuff like car/van furnishings I tend to believe you can save a lot since its not yet an IKEA like market.
- nathancahill 5y agoAbsolutely. A van buildout gets crazy pricey when you contract it out. It's relatively easy and cheap to DIY.
- agumonkey 5y agosome companies are starting to produce systems in volume though, still pricey but it's probably gonna change
- bishoprook2 5y ago"This article makes me think of the woodworker's dilemma." I'll definitely say that this applies in the car hobby. It's a helluva lot more fun to arrange a garage than to pull out a transmission. In terms of software, and this is perhaps just my age (and industry) showing, but it would be interesting to set up a shop that used only simple/traditional make files, gdb/gcc, simple text editors, extremely simple source control, waterfall design. It wouldn't work at Google but you sure can get wrapped up in building the garage at smaller companies.
- acutesoftware 5y agoI don't know if it is rare thing, but I also have loved making scripts and automated bits during software dev; and making jigs in woodwork took 50% of my time because that was such fun. > It's a helluva lot more fun to arrange a garage than to pull out a transmission. Also, thanks for this comment - it sums up the fun of jig making and also gave me a light bulb moment in games. The fun doesn't have to be killing the orc, it can be organising your weapons and potions ready to kill the orc.
- dalbasal 5y agoEloquently put. I think the woodworkers dilemma is a thing from the dev perspective. But, that still doesn't deal with the software users' side. Why does a modern company need more people in accounting, HR, even management? Shouldn't the ability to email everyone, digitized forms and such make fewer people necessary to do the same job? If Mcdonalds invents a new sandwich maker that requires half as many cooks per burger...
- citizenpaul 5y agoThe purpose of HR is to protect from liability and regulation violations which gets harder the bigger the company The purpose of accounting is to prevent stealing, fraud, regulation violations and taxes. All which get harder the bigger you get. The more of those people you have the more managers you need to oversee them.
- dalbasal 5y ago..and computers don't help?
- Cthulhu_ 5y agoI'm definitely guilty of that. I should focus on some of the copy-paste-edit work to add support for half a dozen configuration modules, but I'm still mentally in the building scaffolding phase, also because for each module I will need to add some functionality (versioning, revert, import, etc).
- Guthur 5y agoI that while you observation is true the cause is something else. When looking to do something productive (write software or apply wood working skills) we are a mostly a victim of our on worldly experience. A software engineer lives and breathes software development and so it's only natural that he only sees software problems and so commences with implementing solutions for those problems. Sometimes there are other problems but it's really our live experiences that limit us from building enough of an affinity with them to naturally want to solve them.
- SimianLogic2 5y agoAre you a game developer? (brb writing a new engine)
- heisgone 5y agoThis is all true. That being said, it's not completely a bad thing. We have to accept that different people are motivated by different things. To run a business, you need both people motivated by money and people motivated by building things. People only motivated by money we work in marketing and management but don't have the mindset necessary to build the stuff they want to sell. So you get people motivated by building things to help. The trick is getting all those people to work together.
- tsimionescu 5y agoBut can you imagine how much better the world would be if we didn't run businesses and didn't need the people motivated only by money at all?
- robertlagrant 5y agoNot any better? The allocation of finite resources is best done with money.
- tsimionescu 5y agoMoney is a means to an end - profit should not be justification in itself, like it is today. Also, there are other good ways of allocating finite resources - allocation by money tends to create long-term winners and losers, as it is usually allowed to propagate across generations, reaching absurd levels such as people living off good land purchasing decisions made by their ancestors centuries ago. Sure, allocation by money is better than allocation by force or allocating all resources to the king, but it's hardly ideal. Either way, we weren't discussing limited resources here, but just the opposite: creating new value. There are people who actually create the useful items or services, and people who profit off it - and we have all mostly accepted that it's good and proper that these are different people. But looking at this with a cold rationality shows it to be absurd: we take a group of people who are interested in something of use, and instead of letting them do it, we take another group of people who just want to accumulate money&power and put them in charge of deciding how the useful thing will be produced. This is quite obviously absurd, and it has led to global warming denialism, cigarette cancer denialism, and so many other issues.
- abc_lisper 5y agoThis is actually ideal when they don’t overdo it. OTOH you have teams that don’t give shit about engineering, rarely apply any thought and push work around. What should take a week takes a year, because engineers don’t take joy in their work, don’t spread knowledge around, learn quickly from others etc leading to Dilbertian managers who want butts in seats, have War rooms to get work done.
- sytse 5y agoI couldn't agree more. We see it all the time that companies spend a ton of time and money on top of their tools. We call it DIY DevOps https://about.gitlab.com/DIY-DevOps/ https://about.gitlab.com/DIY-DevOps/ and frequently see a big saving when moving to a DevOps Platform.
- saeranv 5y agoWoah, I didn't realize I do this, but this really resonates. It seems to me that one "hack" to break out of the tool development cycle is to iterate chairs. If it's iteration itself that is intrinsically pleasurable and addictive, then perhaps simply switching what you iterate on can switch you onto a more productive path, without the usual resistance/procrastination that accompanies work.
- saalweachter 5y agoIt's a useful thing to ask yourself periodically -- at work or "play", programming or woodworking -- "Wait, what am I actually trying to accomplish/build here?".
- MisterBastahrd 5y agoThis was exactly me when I was big into video game emulation. I would spend 90% of my time hunting down rare roms and then categorizing them, testing them, ensuring that they were valid, etc and only 10% of my time playing the games. On top of that, the vast majority of the games were barely worth playing at all.
- devoutsalsa 5y agoLike Hal fixing a light bulb (42s watch): https://youtu.be/AbSehcT19u0 https://youtu.be/AbSehcT19u0