The summer before last I decided to reroof my house. This seemed like a wise financial decision. I knew it would be a lot of work and I might be getting in over my head, but common-sense arguments like this have never really dissuaded me from doing similar things in the past. After committing to my decision, I took two weeks off work, hired one of my friends to come down for a couple weekends, and enlisted a bit more help from my dad and brother.
Two and a half months later, as I was still in the working on the ridgeline, tarping the remaining exposed areas while it rained every October weekend, I wouldn’t say I regretted my decision. I did experience a moment of panic or two in getting to that point. One occasion was on an unseasonably stormy night. After dark, some excessive wind had caused some of my tarping to become untethered. It was raining hard enough that I couldn’t leave it be, so I had to climb back up in the slippery cold and dark, trying to get the tarping back under wet shingle bundles while doing my best to avoid slipping off to an untimely demise. Another occasion was when I came to the end of the two weeks I took off work and had to face the fact that I’d completed maybe 20% of the job. I can’t be accused of failing to follow Nicoll Hunt’s advice.
If the roof had sprung leaks last winter or this, I probably wouldn’t be writing this, but the crux of this blog post is why I think doing the roof myself was, on balance, a good decision. Some might invoke such concepts as taking pride in one’s own work or being self-reliance. Those make sense to me, but my real underlying motivation for taking on the project was that I like learning about things by doing them, even and perhaps especially if I know I won’t be able to those things as quickly or as well as someone who has treaded that path before me. Being an older millennial who only relatively recently became a first-time homeowner, I have a lot to learn about what goes into a house and how to maintain it. My desire to redo the roof was less about the outcome than what I knew I would gain in the process of working toward it.
This idea of treading a path which has been tread before is on my mind this term. My team’s project is to build an RTOS from scratch on a simple microcontroller. I see the entire project as a learning exercise; the end product we seek to produce has already been achieved by others and at much greater levels of nuance and complexity than we will achieve. But that reality doesn’t bother me or dampen my enjoyment of the project. It is somewhat axiomatic that we as programmers should seek to avoid recreating functionality in our code which already exists. And yet, I’d argue that there is no better way to learn than to build, for yourself, what someone who knows better would simply pull in from a library. Once we can fully appreciate and understand how each tool works, through the lived experience of creating those tools for ourselves, then I’m all for adopting what others have built before us. After I know what goes into putting on a roof, then I’ll feel alright about hiring a contractor. Until I have some understanding of what that contractor does, though, I’d rather put on the roof myself.
Leave a Reply