My washing machine refreshed my thinking on software estimation
cosive.com
cosive.com
Compare movie production estimation. There are companies which will sell a film production a completion bond. The bonding company guarantees that a releasable film will come out, or your money back.
Here's an overview of completion bonds.[1] A completion bond costs about 2% of production cost. It's typically used for indie films with budgets between US$3 million and US$70 million. The completion bond company will cover some overrun, but if it's too big, they will fire the director and take over the production. That's what gives this real teeth. Movies where this happens tend not to be great, but tend to break even, so everybody gets paid.
So how do completion bond companies do estimates? History. They have the actual expenses from many completed films. This info is at a highly detailed level, with costs for each shot. So, when they get a script with a car chase scene, they go to their database, look up "car chase", and pull out how much the last hundred movie car chases cost. They also have info about directors, producers, and actors, and how much they tend to cost to shoot a scene relative to their peers.
It's not rocket science. It's insurance underwriting.
[1] https://www.mediaservices.com/blog/how-to-bond-a-film-a-defi...
Yeah, the other problem is that the company is constantly pressuring the developer to underestimate, and all the costs are on the developer if they can't deliver on that absurd date.
In my experience, while this might be true in some companies, I noticed that most of the time the issue with estimations is the lack of clarity (=what do I really want?) and enough context (what's the impact in terms of scope to reach what I want?).
Most of commercial software, for whatever weird reason, keeps on being compared to other industries and repeatedly this fails.
It's not like building a car, it's not like building a house, it's not like shooting a movie, etc.
From what I've seen, this up front design ends up being a good portion of the design time. The cheat is that people don't include this upfront design in the time estimate. They say "the specs are still being set, we can't start yet" rather than "we're delayed in setting these new specs", even though the end date moves similarly.
I know for certain that a specific way of doing things can and will improve a process. Nothing to say there. But "solving" a problem? Not sure about it.
Plus, sometimes you as a company don't know really what decision to make. PMs try to figure it out, get stuck, unstuck, and then suddenly a big company comes up with something new and your market is shaken. So again "what do I want?" which has an impact over everyone in the chain, because you must design something but keeping in mind that "it might be different in 6 months". So extensible, scalable, but hell please don't overengineer it, and yet I want it to run on K8s, but if a customer needs it in their data centers, we need to find a way to make it work there too, in a way that scales, but we can't give them a k8s cluster. It has to be easy to install, offer great UX and also be Fedramp and super secure, which most of the time means "either ... or".
Some industries are brutal.
Sorry I don't believe that a process can solve that problem.
Maybe in some specific industries where you have a lot of time, very well defined and predictable roadmaps it can work too.
I am guessing the first requirement would be the deal breaker, but probably not in every case.
There's outside monitoring. The completion bonding company will usually have someone on set watching every day, checking expenditures and progress.. "The completion bonder usually has a right of approval of the producer, director, and lead cast. These are not creative approvals. Rather, such approvals relate to reliability, tendency to cause over-budget results, history of substance abuse or other personal habits that have raised other issues as to reliability. ... Completion guarantors keep track of the on-budget track record of producers and directors and, it seems, cross-check with each other as to substance abuse or other extreme conduct relating to actors".
It's not that they need every single detail. Changes can be made during production. It's expensive changes that are a concern. Directors who tend to make expensive changes during production are known to completion bond companies, and that gets priced into the estimate. Not necessarily rejected, but priced in.
- If your movie is running out of time, you slash scenes, production etc.
- If your bussines software dev is running out of time and does not meet the minimun requirement, you can NOT slash it. Specially if it mission critical.
Bent, who studies megaprojects, who goes on to say that the big mistake everyone makes when coming up with estimates is to think that their project is "special". People come up with a million reasons why their project is unique, and then they produce an incorrect estimate because they try to consider each facet of the project and add or subtract time based on it.
In contrast, reference class forcasting "bakes in" all the various factors and averages them. If you're trying to build a house and want to estimate how long it will take, take the average time it takes to build a house of similar square footage in your state. This will factor in things like risk of a storm causing delays or cost overruns, and you don't have to consider that or other unknown unknowns.
If you think some aspect is important, find a reference class that can index on that aspect. The estimate you produce will be more empirical and data driven that way.
Comparing something as cookie cutter as movie production, to "sofware" doesn't seem fair. It's comparing the problems of tool users to tool makers.
Movies are mostly cookie cutter. You can go rent a full crew, with equipment and catering, for a weekend with a 30 minute phone call. Try hiring a crew of software developers, for your specific problem, in 30 minutes.
Software isn't cookie cutter, because software isn't fundamentally "software", it's a means to implement a solution for a specific problem. The difference in problem space a software developer can run into is massive. Unless you've already done it before, or are doing something incredibly cookie cutter, time estimates are based on gut feeling and past, probably incorrect, assumptions.
If you're doing something cookie cutter in software, then you can get great time estimates.
If you're doing something unusual with movies, then you can go WAY over time (see anything James Cameron touches).
That's not always possible. The real world is changing all the time. The article has a nice section at the end about "unknown unknowns".
- Shipping cast, crew, and equipment to Outer Nowhere is common. Lots of things can go wrong. Software developers sit at a desk.
- Weather affects shooting schedules in a big way.
- Film production has a lot of moving parts to be kept in sync. This can be botched.
- It's possible to get close to the end of production and see that the plot doesn't work. Most of Woody Allen's movies had serious problems with the ending, and had to be rescued by the film editor. Or that it's a total bomb with test audiences, as with the 2024 Cinderella.
One primary driver of the unknowability of software estimation, is that the customer doesn't actually know, and perhaps CANNOT actually know, what they really want or need until they see something that isn't it. No amount of asking beforehand will bring out this information, and complaining afterwards that they didn't say that doesn't accomplish anything except souring the relationship.
Bill by the hour, and absolutely refuse to bill by the project. It's the only way.
Let me rephrase: This is why bespoke software development is never ever primarily about the code
It has all to do with SW. The big problem is thinking SW=Code
But you are essentially 100% right
If you can bill by the hour, you benefit from the customer figuring it out on the go, which will take longer, but also be better fitted (If you can make it work)
If your job fits in "I'll make your X twice as good" or "I'll implement this standard" bill by the project, so you don't get punished for being more efficient; if it fits in "we'll solve your software problems", bill by the hour and you'll be rich, because they won't run out of problems to throw at you
I've worked with (and for) consultants and we typically billed by the project for things with well-defined scope, work, and outputs. (Maybe a small business website, or PBX system.) But we billed by the hour for things that were unfamiliar territory for us and forced us to learn as we go. Like migrating a bunch of data from an ancient proprietary database to Postgres.
That's when you swap the hinges so the door opens the other way, and you thank the manufacturer for providing such an easy solution to a common problem. It's good to keep things flexible and user-configurable.
Now quick, someone reply with a counterexample of how user configuration complicates the product and increases cost. It's design tradeoffs all the way down...
Or, bill by the project, but have an actual scope of work with details. Which will help you estimate the project cost and give you cover when something new comes up to increase the project cost.
Customers hate by-the-hour because they don't know what it will cost. Providers should hate by-the-hour because it ripe for abuse by the customer, who assumes you can do anything they want because "it's just another few hours".
The pain of being billed hourly will discourage clients from requesting too many trivial changes.
But on a tangent, it is common to see comments here and elsewhere about how you don't need much possessions, hoarding, Kondo Marie, etc... But tools and supplies like screws, gaskets, electrical connectors, spare parts, etc... take a lot of space, and you will need them at some point. You don't know which one and when, but you will need it.
Here the author already had a bunch of tools, and yet was missing a hole saw, a good drill, a large spanner, longer hoses, and a spade drill bit. He bought 3/5, but I guess he will keep them, it solved a real problem and he may need them for later, in case he moves again and have a similar problem, and maybe not with an available hardware store close by next time. And cumulatively, these things are not cheap, and hard to sell without a steep discount. Personally I would have bought the good drill BTW, it is expensive, but it is one of the most used tool, and it is a bit stupid to have a hole saw but no drill to fit it in.
In the end, you find yourself needing to go to the hardware store less and less, but you end up with a workshop full of stuff. The alternatives are to pay tradesmen, which will cost you, and you may not have one available right now. Or, which in my experience is the most common, invite the friend with the tools to dinner ;)
The smart thing to do is to buy them second-hand already.
The problem is that when you are on a project, you need the thing right now, I am sure the author could have found what he needed for a fraction of the price second-hand, be he also wanted a working washing machine. Not spend a couple of weeks with dirty laundry waiting for the right tools to arrive. The local hardware store is expensive, but here, it is worth it.
You can avoid this problem by planning ahead, but it requires knowing in advance what tools you will need, and the answer is essentially "everything". That's how you find yourself with a home workshop. If you want a home workshop, that's certainly the right thing to do, but it takes space and a bit of investment, even with good deals. And you may find yourself with tools you will never use.
I know, my father left me with a bunch of quality tools he got for cheap. I am grateful for it, even though I didn't use most of them (he didn't either), some of them turned out to be useful, and the unused ones may find some use later. But it is also a good thing that I have a place for them, because that's a lot of stuff.
Obviously I am talking about the expensive gear.
OTOH...I guess that's really just trading the tool restoration hobby with the cruising yard sales for deals hobby.
Yes, a good drill is a must-have for any home-owner. Anecdotally, I've owned a "prosumer grade" power drill ever since I bought my first apartment and I've used it a lot more than I originally anticipated. It's held up remarkably against a lot of use and abuse over a decade. Well, I've replaced the chuck and applied some epoxy to the plastic housing, but it still works. :)
Is it a good drill? I'd say that it's not great, but it's been good enough.
I've also bought some "consumer grade" tools and I would not recommend buying those even if you can buy it for cheaper than it costs to rent a proper tool. Sometimes, you get lucky with those tools, but most of the time, they are not worth the price of the box they come in. Often, the problem is that even though the tool doesn't exactly fall apart in your hands (this has happened to me), the precision of the result is just unworkable and you waste a bunch of time dealing with issues you otherwise wouldn't have.
Buy once, cry once. ;)
Get the best tool that you can for the job.
E.g.: In powered tools, always go for the brushless motor version (lighter, better power, smoother, more durable). Better to buy 2nd hand Matco/Snap-On than consumer wrenches etc. than cheap hand tools (Sure the mid-price ones might also have a lifetime warranty, but the turnaround time won't help you in the field; get ones that will break more rarely in the first place). Whatever the situation, do a bit of research and find what is best.
The good tools will be a joy to use every time and save a myriad of frustrated swear-fests over your lifetime. And they'll last longer.
Buy once, cry once, indeed!
Rotary hammers are not interchangeable with regular "high power" drills because the bits are mounted differently, though you can make do with a chuck adapter.
There lies the path to madness...
A friend, who worked at the place I bought that Bosch drill, chose to spend £14.99 on the cheapest corded drill he could find, then was surprised to find it didn't have enough power to actually drill a hole. It's the one type of tool I'd treat as an exception to the idea of buying cheap first, especially if you're young and moving into your first home - a good one will do its job well and last decades.
A few decades ago you'd be completely right - but these days, tools are cheaper than ever.
Washing machine hose, £7 [1] Hole saws, £8 [2] Wrench £8 [3] Spade drill bits £6 [4] Adequate drill £35 [5]
So £64 for the lot - about US$ 80. If you're in tech, the value of the time you spend driving to the store will probably be higher than all the tools you'll buy while you're there.
And if you're thinking "Oh at those prices the tools will be low quality" I can assure you, they'll be good enough for this job.
[1] https://www.toolstation.com/washing-machine-hose/p17946 [2] https://www.toolstation.com/holesaw-kit/p23014 [3] https://www.toolstation.com/minotaur-water-pump-pliers/p8325... [4] https://www.toolstation.com/flat-wood-drill-bit-set/p44945 [5] https://www.toolstation.com/black-decker-500w-hammer-drill/p...
Unless you are billing by the hour (ie in consulting), you are driving to the store during the time you would be parking your butt in the couch and viewing, reading or thinking about something that does not generate cash. At least that is what it is for me. If you literally lose money by driving to the store, your argument holds.
> And if you're thinking "Oh at those prices the tools will be low quality" I can assure you, they'll be good enough for this job.
Maybe they are, maybe they are not. I tinker with cars and motorcycles. Every single piece of my tools is Snap-On or something really comparable. If I use a cheap Chinese brand and round off a nut, that is really going to hurt. It will hurt more than what it hurt to buy a socket set for close to $200.
Also, if you are approaching something the first time, low quality tools will get you bad experience that will resist, maybe prevent you from trying it again. I might be one of those weird ones, but for me, Buy once, cry once.
Buying cheap (good enough) allows you to figure out what tools you actually need to upgrade on. I had a lot of pain in my high school days fixing a beater car which required me to purchase some higher end socket sets. You learn from some of those stripped bolts which tools to upgrade, but you don't want a whole garage full of high quality tools you don't really use.
If you have a stable hobby, buy quality first, and maybe build up inventory when you can so you don't have to make frequent trips.
If you don't and you just want to do some odd things spanning multiple trades, buy cheap and upgrade if you rely on them frequently.
To be honest, Harbor Freight and other store brands (Husky, Kobalt, etc) have always been reliable enough. As a home-gamer, I certainly couldn't see being able to have a toolbox full of Snap-On, especially before completing my engineering degree.
If I were a pro and feeding my family depended on what those tools did, then I could certainly see Snap-On as an investment, as my father did when he ran his own shop. But, to the point about rounding off a nut, something like that is rarely a function of tool quality and more about technique. Yes, a cheap 12 point socket or wrench can round off a hex pretty badly, but if it happens, the whole setup has probably been giving warning signs the entire time. My experience is that cheap tools are more likely to snap, break, or shatter during heavy loading, but that's not often the default use case.
Now you either have a tool that might be unreliable and can cause you trouble for the next job. Or, you spent money that you didn't have to spend by buying the lower grade tool when you needed to buy something better anyway.
> To be honest, Harbor Freight and other store brands (Husky, Kobalt, etc) have always been reliable enough. As a home-gamer, I certainly couldn't see being able to have a toolbox full of Snap-On, especially before completing my engineering degree.
Here you have a solid point. I am thankful that I am able to afford good tools. But if someone in unable to justify, I would say either work to be able to justify it, rent, or buy the best you can afford if you need the tool right now.
> But, to the point about rounding off a nut, something like that is rarely a function of tool quality and more about technique.
Maybe you are right. But here is an exaggerated example. You have a socket that has more clearance than ideal. You loosen one nut, and that was okay, you loosen the second one, that was a little tighter and that whole setup flexed a bit, but turned out okay. The third one is where things slip. Now, you have a problem. At least that is more or less how I land into trouble.
The "unknowns" point is valid, but the advice to buy something cheap to start with still comes from a good place.
Even from a cost perspective, I've snapped a few wrenches and upgraded my box saw (,and will splurge on a solder iron the next time I do anything serious), but the money wasted in those mis-purchases is vastly less than the money I would have spent on getting the "right" tools at the outset.
You also have the problem of unknown unknowns. Plenty of people are willing to sell you a $25 tool for $250, and we all know how reviews work, so the presence of good reviews and a high price tag isn't sufficient to guarantee quality. Even going with a "good" brand doesn't suffice if the brand is willing to increase profits on a few duds here and there (or, more charitably, just doesn't always hit them out of the park) or goes the way of Lenovo after an acquisition. Buying a good tool is often a nontrivial effort, and (when directing that advice to your average homeowner rather than a professional with that particular tool) the experience you have with the bad tool gives you a starting point for figuring out which aspects you do or don't care about.
For a few small examples, I own the cheapest immersion blender, 16oz claw hammer, precision screwdriver set, ... that I could get my grubby little hands on. I'd make those purchases again in a heartbeat.
For a counter-example, I did the same thing with a diamond stone. It turns out I don't care about the surface area or most characteristics (and now I know), but I care quite a lot about the depth and longevity. I'll save more money getting a longer-lasting stone that's a size I need, despite having "wasted" money on the cheaper stone, since I won't be inadvertently getting something bigger than I need or want. Since those things last ages I'm not sure the point really holds, but it also lasted for years and was purchased at a time when money was tighter, and spending more money then would have been much more expensive than spending it now.
For an actual counter-example, now I know that any wrench where I'm applying more than a few hundred foot-pounds of torque absolutely needs to be forged, and I'm willing to splurge to avoid low-quality steel. The cheaper wrenches were properly wasted money. Compared to all the time and money I've saved only purchasing nice tools when something failed though, I still think it was a good strategy.
>Now you either have a tool that might be unreliable and can cause you trouble for the next job. Or, you spent money that you didn't have to spend by buying the lower grade tool when you needed to buy something better anyway.
An important note is that this is a conscious decision. I know that I cheaped out on something, and I'm often pleasantly surprised that it didn't break. But I'm not depending on it for food, and we have backup transportation methods, so I'm not completely hosed if it gives up. For example: I once spent $20 on a Harbor Freight corded angle grinder, with the understanding that it'll probably work for the one job I really needed it for at that moment. 15 years and half a dozen smoke checks later, the damned thing still runs hard.
>> To be honest, Harbor Freight and other store brands (Husky, Kobalt, etc) have always been reliable enough. As a home-gamer, I certainly couldn't see being able to have a toolbox full of Snap-On, especially before completing my engineering degree.
> Here you have a solid point. I am thankful that I am able to afford good tools. But if someone in unable to justify, I would say either work to be able to justify it, rent, or buy the best you can afford if you need the tool right now.
If you can, that's great. Most of my wrenching life, including working on multi-million dollar automation equipment, has been well serviced by budget tools. Anything pro-grade was handed down from my father after he closed his shop. I'm to the point now where I could reasonably afford to upgrade, but the handtools still work well, and my money/time is honestly spent better right now paying a reputable shop to do what I need. Starting out in the world, I never thought I'd be able to say that, but I'm happy to be here now.
I'll have a project car again some day, and then I'll look hard at what is needed to accomplish my goals.
In the rust belt, about every bolt has lots of warning signs and each job is a gamble. I really need to get a torch.
A Snap-On drill, battery and charger costs $980 [1]
The article is about a homeowner who needs to make one 60mm hole through wood
For such a simple task, the $45 drill I linked will do just as well as the $980 one
Also, electric tools from Snap-On are pretty meh. Dewalt, Makita and mayyybbee Milwaukee all the way.
I am impressed. What is this brand, if I may inquire?
I've never owned any snap-on but I'm friends with mechanics that have lots of fun jokey names they call them.
I keep a LOT of computer/video game console parts but luckily with some planning and decent geometry skills (and a lot of straps) they’re easier to store. Camera and audio equipment on the other hand…time for a purge if I’m being honest!
P.S. Anyone looking for a quality router with a selection of bits?
This is the wrong way to think about things. You cannot usefully compare the value of time spent on work vs on hobby.
If I'm doing a project like installing the washing machine myself over the weekend, I value my time at exactly $0/hour. Let's look at the opportunity cost. What are the alternatives? On a weekend I could read a book, go out for a walk, play some games, etc; all those alternatives cause my income to increase by $0/hour. There is no difference in income amongst all these activities; there is only a difference in satisfaction.
You might say, what if you do this washing machine installation during regular work hours? Again the value of your time is zero, because in tech you are not an hourly employee: you get paid a fixed salary. Taking one hour off from work doesn't decrease your salary. Working overtime for one hour also doesn't increase your salary.
Therefore when I'm doing hobby projects I value my time at $0/hour. I think more about the kind of non-monetary satisfaction instead.
If I'm doing a project I want to do because it's a fun challenge (like the time I replaced the main pump in my dishwasher), I value my time at $0/hour.
But if it's a project I don't really want to do (like pulling ethernet cables through my cramped and dirty crawl space so I can put in an ethernet jack next to the TV), then I value my time at twice my hourly wage and if I can hire someone to do it cheaper, I hire them.
It's true that I get paid the same $0 on a weekend whether I'm crawling under my house or going on a hike, I'm willing to pay money to get out of an unpleasant task so I can do something pleasant instead.
I'd consider this sort of move of house maintenance to be more of a chore than a hobby project, though maybe that's just because I've already done it before and it's not interesting or satisfying to do it again.
In any case - I do agree that attempting to apply the same thinking to the hours spent in day to day tasks as work needs to be done very mindfully, or even carefully. One of the worst practices I had early in my career when I was freelancing and had a few clients that were happy to give me as many hours as I wanted to take was to use that as an excuse to replace other tasks with work. Paying someone else to do 30 minutes of grocery shopping so that I can work an extra half hour and end up with a profit, ordering lunch multiple times per week because the time it'd take me to cook and clean up would end up 'costing' me more than just continuing to work on something I enjoyed.
Before you know it you start thinking of chores as complete wastes of time rather than normal things that are good for your character to be able to do consistently. Ended up with a significantly better financial outlook than I'd have had otherwise since I had the work ethic/life balance to take advantage of that situation and not completely tank other aspects of my life, but looking back I'd rather have kept the more mundane discipline.
It depends on how much you value your free time and how much you enjoy fixing your washing machine. I spend five days working, I get two days for the weekend. The weekend days are scarcer and more valuable to me - I'm not going to give them up at the same price I give up a weekday.
Given a choice between fixing my washing machine myself and paying a repairman to fix it while I enjoy some hobby time, well up to a certain cost, I'd rather relax with a hobby.
> If you're in tech, the value of the time you spend driving to the store will probably be higher than all the tools you'll buy while you're there.
Implying that if you're not in tech (read: don't have a high salary) then your free time is not worth as much. I think most people value their free time like you described, not measured in terms of dollars, and certainly not proportional to how much they make in their day jobs.
The flipside is that they will probably already have the tools they need, or know exactly where to get them, and typically be able to solve the problem in 0-1 trips to stores. And then, when you're done, you don't need to store a bunch of tools and parts.
DIY makes sense if you either 1) enjoy it or 2) are in a position to need to spend your time to save money (and carefully evaluate tradeoffs about when it would cost you more money to DIY because a professional will have everything they need and you don't and won't need it again).
First hand experience. I have a 2 story house. I was going crazy with people walking upstairs while I was trying to work in my office downstairs. Got hold of a flooring guy who has hundreds of glowing positive reviews, and offered multiple references. He wanted to rip out the carpet and screw the floorboard to the joists, more. Got his work contract and added the clause that he will not get paid unless the sounds stay gone for 3 months after the job. Paid a premium for the clause. The creaking came back in 2 months and the impact noise never went away.
Got hold of another guy and he said, sorry can't do anything about the noise beyond what is already done. The third one said the same as well.
Finally got frustrated enough to do my own research and came up with materials and techniques that I had to "import" from California to Washington. Bought a bunch of tools. Now I have no noise, and as a bonus, ran conduit in the floor to have OS2 fiber everywhere in the house.
DIY is not always about saving money. It is also about getting the job done so it stays done and not doing the bare minimum to make it legal and to get paid.
We bought an old (1930s) 2 story single-family home last year which needed to be gutted almost entirely.
Except the plumber, all trade folks we had tried to cut corners and delivered subpar quality. Even the ones that came recommended.
We did a lot of the destruction work ourselves as that was not complicated or dangerous (under the guidance of a structural engineer and proper protective equipment).
Our walls are entirely out of brick and not 100% straight. Our plasterer somehow managed to make them curvy. He is licensed in my country and not some general handyman. We had to sand down the walls ourselves to get them straight. He tried to charge us for that.
Electrician started the job but now never shows up. We still have some of his tools he left here, but won't answer texts or calls. Family member thankfully is an electrician but doesn't live close to us. We paid them to plan everything for us, we'd install it, they'd come check and do the mains connection.
Drywallers put drywall on walls that shouldn't have any. We provided them plans that clearly detailed instructions. They admitted they were wrong but still wanted to charge us for the work.
We ended up doing most the work ourselves. Not necessarily because we wanted to, but calling, organizing, and ultimately arguing and running after the trades folks was such a pain in the ass. At some point I decided to keep track of much time I spent on quality checks and running after them and I figured out it wouldve taken me less time (and money) to just do it myself from the get go.
In Germany for private residences you often only have a general contractor if you're building a new house.
Alternatively, an architect often takes over coordinatation for renovations like this as well. They usually work on % basis though so they can add significantly to the expenses.
These are the ones specifically for soundproofing. Do you also want a list of stuff for the fiber?
My electric network took me time, but at least it won't burn my house like the existing one promised.
If I end up not needing a part, I can return it. If I do, I saved myself a trip.
I don’t know if there are any analogies to software development.
Like, I need to store a value or two for this local filesystem-oriented application. Not a lot, just like a "time since last check".
YAGNI solution: just dump json to a file.
Frameworky solution: Sqlite. You'll eventually need more, and Sqlite is not significantly harder than dumping json to a file, although it feels heavier.
Like starting up a small web-project by pulling in webpack and react. If you don't pull in the frameworks ASAP, eventually you'll accidentally find yourself NIHing yourself into Greenspun's Rule.
Returning it also cost you a trip.
Makes a lot of sense for people like me that wouldn't need a hole saw more than once or twice a year at most to share one with the community instead of buying it myself.
If I was using something all the time though I would definitely buy my own. I have always been a little envious of friends with a great workshop of tools and supplies in their garage. I don't have the space for it or do enough tool related work to personally justify it for myself though.
One way to solve this problem is by delegating it to tradesmen, but I personally think that cooking, home repair, gardening, and (to an increasingly smaller extent) automotive maintenance are things that well-rounded homeowners should be able to do the basics (which requires having the tools) by themselves.
I do wish that our society did a better job of sharing these supplies - we've got what I consider to be a good relationship with our neighbors, and yet everyone on my street has their own cordless drill, their own lawnmower, their own Kitchenaid, their own wrenches, and so on, even though the vast majority of these objects are only used for at most a few hours per month. All of them are taking up space, all of them are slowly deteriorating due to entropy/rust/general obsolesence, all of them cost money...and yet each household must to have their own.
I disagree, with the cost of maintenance these days. The cheapest shops in my area (large city, Canada) charge $110/h, reputable (and/or German) charge $125-$150/h, and dealerships start there and go up. I know people paying $100 for a seasonal tire change (swapping rims, not dismount/remount), plus storage for your off-season tires. A good jack and stand set is $180 ish, and you can either buy a breaker bar for $30 or an impact for $100, along with a torque wrench for $40, and be set for life for tire changes. The tools will pay for themselves in a year and then save you every year thereafter. And you now have the basics to do the easy-to-get-to stuff like brakes and suspension components, saving you even more.
Of all the trades, automotive is one of the easiest (and cheapest) to start doing yourself, aside from maybe plumbing. Especially if you have a second car to rely on in case you’re not confident in your ability to get a job done on time.
From the advocates of "you will own nothing and be happy".
And on that note. I tend to buy professional grade tools. Not just because there mainly better, have more features or are more accurate it’s also that they come with a higher Garantie and being able to buy spare parts if needed is an added bonus.
Over the years, I have accumulated the tools (and importantly: knowledge!) to do almost any home repair or remodeling. The main things I won't touch are those that require extensive experience to get right (drywall mudding a whole room), those that require a whole team (replacing a roof), or those that require big expensive machines (a clogged sewer line with the clog halfway out to the road).
[0] http://johnsalvatier.org/blog/2017/reality-has-a-surprising-...
This is an important insight that I will try to use
When the builders cut holes for the water hoses, they just spent 10 seconds hogging out a rough rectangle with a Sawz-All and then wandered off for a smoke break.
This lines up with basically all my past experiences so the pictures were entirely unsurprising
It's just time consuming and life has a lot of demands. I'd happily pay for this work if I had any trust in the results. But good contractors are hard to find and already very busy.
Even the "good" contractors are unlikely to take as much care as you want them to for these sorts of things. Previous owners had a bathroom fitted, and did a really good job except for the tiles behind the toilet where they clearly didn't bother spending 45 seconds installing tile spacers between like 4 tiles.The rest of the job is flawless, but it annoys me every time I see it.
This is exactly how I feel.
What's even worse is that when I hire contractors, I invariably have to clean up their mess and fix things myself so that they're up to my standards.
I've had a contractor do a job so poorly that it was more trouble to fix their mess than it would have been for me to do the thing myself from the start.
if you're lucky
> do everything exactly to code
if you're lucky
> as fast as they can
if you're lucky
After multiple bad experiences with contractors [1], I decided I could fail all by myself, for free.
So I bought all the tools, all the books (now youtube videos), do some mockups (eg practice tiling in the garage) before each project, and still (mostly) hate the results.
But it's cheaper, I learn a helluva lot, and my third attempt is usually good enough.
[1] Just 4 weeks ago, after a storm, I finally figured out my very expensive backyard fence doesn't have footings. That contractor just stuffed the posts in the ground and filled in with dirt. Stupid me wouldn't have even thought to ask, much less verify that work. So now I'll be learning how to make a fence. So it goes...
This reminds me of a conversation I had with the BT engineer who came to connect the phone line, when I was in the latter stages of renovating before moving in. He happened to be renovating a similar house. We were in full agreement, from our experiences, that most of the time, you can do a better job than the professionals - because you care more. It shouldn't be like that, but it is.
(Unfortunately he then fitted a cheap-and-nasty master socket, which I had to replace with a decent quality one myself when it turned out to be causing a problem. Partly proving his own point.)
90% of the job takes 90% of the time. The remaining 10% takes the other 90% of the time.
> So often we're asked to build something we've built before, so we estimate with confidence that it might take a week.
I‘ve never built the same thing / received the same requirements twice, making estimation pointless.
I've often received the same requirements for a system that already existed, and had to ask, why do you need a new one instead of the one you already have that does exactly what you're asking for? And oh boy does the answer to that get interesting.
Software though - why would you start over from scratch? That is maybe once every 30 years.
If it "looks like an alligator, except..." then it's not an alligator.
I can't count how many times I got burned, tried to beat previous code into submission to fit the new thing, only to realise I'd have an easier time just doing it bespoke from scratch so that it has 100% fitness for purpose.That, or you start writing reusable frameworks, which you have to somehow design and maintain, and "the project" becomes the framework itself instead of what you set out to originally do. How many have developed game engines instead of the game they set out to write? or blog generators instead of doing actual blogging they set out to do?
Reusability can be a beautiful trap. I'm done with that, now I just do the damn thing.
If you _like_ those then keep using them by all means.
But when people tell me “it’s so much more efficient if you never have to take your hands off the keyboard”, I don’t buy that.
Sure, it is more efficient to know shortcuts for things you do commonly in your IDE. And yeah, editing text is a common task in the IDE.
But (for me) 90% of an engineering task is gathering requirements, testing, waiting for Jenkins or something, chatting with a colleague about the context of the task. Fumbling around.
Writing new code or editing existing code is really a small part of completing the task, and being able to do it as quickly as possible isn’t that big of a benefit (again, for me specifically).
So, again I’ll reiterate, these editors work great for some (I know enough in vi/vim to get stuff done), but don’t try to sell me on the efficiency argument. Just use it because you like it!
IME, without good muscle memory (touch or hybrid typing) of keys, consciously searching for each key is going to seriously disrupt the flow and thought process behind the code being written.
It may not make you a rockstar programmer, but it will definitely make coding more enjoyable.
I think there was a recent HN discussion on this topic.
In the end, tho, you don't understand the argument, don't know the tools (know enough to get stuff done doesn't count), haven't walked in the shoes, but you're absolutely certain all us vi/emacs users are wrong. I mean, I've heard this pissing contest since the Win3 days, so I don't expect much intellectual rigor, but most people who feel the need to "well ackshually" keyboard jockeys at lest take the time to google up something like AskTogs infamous "I spent $50m to prove mice are faster" (for Apple, trying to push the Macintosh, with none of the research ever published AFAIK) to 'prove' how deluded we are. There is actual published research out there covering not just speed but ergonomics and accuracy; it's pretty inconclusive all things considered, and very dependent on the use case the researchers decide to examine, so really easy to cherry pick so you get to win arguments on the internet.
You seem to be trying to win a fight that I’m not trying to start, and that’s ok.
I said it’s not for me, and I will stand by that. Anyone who comes along in a reply arguing is missing the point entirely.
When caught out, try denial and sanctimony. Common tactic.
Most of my colleagues finish their intakes very quickly, finish projects early and most (not all) have a huge amount of time of aftersales and aftercare. They usually call this aftercare 'out of scope'.
My finished projects usually do not have any aftercare. They work, because i invested a lot of time in the beginning. I call this 'the actual scope'.
I've been fixing some of my colleagues projects recently. Some of these projects should have ended 18 months ago... Most take be about two weeks to fix.
They eventually will learn :)
Personally i don't really mind at the moment. I get to do various work and it's been less stressful.
I've been a manager in earlier times and got shit from all sides. Nearly drove me to a burnout. Paycheck was still horrible. So i quit that.
He was at my same level then. Now he's 2 levels higher.
I've been waiting 30 years. They haven't learned yet.
Pardon my nitpick but in case it helps save anybody else's hearing: noise-canceling headphones are not hearing protection! Hearing protection devices create a physical barrier between the noise source and your ears. Noise-canceling headphones use a microphone to listen to your surroundings and create an inverse sound wave. Due to their imperfect nature (latency, inability to reproduce certain sounds, etc) they are not adequately protecting your ears, especially for higher-frequency sounds like a drill motor: https://en.wikipedia.org/wiki/Active_noise_control
If you want hearing protection and music, you want something like these: https://www.3m.com/3M/en_US/p/d/cbgnawus1754/
edit: also should have used some teflon tape on the threads of the washer hoses to prevent leaks: https://en.wikipedia.org/wiki/Thread_seal_tape
Here are the specs for Apple airpod pro 2: https://www.apple.com/airpods-pro/pdf/Hearing_Protection_dat...
Side-note: Latency isn't a concern, the electronics are built to process input between mic and speaker at the speed of sound. Otherwise it wouldn't even really work except for static frequencies as I understand it.
$295 of that is knowing to drill the hole in the drain.
If your washer is draining and working, there's no latent issue to worry about.
If the drain backs up and the pressure is high enough to force water out, it might be enough to pop any screwed cap too.
The ones I encountered had a tapered pipe point for several diameter drains. You saw off to the matching diameter of your hose.
Often you would also put on a flowback protection valve so dirty water from e.g. draining a full sink would not get into to hose of your appliance.
So why do they still charge so much? It's not just "knowing to drill the hole in the drain" but overhead like equipment (they need to buy all the expensive pro stuff, and keep it in working order; whereas you might just need the one tool to get your job done, they need all the tools to get all the jobs done), vehicles, gas, etc. And of course the down time traveling between jobs, office space if they have an office, employees, etc.
All these things bring their prices back up to much higher than it would cost you to do it yourself--if only you knew what to do and had the right equipment.
I don't think this has been true anywhere for at least several decades. Every single tradesman I've used tells me they are overbooked/overworked and there's no shortage of jobs.
I'm sure they have their less-busy seasons, but overall I doubt any tradesman can't find 40 hours worth of work/week.
Not to even think of materials, tools and such.
I sort of hemmed and hawed and said ok.
When the guy came by to install it, it was kind of amazing. he opened the box quickly with a box cutter, and started unwrapping stuff. Stuff that was needed came out, extras were discarded into the lid of the box, all within about a minute.
He had a special pole with a carpet covered T at the top to help get the old rail down safely and raise the new one. He ran all the lines quickly and efficiently. Lines that were too long were wrapped around a screwdriver to form a pigtail and efficiently run them with some tension the right length.
I think it was done in ~ 20 minutes and worked right the first time.
Simply amazing to see sometime who has done it before and really knows what they're doing. Made me question every install I would ever do after that.
They did the same thing with a garbage disposal install a year or two later. ba-da-boom, done.
I select the parts, but pay the vendor or someone local to assemble and test it. Not only do they do it every week (if not every day), if some part is DoA they have others on hand to swap in and out to find out which part is the problem, but I don't, see: everything changed since I built the last one 5 years before.
[1] 2009 i7-860, 2014 i7-4790K, 2016 i7-6700K (had moved countries, didn't take the old PC, just the SSD), 2019 TR 2990WX (again had moved countries, taking just the SSD), 2024 i9-13900HX laptop (beats the TR in every way, plus sips power and is portable).
Here's a current catalogue customisable much cheaper machine from them with ECC:
https://www.adamant.com/adamant-custom-intel-xeon-e3-series-...
I bought my current PC from a company that seems pretty good, and targets gamers with medium-high budgets.
The "liquid cooled" cpu cooler died after being bumped with a vacuum, and I had to replace it.
With that one thing that I was forced to do myself, I had to learn a lot about the system that I'd already have known if I'd ordered the parts myself. Worse, they no longer had a list of the exact parts in the system on their site. I had to pull things apart to find out what they were.
I'll be making my own PC from scratch again next time.
Of COURSE you can't just have a hole in the side of a pipe under your sink, but the existence of the fitting gives you a false sense of security that it's plug-and-play.
Well, taking the story as metaphor a bit further… there were several opportunities to learn more about which questions to ask, without so many trips to the hardware store. I’m surprised not to see any mention of that in this section about lessons learned.
Coming back to the topic of software, I’m not opposed to exploratory work as a requirements-gathering exercise. But at a certain point it bears a lot more fruit to stop doing and start finding out what you don’t know as a dedicated effort. When you can take one figurative trip to the hardware store with a big shopping list and set of open questions, you’re bound to spend more of your labor in an effective and relatively straightforward way.
But also, he trusted his dependent team / vendor too much (the new home builder) and assumed that part was done correctly when he started. I feel like in the software world, if you're integrating an SDK into a new project for example, you'd look around a bit to confirm you can integrate it like you have in the past on older projects.
There's nothing wrong with poking around the codebase a bit, or doing a proof of concept, to get a better handle on the estimate.
If you're not going to be moving houses every couple months, this means passing the buck to someone else. That is, the job needs to be done by some professional installers, because they're in a position to do the same thing day after day, and can gradually adapt to variance and evolution of products (and plumbing, and homes).
Also, and that's a second step, from the POV of those installers, it would be ideal if they could also pick the washing machine for you - they'd just pick pick the minimum amount of machines[0] to cover common scenarios, and specialize in installing them. That would significantly improve accuracy of their estimates.
But this is, unfortunately, how we get to turning everything in life into a service, and it doesn't sit well with me. I'm willing to accept bad estimates if it means I get to pick and own stuff. After all, this is the model ISPs operate on, and we all know what kind of hardware they install. My first criterion for picking ISPs has always been whether they let you put your own router in place of theirs.
Recently I asked for quotes on adding a power socket to a din-rail fuse box. Easy job: cut two cables to proper length, screw one of them to the neutral rail, use a splitter after the fuse to get phase.
"We don't do that, ask your power company". "Don't have time, 80€ before taxes, in 8 months".
I would do it myself, but it's in the shared area of an apartment house and the slightest issue with it would void pretty much all my insurances.
I've been getting a lot of the same, from reputable companies, and then if I want a single person to get it all done, I have to have a connection I can definitely trust and does quality?
Possibly - it depends on the situation. In my experience, the transaction costs of getting people in can be pretty high.
After all, if a guy has to drive 40 minutes to me, perform a 10 minute job, then drive 40 minutes back - I gotta expect to pay for 90 minutes of his time.
And if some install jobs involve lifting a 160 lbs machine by hand, that's a two-man job - now I'm paying for two guys for 90 minutes. Or they want to see the job to check if it needs two guys before they can quote accurately - meaning another round trip.
Oh, and my job doesn't let me work from home, so I gotta take a day off work.
2. Cost of explaining your situation to them.
3. Cost of back and forth email and calls.
4. Cost of scheduling a time that fits you both (and having to wait possibly several days).
5. Cost of having to be at home at that specific time.
There's definitely tradeoffs and they're very context dependent on your location/circumstances.
6. Cost of "hey man I actually don't have time for your job today, I'll do it next week, sorry"
7. Cost of they just don't show up and you have no idea what happened
8. Cost of trying to call them after 7 to reschedule, it goes to voicemail, but the voicemail is full so you can't leave a message, so you text them, but they don't read texts, so you just have to keep calling all them and hope to get lucky and catch them between jobs
9. Cost of you get frustrated by 8 so you decide to hire someone more established who has a secretary, but the secretary is clueless and gives you misinformation mixed with "I'll ask him and get back to you" (of course never gets back)
It took more than a week overall. I don't see a real world where you can involve professionals and get it done in just 4 hours. I would have been ecstatic with just 4 hours.
I first talked with customer support of an electronics store, I took bunch of pictures of my setup, I asked several questions before hand. I bought both bringing the washing machine and installation from an electronics shop with best reputation locally. It wasn't clear where the water extract hole should be, I did figure it out talking back and forth with another specialist though. But the shop said that they can't do installation there. So I said, okay, let's drop the installation, just deliver the washing machine to the room. I asked multiple times if that involves also bringing it to the 2nd floor. And the customer support said yes.
Then when the delivery finally came, the guy said they only bring to the front door and the first room, not 2nd floor. Luckily he was still able to help me out, we together brought it to the 2nd floor, but he was alone so wasn't prepared, and it weighed quite a bit.
In terms of installation he said he can't help with that.
Then I was talking to a specialist who had helped us on some other things, and with back and forth I managed to understand what to buy, but I had to do multiple shop trips, since the things I needed weren't in the really large construction shop I went to (related to water extraction). I'm not English speaker so I don't know the correct terminology for all of this here.
Then there were other issues, such as machine started vibrating after, etc, etc. Which I managed to solve eventually.
But point being is that even finding, managing, scheduling and using specialists can take way more than 4h that it took him.
How on earth can he make 5 trips to the hardware store in only 4 hours? Something is not adding up...
I think I inadvertently addressed my attitude toward estimating software by forgetting estimation was even part of the topic. Heh… IMO the real lesson is that no one has ever done exactly the same thing before, otherwise you’re almost certainly paying too much for someone to do it again. In which case estimating is futile, until you’ve done sufficient work to approximate already doing the task under estimation. You can estimate when you’re reasonably close to completion, but the important skill is learning to recognize patterns… including the pattern that you’re facing unknown unknowns, and an unknown scope of same… and then to make the path to resolution more efficient.
This can take hours, or even fail altogether and then you're left with sopping wet laundry.
(Not saying this is true for all, some might just lie outright).
Newer washing machines rotate the drum slowly until the clothes separate, bringing the centre of mass closer to the axis of rotation, leading to much less vibration during the spin cycle. If the weight does not distribute after n cycles (e.g. if you put a single large and heavy duvet cover inside), some lower the spin RPM to a level that is deemed acceptable.
I've always assumed that they perform this measurement via the current curve of the motor during a rotation. Flattened curve -> distributed load, CG close to spin axis. Huge spike -> offset load, CG far away from spin axis -> bang bang bang walking washing machine.
There's some humor in the parallels with software development.
The not taking part is likely 10mm chuck, even though the twist drill for hole saw tend to be 8mm. One the pictures has a 10mm plastic chuck. Lots of hole saw have even 6.3mm (the 1/4) hex drive for impact drivers.
Other than that it's quite baffling the guy had rather poor tools, and likely kept buying low quality tools too. Yet, he was very determined.
Accurate description of me as a programmer tbh
It could attach copper pipes to each other using pressure instead of getting out a torch and brazing. pretty amazing.
EDIT: this one: ($3000!)
Other than that it makes a lot sense to go w/ crimping if possible - quite surprised it's rated up to 2".
Sounds like the hardware store guy maybe sold him the wrong thing.
But what I'm baffled is that this kind of stuff is now the standard for "consumer-grade" drills, while the normal ones with power cords are "professional-grade"? When did that happen?
I have a "toy" 12v cordless Bosch drill (small ~cylindrical battery in the handle and not the square ones hanging underneath that you see in non-toy drills) that was approx the same price and I did pretty much exactly this same thing of drilling a 60mm hole through the side of a kitchen cabinet and it didn't even blink. The drill is a bit of a beast through for such a toy - I have drilled 16mm bits directly though double skin brick walls using it (installing external socket + fused spur) so not sure what level of crapness it takes to be below the toy drill I have.
> I don't have a tool to make a big enough hole, but with a little research I find out a hole saw is the way to do it. It's an open-ended drum with serrated saw teeth that you mount on a drill to do the cutting. I go to my local hardware store, get some advice on what to get, and buy a 60mm hole saw.
Just the idea of buying a whole new machine for a single use, and not even knowing for sure whether it'll do the job, is already so demoralising that I'll usually just stop and hope that an alternative approach magically presents itself to my mind's eye.
Interestingly I don't usually have this problem when programming, but I really don't like DIY.
Cutting a hole isn't an issue for me here, we have a multi-slotted circle that takes a variety of round serrated cutting blades for making holes .. and it fits in all the drills we have. It dates from the 1960s.
However .. if forced to cut a hole away from the chock full of everything tool shed I'd probably scribe a circle, drill a large hole with a drill bit just inside the circle, and put a hacksaw blade through to hand cut it.
Or drill a lot of holes close together just inside the circle, punch out the inner donut and clean up the edges.
Usually there's a plastic insert (in picture of article IIRC) that fits in the hole and has a lip that covers up any ugly rough hole cuts.
DIY is remarkably like programming in the sense of there often being many ways to skin a cat, search for text, or create a hole.
Friends are also good. No need for you to own a weird tool if you can borrow if from someone else who also has done the job. (so long as you return the favor)
Going for use the tool a lot (drills, pliers etc) buy something better.
Here's the problem: the advantages of "good" tools disproportionately impact the new user. A crusty machinist with decades of experience can make high tolerance parts on a clapped out Bridgeport, because she knows all the subtle ways things can go wrong and doesn't need to rely on the tool handling those things for her.
The new user? No idea what he's doing, and if you throw cheap/poor quality tooling into the mix, now it's just that much harder to figure out if what's going wrong is the user or the tool.
None of this is to suggest that everyone should toss out their home gamer woodworking tools and replace it all with Festool, but there are some pretty serious advantages to having trustworthy tools to help you learn.
A critical factor to keep in mind: What are the implications if the tool fails?
If a failure means I will be inconvenienced and have to buy a better tool next time, sure as hell I'm starting with the cheap one.
If a failure means something expensive is getting messed up or someone's getting permanently harmed, I'm going to aim for the point on the bang-for-the-buck hockey stick right before it turns north.
Example:
I have electronic mortise locks (historic house with very custom doors that used mortise locks, replacing doors would be ... remarkably expensive. There are two doors i replaced with non-mortise locks by filling the cavities with marine epoxy, but wife really like the look of mortise locks on the others).
There are a very small number of wireless mortise locks, all of which are garbage and look ugly to boot.
The way these are electrified is either:
1. Wireless power transfer from the strike side - this is complicated and only works sometimes.
or
2. Drilling a hole all the way sideways through the door and running a wire inside the door, using special hinges with embedded wires to transfer power through the hinge, and then connecting that all to a 24v supply somewhere.
I have the tool necessary to do #2, which will properly drill a straight hole 36 inches deep horizontally into a door with perfect alignment.
In part because the tool is as expensive as paying someone with a tool to do it for you, so i might as well own the tool.
Doing this without the tool, I imagine even with the right set of bits, you would screw it up probably 99% of the time.
> Interestingly I don't usually have this problem when programming, but I really don't like DIY.
The cost both in equipment, wasted materials and potential irreversible (or at least difficult to restore) damage are factors for me. With programming the cost of exploratory problem-solving is mostly time.
It is however a reason why I opt against self hosting critical, to me, stuff where the impact of things done wrong are again higher (think data loss of personal files).
This however requires having a plug to refit, and I believe there can be weird regs around having plugged goods passing through “walls”
It's actually not a machine, it's a thing that attaches to a drill [0]
[0] https://www.amazon.co.uk/Bi-Metal-Cutting-Plastic-Drywall-Pl...
The feeling when I have the exact tool for the job is exhilarating. Realizing I have spent so much money and space on this stuff that is useless 99% of the time is a little embarrassing, so I focus on the positives.
It's an illness.
>For my washing machine, they were unknown unknowns - I didn’t even expect there’d be a hole to drill, new hoses to buy, a cold water tap cap to remove, and a spigot PVC wall to drill out.
No, most of this was something that could have easily been known if checked after the first trip to the store but before going there again, or at minimum before the third trip. It was just so painful to read how there was absolutely zero planning and checking before execution.
While you can also do many checks and plans in software development and deployment (like calculating if the thing you want to calculate given your resources is even remotely possible, back of the envelope calculations, you know), there's still many more things that are much harder to know about and check in advance, and there's not usually a huge cost (going to the store) associated with problem solving each time.
Anyway, after the second trip, before going on a third, he still didn't think to actually check the complete 'requirements' for his trip to the hardware store. You buy a part for your drill, but don't check if it will fit your drill? Why not bring the drill and then take a picture of the job site, if you are going to ask the people at the store for help anyway.
It's like downloading a compiler, write lot's of code in Python and then being annoyed it's a C++ compiler or whatever. Same for the "not actually extendable hose". Maybe call the wife, or just buy the hose and return it if you don't need it on another trip to the hardware store later that day or week when you pass there. Just painful, no planning or thinking.
The only thing I can imagine just being domain knowledge, is that the spigot needed a hole to be drilled eventhough it has an inlet which I would also assume was open.
But I agree that once the author realized he needed to go to the hardware store a second time, he should have gone through the motions of pre-checking every step he'd need to perform so he could see what else wasn't right.
I don't - in all of those, the author knew someone else had done the work for them.
It's like always having had scaffolding built for you, and then when you have to do it from scratch, assuming the scaffolding required zero time and zero knowledge to build, and being surprised when it doesn't.
Here's a fun thing that most software developers never do that works, and would have also worked here: He could have asked.
"Hey random internet people, i'm about to install a washer in my new home. All of my previous homes i was not the first owner, but here I am. What do i need to think about here?"
A quick search shows lots of people have asked on reddit and get correct answers for their situations. I don't see one where they got bad advice.
Heck, even chatgpt gets this right: https://chatgpt.com/share/67b482dd-25c0-8008-b0be-6b1f97648a...
The fact that software developers assume it's reasonable to not bother to seek knowledge when you know the situation has changed says more about software development than it does about reasonability :)
Eight previous iterations of experience told them that.
They knew nobody else had done it for them here the second they hit a single issue.
Why not step back at that point and try to understand the entire problem you may be facing?
This like people who build software by just fixing one bug they see at a time by trying to make the compiler happy or whatever, instead of stepping back and thinking about the system as a whole - what other assumptions are likely wrong if you had this bug?
Worse, here there was a very easy solution: Ask questions before you start.
Just because it's common for software developers to not bother to ask people for knowledge they don't have doesn't mean it's a good answer.
This was painful, because like software development, he didn't bother to read the manual at all first before estimating how long it would take :)
It's like saying
"i'm going to use the following pieces of software in my app:x,y,z. All previous times someone else has built all scaffolding for me, so i've never had to start from scratch. Here i'm going to start from scratch, but i'm not going to read any of the getting started guides or look for examples before estimating how long it will take me to make this scaffolding or app. I'm also not going to ask anyone who might have greater knowledge than me. Instead, i'm going to assume it took them zero time and zero knowledge to build the scaffolding i used to use and proceed apace."
I would be totally and completely shocked if the washer did not have complete instructions on connections. I just looked, and every bosch manual i can find includes directions on how to do the hookups. If he spent 1 minute looking at which hookup he had, it would have been obvious that:
A. there was a cap on the hookup B. the hoses could not reach
etc
The only one that is probably not as documented is the pvc inside cap - but these exist on everything and are required by code. Any good DIY book will tell you about them.
They've also got the reason wrong there. Or at least one of them. It's also done so they can test the system for leaks effectively.
You can't really test for leaks if you have a holes that go to nowhere :)
When we perform tasks like time estimation we're forced to use high-level mental models. But just as abstractions in code leak, so too do low-level details sometimes influence high-level considerations in unexpected ways. The "hauling" high-level description ended up being quite adequate, but the "connecting" part hid details that were relevant for the task of time estimation.
Some projects always have a few unknown factors. One thing I never work on are automobiles: most of my attempts at even the simplest task start out with needing the odd tool, eventually I injure myself and still don't have the task done, and still have to get a mechanic to do the job. So I don't do cars.
I remember my grandfather watching with fascination as I assembled my Heathkit Frequency Counter back in 1978 as he had never seen anyone do such fine soldering as I was doing on the circuit board.
(Point in case to the story, estimation is important. Knowing what jobs to buy externally can be even more worthwhile.)
But woodworking is a different and more rewarding beast.
I usually spend 6-8 hours and spread that over a week, doodling in my notebook with rough drawings and cutouts before I touch a tool for any project.
A few very important/clever thing I also learnt from woodworking experience was never finishing the whole thing at once if you can break it into pieces. Get 2-3 estimates from professionals to see how much they charge vs your time estimates. Make smaller projects that you can use to transfer experience to larger ones: working with wood fixtures on drywalls or built into sections of them are great practical examples of this.
Dishwashers OTOH are often plumbed in, sometimes hardwired, and fastened to the counter.
Not to mention most people don't know how to properly care for them (when was the last time you cleaned the filter?). If I moved into a new place I'd probably replace the dishwasher straight away.
This just seems like nothing less than purposeful absurdity for blog fodder.
Unless this guy is paid more than a half million per year, then the four hours spent on the install here are less than the cost of a new washer and dryer.
I'm sure there are many instances where there are replacement-worthy problems, and there certainly are people who have splurged on really nice appliances and will want to take them with them when they move, but I think those situations are uncommon enough that, overall, people save time and money by not lugging their washers and dryers with them every time they move. (In places where it's common not to move them, at least.)
If I have to move you bet my fridge, which I love, is coming with me. Same with my washing machine. I don't have a dryer because I'm in australia, which might explain the difference in fridge culture, too.
Ditto for the dishwasher, and clothes washer and dryer. The microwave, too, if it's a unit attached to the cabinetry, and not a freestanding on-counter model.
I suspect -- and didn't know this! -- that this arrangement is regional, even inside the US.
Though my understanding is the sale automatically includes all fixtures unless specifically excluded, and I suppose there's a little disconnect there: most major appliances are technically not fixed, but I think most people think of them like they are.
When I sell my home, I was thinking I'd definitely need to put a note on my washer/dryer and smart thermostat, saying I was going to take them with me and they weren't included.
I guess it depends a lot on your location and custom. Also if the appliance is "built in" (like an oven) or free-standing.
I've personally never left a free-standing appliance behind, and you certainly aren't getting my industrial-quality, 25 year old, top-loading washing machine for free....
That said, these things are negotiated as part of the sale. Buyers are aware ahead of time what they are or are not getting, they don't show up at their newly purchased house and go inside to see what appliances they have vs have to buy.
As an example, due to a design flaw, the built-in ice maker in my fridge doesn't go more than a week without getting clogged due to water flowing all over inside it and freezing. It's a bit annoying, to be sure, but it's a lot cheaper to just have a couple old-school ice cube trays in the freezer.
> you certainly aren't getting my industrial-quality, 25 year old, top-loading washing machine for free
I think most people wouldn't look at it that way. You'd be leaving behind your washing machine, and the next owners would get it "for free", but you'd be getting a different washing machine in your new house that the previous owners left behind "for free". But sure, if I was really attached to a particular appliance, I would probably want to bring it with me when I moved. I've never cared that much, though, and don't expect I will in the future.
(Also, while top-loading washing machines tend to last longer without needing maintenance than side-loading, they use so much more water.)
If I have a $300 washing machine, or a $3000 washing machine, the potential buyer will offer the same price to me.
I took the $6k fridge out of my home I recently sold and replaced it with the $500 fridge that was in the new house I bought. In my mind I saved $5500 right there.
In that regard, home equipment and tools maintenance from LED lights (driver and individual diodes), laptops (PCB repairs, thermal paste replacement/cleaning) to garden equipment (carb cleaning, sharpening, gasket, manifold, whatever replacements) is sort of my responsibility, regardless that professionally I'd spend my days on software.
Some german areas, renting doesn't come with a kitchen - you bring one and take it with you when you move out. IE cupboards etc
I find it odd that some american places don't have ceiling lights for every room. Instead the "light" switch powers some points around the room that you supply lamps to.
Different strokes for different folks.
Yeah, if you buy typical consumer grade ones.
I understand washers and dryers are on a downward trend: getting worse, harder to repair, and less durable. I paid quite a bit more to buy a commercial washer and drying that's supposed to last a long time. I'm definitely going to take it with me. I'm not going to leave it with someone who doesn't know what it is, just to downgrade to whatever was cheapest at Home Depot.
Oh hell no. You never know how the old renter treated the machines - for people with sensitive skin for example it can be a big no-no because the old renter used fabric softener by the truckload, never used dedicated washing machine cleaner (if you don't do this at least once every few months on maximum temperature, the insides of your machine will eventually stink horribly as bacteria develops an outright biofilm), or if the dryer vent has ever been cleaned.
The latter one in particular is a very nasty source of fires.
Assuming 15 minutes each way to the hardware store, that’s 150 minutes or 2.5 hours total for just driving.
So talking with salespeople, checking out, and the whole process of actually installing the dishwasher would have to fit within 1.5 hours, which seems tight to me.
Even if you live in a city, getting to a hardware store usually takes at least 15 minutes unless you really live like right next door. Usually takes longer. Distance is a bad measure of the time it takes.
One can easily overestimate how fast walking and taking public transportation is and how close hardware stores are to people, and underestimate how fast cars are.
As a real world example you can consider this:
From a small village called Luvia, Finland, it takes 18 minutes to drive 19 km to a general purpose hardware store (K-Rauta Pori), while it can take easily 30 min to an hour to traverse this on foot from Pori city center (ie carrying everything yourself), or at least 16 minutes if you conveniently live right next to a bus stop (and there's absolutely not just a few minutes between rides).
When I moved into my current house it was suddenly a 40 minute trip. For the first couple years I couldn’t get anything done on Saturdays because I’d never needed to optimize away trips to the store before.
This would have been a very short project if a specialist with all of the right tools and parts were summoned versus the five-trips-to-the-hardware-store-for-what-must-surely-be-the-last-thing-this-time story it turned out to be.
We've all been there. If you're a specialist (such as a software developer), there's little reason not to hire specialists for things like appliance installation. Just because you can do it yourself, doesn't mean you should.
By all means, design and screenprint your own t-shirts and label art and photocopy your zine or whatever. But if you know the job might need 3 different kinds of wrenches, just roll a truck that has 20 wrenches on it already.
None of the "unknown unknowns" to him are actually unknown to a specialist. Of course someone with no experience is going to take 20x longer, they're learning on the job.
Life is short, we're all going to be dead soon. Don't waste it on repeated trips to a retail store to buy meaningless hardware and tools.
Just because I can write frontend software doesn't mean I should; I'd hire a frontend dev who knows all of the tools and libraries and stuff, because the last time I did it was 8 years ago and everything is different now. It'd take me days just to become useful.
The author also suggests that many software development tasks will be new, or be new enough to make your estimates unreliable. That is, even if it's a task you've done before, if any amount of time has passed, it's likely that quite a few of the details have changed, and your estimates will still be off.
> Just because you can do it yourself, doesn't mean you should.
The flip side of this is that sometimes it's fun. I've been doing a bunch of home improvement tasks lately that in the past I would probably call a professional to do. They take me longer to complete, and I have to buy some specialized tools, but I find the process enjoyable, and I learn things every time. (And even after buying the tools, it still ends up being cheaper than hiring someone.)
I'm currently thinking about adding recessed lighting to the walls along the base of the staircase in my house. The lighting in the staircase is too dim, but I don't want to replace the existing fixtures (for reasons I don't want to get into). I'll have to cut holes for new electrical boxes, and run new romex along the entire thing. This will probably be my most ambitious project to date, and I may screw up the drywall repair and need to hire someone to make it look nice. But I'm probably going to give it a go, and I'll learn things and have fun along the way.
I also hate cleaning my spigot for that reason - there just isn't enough wiggle room in the cabinet to put it back leak-free after I unscrew it.
Most routine maintenance work is the latter coat point(your toilet flus repair, electrical short repair, Hole in the wall AC replacement), but anything else more complex and the cost explodes and if you get multiple times estimates you will find out there is no escaping the bare truth. This stuff is hard and you have to do lots of estimation before hand if you have to get into anything.
Fortunately all my tooling for my little condo fits in three tool containers a bit smaller than full-size suitcases. Once you build enough of a toolbox and experience small repairs become a no brainer.
But every now and then you gotta call a guy.
The same thing needs to happen in software, the freedom to do whatever you like has to be limited by reasonable standards. That way we can reduce much of the bullshit you run into. We do have all kinds of standards of course but they aren't usually required by law.
It's a bit like turning a lawless society into a one with laws, it has to happen gradually one [sensible] thing at a time. It might be fun to (for a change) keep the number of laws under control from the start :P
I spent at least an hour just trying to get the back off without cracking it.
Then on to the battery, which was glued in. Some videos manhandled the battery to the point I could see some bending, which I definitely wanted to avoid(I planned to reuse the same battery). Some used heat to loosen up the glue, but once the phone was open I noticed the temperature warning on the battery, 104F, which was probably pretty close to what it would take to get the glue under the battery to soften. One video dripped IPA around the sides of the battery. I realized I didn't have an eye dropper for precise placement, and I didn't want to just douse my whole phone in alcohol, so I ended up using a plastic chopstick to get droplets in.
At least 30 minutes went towards that and finally feeling safe enough to pry out the battery.
Then removing boards and ribbon cables, and trying not to break any connectors took about 30 minutes. Putting them back in took another 30 minute because keeping the connectors from folding under things and getting crimped was really annoying. The bend of the ribbon cable was off, so aligning things was extra funky too.
After finally getting things back in place and screwed in, I tested the phone before gluing the back on. What I didn't do is test the fit of the back before applying the glue. Turns out one little plastic piece wasn't clipped in underneath a metal frame in the middle of the phone, so the back couldn't fit flush. Another 30 minutes spent just cleaning out the glue so I could start over. And then I finally got the back glued on and sat with it wrapped in rubber bands for another 30 minutes.
I’m also impressed at how much suffering was saved by that E39 error instead of a backed up laundry room full of waste water.
Washing machines are cool.
A couple of other good perspectives on software estimation:
https://world.hey.com/dhh/software-estimates-have-never-work...
The job was done in a short amount of time, it likely didn't put the entire moving in project at risk.
Same with software estimation, nobody fills their day with back to back 10 minute tasks, or at least they shouldn't be. Rather you budget a day or a week to get a few tasks completed based on their rough size. And you're generally pretty safe for high level planning.
The states, which many of you may recognize: ANALYSIS, REQUIREMENTS, SPECIFICATIONS, DESIGN, INTAKE, IMPLEMENTATION, REVIEW, VERIFICATION, RELEASE.
Every issue in my projects is assigned one of these states. If it cannot be pushed forward (the workflow goes from left to right), the reason is that one of the prior states was not done thoroughly enough.
More often than not, an issue will get to INTAKE (where the developer reviews the prior states and makes sure they are complete), and .. gets immediately kicked back to ANALYSIS.
ANALYSIS, when not done properly (identifying the similarities, identities, and differences of the aspects of the issue), always screws with the time estimate problem. When done properly, it solves the estimation problem.
And, more to the point, when an issue has been left->right but then gets bounced back to ANALYSIS, it shows the project manager which issues have not been properly analysed, and therefore are a source of time over-budget.
So many times I have solved the ire of managers by just showing them the kanban, and pointing out the specific progress/delay of their 'pet issues' from left->right, not getting past the two quality control steps ("INTAKE" and "VERIFICATION" are quality stages), and getting bounced to ANALYSIS.
Seriously, don't overlook the importance of systematic analysis. It helps immensely with reducing time budgets. I note with great interest that this washing machine project frequently bounced the issue back to ANALYSIS, multiple times, because it wasn't done properly ..
Helps that it's possible to kick things back to someone. Everywhere I've ever worked has been undercooked on the analysis.
The best model they found was to think of software engineering as a Russian nesting doll. You are opening a box, which takes time. Inside that box might be your goal or it might be another box. Every box takes some amount of time, but you don't know how many boxes you have to go through before you finish.
Source: I have the same setup in my house and it sucks (and I'm not practical or motivated enough to fix it).
It's wild to me someone would do zero research and just blunder onwards like that. Holesaw through a bathroom wall without checking what's in there? Lucky not to have hit electrical, or better yet, a water line. Best part is, all you needed was a keyhole saw to manually cut each layer of drywall on either side, having first traced the outline.
What did you learn? Not the key lesson apparently -- research and learn about the task and its context before taking it on.
It doesn't sound like they knew nothing.
Have you heard of analysis paralysis?
- the tools can vary wildly
- there are few standard components
- the few standard components have a wide amount of variance in their use and results
- "there is no single development, in either technology or management technique, which by itself promises even one order of magnitude improvement within a decade in productivity, in reliability, in simplicity"
- an in-house product is easier to write than a developer product others will use
- developers have a tendency to use up all available resources (software is a gas) which then makes it harder when the software needs more resources to function (scalability)
- most people who write software do not do design; thus the software is not designed before they start writing it, which (obviously) leads to an undeterminable amount of time until it is done
- again because of a lack of design knowledge, developers fall into common traps like the second-system effect and other design flaws
- the Agile Manifesto emphasizes a lack of planning, rigor, standardization, and documentation, all of which creates uncertainty
- most projects don't include staff to properly track progress and reorganize efforts to get back on track
- most people who write software were never properly trained (in methodologies, in software design, in system architecture, etc) and thus their work will be inefficient and unreliable, which adds time and expense
- most of the tools needed to develop software quickly and with high quality are not available at the beginning of a project, and are built by either the same team building the software, or a different team, which is a bit like trying to build your own scaffolding and power tools while building a building. this adds delay and cost
Things that make estimating building anything hard: - the group of people doing the building vary in skill and experience
- the ability of the group of people to work together well varies
- the inavailability of materials when needed causes delays
- coordination of work is difficult
- humans make mistakes which creates delay and cost overrun, more when the mistakes aren't seen immediately
These things are all extremely well known and understood in our industry, since even 50 years ago. But because there is no standardization in the way our work is done, nor proper training nor roles to handle the difficult work of managing the work, it continues to be a crap-shoot whether you're working with somebody who knows what they're doing.This especially hits home because my current feature ticket ("Oh, yeah, it looks easy, a couple of days") was under-specified, and what specification there was had flaws. Two weeks later....
Somebody hasn't read In the Beginning Was the Command Line, else they'd know you need a Hole Hawg for a job like that.
[0]https://projects.csail.mit.edu/gsb/old-archive/gsb-archive/g...
In particular, if you reach a point in a project that involves cutting a hole through a wall and you aren't familiar with the tools to do this as well as the implications of making a hole in a wall, you should back off and either research it completely before touching anything, or hire somebody who already learned the rules.
This is basic Chesterton's fence, along with several other rules you learn in software engineering over time and through experience.
A professional would’ve had all the tools and experience using them, so no trips to the store and no $10 rental. They would’ve known about the need to drill the drain hole. All making the job far quicker, possibly near the original estimate!
Accurate estimating gets done everyday outside of software, and there exist experienced estimators and tested contractural frameworks used to mitigate unknowns, while optimizing for whichever combination of time, cost, and quality is agreed upon by all parties.
Estimates for completion dates in software should be given as a probability distribution instead of a date.
Instead of: I estimate the release will be shipped by 03/01/2025
I tell my manager: I estimate the release will be shipped by 03/01/2025 +- 10 days at one standard distribution confidence level. Plan accordingly based upon your risk tolerance for missing the deadline.
1. I communicate DATE and CONFIDENCE_INTERVAL
2. My manager hears DATE and CONFIDENCE_INTERVAL.
3. My manager tells project-manager "probably somewhere around DATE"
4. Project-manager hears "DATE"
5. DATE becomes what people thought I said.if op consulted an experienced plumber--the estimates would be off probably by an addition hour.
if a junior dev estimates, yup, I can change the API endpoint in 10 minutes, he'll be wronged by the nuances of several intermediate steps:
- code
- review / merge
- deploy to qa
- qa testing
- deploy to staging
- deploy to prod
likewise for plumbing: "mom, i plugged the leak with a band-aid."
I have probably 3 sets of hole saws that any drill I've ever had; cordless or corded, work with fine. Gotta be careful with them if you value your wrists, but they work fine.
Sounds about right!
Good job on pulling through, though.
This is the difference between a junior dev taking 3 days to get that new button on the page versus the senior who can knock it out by lunch time.
And while it's running it will just change the estimate. Sometimes it just jumps down -sometimes up- say 10 or 15 minutes. It just fills with water, turns a couple of times, pauses, and pof! 20 minutes less. Then at the end when it's almost done it will just add a few minutes. It's about to end 0:01, it empties, turns a bit... pof! 0:03. It then turns a bit more and maybe half a minute later decides that 3 minutes was too much; it's done 0:00 Beep beep.
The thing that amuses me is that those few minutes at the end are always added at the last minute and they are always too much. Like it kind of panics at the end "wait, not done, not done yet!" and then again "oh, yes, yes, I'm done, just fine".
An experienced washing machine fitter who does this as their job would have the right drill and circular bit in his van and would have a selection of hoses ready to go.
For them it would have been a ten minute job…
I ordered my washing machine from a local shop with highest reputation in terms of customer support.
They provide installation and delivery (for significant extra cost). I initially purchased both. Then talked to customer support just to be certain. I sent them pictures of my setup. They said that they can't provide installation there, it's not clear where the water extract should be, etc.
We decided to drop installation. Then I asked multiple times whether it was fine to deliver it for them to 2nd floor. They said yeah.
When the delivery day came, the guy bringing the washing machine came alone, and so wasn't prepared to deliver the 70kg washing machine to the 2nd floor, and said they only bring it to the first room. Luckily he was kind enough to together with me bring it up to 2nd floor, but he definitely wasn't prepared.
Then I asked tips about installation, but he didn't say too much.
After which I did back and forth e-mail with another specialist sending pictures back and forth and I managed to solve it DYI, but I also had to do several roundtrips, talking to customer support at large shops, who couldn't find the items I was looking for, and guess they weren't there.
It took much more than 4 hours for me in total.
> For them it would have been a ten minute job…
Don't forget to include time spent on finding the right person, communication, then travelling for that person, etc. Also all the experts that I have hired water pipes related always came to look at the situation first, then decided what they needed, then went to the shops to get those things.
Maybe only doing cookie cutter installations is how they got their reputation to be that high (or review farming). Same as in software - don't do anything too custom and you'll be fine :)
I've been happily using my compact very much consumer-grade drill for that all this time, with hole saws that came in a consumer grade drill bit kit.
Surely rearranging work stuff will take 10 minutes at best right?
Well it took me 2 hours to reorganize it to an acceptable state.
Tried different layouts and did some rethinking on ergonomics.
Vicegrips are very useful. And a pipe wrench ... commonly still called "Stillson" in these parts ... is also useful for shifting anything (even regular nuts) you don't have the correct spanner for and don't mind marking up a little. Chain wrench similarly.
One day my wife was doing the laundry and the "spider" (metal arm holding the drum) broke clean off. Then I dismantled the whole machine, cleaned it up (never been cleaner), and replaced the spider the following day. Then while I was at it, I figured I should probably replace the bearings as a preventative measure. One of them was seriously stuck. Also requires a few trips back and forth because I don't know which bearing it is until it's out.
You wouldn't believe how clean this machine is now, it's a beauty - some internal parts had corroded so I sanded it nicely, and did an internal paint job. Nobody will appreciate this.
Eventually I fixed it up completely but by then my wife had already bought a new washing machine. Another SAMSUNG! FFS.
I think they plan for 20+ years lifetime. Our one is getting on for 18 years old now, and has had no issues, or for that matter, any indication of problems.
Tempted to go for something cheap and throw it out every 2 years and save a lot of money.
If you’re actually an expert in something you will be able to assess (ask the right questions) the scope to 95% probability (yes there are always edge cases)
I suspect if a professional installer had surveyed the situation he would have immediately looked for hose length, holes, have the tools etc.
It seems like this is more a case of dunning-Kruger than anything else (and trust me I’ve been there “I mean how hard can it be to X”)
What's next? The full text of If You Give a Moose a Muffin?
https://www.amazon.com/If-You-Give-Moose-Muffin/dp/006024405...
If a client wants to know "why is this going to take so long?" I can list the unknowns and third-party touch points, which are always things that make tasks take longer, but then they'll wonder why those are going to make it take longer. From there it's a challenge to communicate how unknowns are part of every project, how they are a good indicator of the risk of a task, and how there are some things you just won't know until you start work on a task in earnest.
Doesn't seem to matter how much detail I go into, it always comes back to "but I thought this would be easy."
The best I can come up with is to educate clients on what bad estimation looks like (Did they come right back with a fixed estimate for your type of project? Are they even asking questions?), hope they come back after getting different estimates with the exact red flags I warned them about, and then maintaining client trust by any means necessary so that when I say something is going to take a certain amount of time they know I'm not exaggerating.
Before the first trip, I would have spent a lot of time looking at the thing and making sure there was no second trip. Which there might be anyway; as you say, “unknown unknowns” are like that.
And my microwave (Russell Hobbs) has a dial for selecting the cook-time, but you have to turn it anti-clockwise to 90 minutes before you can turn it clockwise to one minute or whatever. Its inexplicable to me.
Why did they do this? What happened to the testing? Why didn't they fix the code before they shipped the hardware?
So yeah, appliances and software estimation...
There are two plugs that are in common usage for electric dryers (in the USA): a 3-wire (typically gray, with a "flat" cord) or the 4-wire (typically black, with a round cord). Older installs will probably have the 3-wire, while anything somewhat recent will likely have the 4-wire. They connect to the dryer slightly differently, but there should be a diagram to show how.
This is the same situation with electric ranges, except the plugs are slightly different from the dryer plugs so you can't just use a dryer plug on a range.
Good luck using a spade bit on a 20° angle into plastic.
I can certainly see someone at this point deciding it isn't worth the effort, and hiring people from then on, but some people (myself included) often enjoy the process of learning these things.
> some people (myself included) often enjoy the process of learning these things.
A real senior developer knows when they're writing their own framework or library "for enjoyment", and when to just use the "boring technology" choice and work around any deficiencies it has for the task at hand.
I think the moral of the story here is make sure you hire a software developer to code your application rather than rely on the guy who’s read some blog posts about excel formulas
Do you just have "handymen" do everything for you? Do you only interact with your physical environment in superficial ways?
But "living in a home" and "homeownership" are not the same thing. Everyone has to learn something at some point, people aren't born holding hole saws.