I implore everyone to take on a nut and bolts (or resistors and transistors) hardware project sometime in their life to learn what it's like working on "Mother Nature OS".
I guess a more relatable way of conveying this is that you can have the recipe from a michelin star chef, but you're still not going to get anywhere close to michelin star quality.
I had a co-worker who was an experienced software developer but had never worked on a system that interfaced with the physical world before.
For quite a while, he hated having to test on real hardware because all sorts of failure modes that he couldn't predict: belts stretching, mechanisms hitting each other or not lining up properly and losing position, etc. kept happening and interfering with his nice "this will only take 15 minutes to test" estimates, making it an all-afternoon affair.
OTOH, it was that unpredictability and having to deal with weird stuff that I liked about programming embedded systems.
heh the first time i took on a project as a new homeowner (building a deck) i learned this lesson. I spec'd everything out on paper and covered all the bases and felt pretty confident. Then I purchased the wood and so many pieces weren't the size advertised and i don't mean how a 2x4 is not really 2 inches by 4 inches. Some pieces were 3/4" too short, others too long, some straight but most weren't. It took so many trips to/from home depot and went over budget and wayyy over time.
oh and post holes, some are easy and some you hit mystery chunks of concrete(!?). It was like archaeological expedition trying to get deep enough holes in the ground.