There are surprising similarities between the process of plumbing and building and supporting software. I didn't realize that until the other day.

Recently the pump that runs hot water through out in-floor heating stopped working. This was fairly easy to determine as:

  • The floor was getting colder,
  • The pump was not making it's normal humming noise, and
  • It was overheating (the last time this happened I burned my fingers learning this).

The last time the pumped seized up I called in a plumber. I had to wait a week for them to show. Then they put in a new pump. The total cost was over $600.

So because it is not quite winter out yet and that seems like a lot of money for the work I looked into doing it myself using the power of the Internet and my enthusiasm for learning new things.

It turns out you can buy a cartridge to replace the moving parts for 25-30% of the price of a new pump. The plumber never mentioned that!

I ordered the part, it got shipped from Edmonton and I picked it up. Finally found time to do the install the other night.

Of course the most important thing when working with water and electricity is to make sure the power is turned off; they just don't mix. Finding the right breaker took a few minutes as they were not correctly labeled. Rechecked it a few times with a circuit tester…since the pump was seized up, you can't verify by not hearing it.

So had to wait an hour for the pump to cool down before I could work on it. I well remembered my lesson from four years ago well. Hot = bad.

The instructions said to isolate the pump by turning off all the in and out water valves. That was kind of obvious and easy to handle. Then the instructions said to reduce the water pressure to zero before removing the pump.

Whoever put the system in did not think they would be the ones doing the maintenance on the system so there was no way to do this.  The system was sitting at 60 psi and it looked like I would have to do it the hard way! (No isolation, no unit tests, and lots of pressure to get it done).

If you have ever unscrewed a 300 foot hose from the faucet without first releasing the pressure, you know it takes a while for that much water to go down to zero psi even with the tap turned off. Well I got out a big bucket, and put it under the pump and to be on the safe side, I wrapped the joint that I was going to release first with a rag so the water would not spray all over the room, then unbolted (yes and they were big bolts too) the joint… slowly.

Good thing I used a big bucket. Water poured out for 15 minutes and almost filled a 5 gallon pail. All the pressure and all the water higher than the pump had to pour out.

Bronze is surprisingly heavy. That is what the housing and tubing of the pump are made of. The pump won't reach the floor as the wiring is too short and I didn't want to mess with that part. But the pump weighed too much to let it hang or hold while working on it.

Plan B, get something to put under it. Bar stool. Apparently all good plumbers started out as bartenders; or drinkers at the very least so they already know this.

Disassemble the pump, insert new cartridge. Put in new o-ring, reassemble the cartridge.

Reinstall the pump. Tighten the bolts. Double check the bolts (remember the 60 psi and that electricity thing).

Clean up any spilled water. Open the valves to allow the water to reach the pump again (don't run pumps empty or you will repeat the whole replacement thing very quickly).

Turn on the power.

Warm water is flowing into the floor again. No leaks.

Yes! Doug the plumber. I am man… handyman. I can do anything.

I tell wife. Wife says "Really? You got it working?" with a lot of surprise in voice.

"Of course, was there any doubt?"

Wife quickly readjusting to news and knowing about men "No of course not, it is just that I am surprised you got it done so quickly."

"Yeah baby, AND I saved 500 bucks, excluding my time and effort."


Software development is like that too. Developers often think they can do anything and sometimes it is a surprise that it works at all.

And sometimes you can do it yourself and sometimes you might need help.

And sometimes it it good to push yourself to learn something new, even if you don't want to be a plumber full time.

No matter what, making something new work is satisfying.