Why I own a boat!
There is a common phrase among boat owners that a boat is just a hole in the water where you pour money. My boat is no exception. It is over 30 years old, and there is always something wrong with it. A few weeks ago my girlfriend Kat and I took the boat out for the first time this year, and we were plagued with issues. None of the lights worked, the water system was leaking, the AC pump wasn't running, the trim tilt didn't work, and none of the dash electronics including the GPS had power. We took it out for a short cruise anyway, but it was a really disappointing day.
Kat's daughter is coming into town this weekend, and we had planned to take her and her boyfriend on a boat ride on Lake Erie when they got here, so it was kind of important that I get some of these issues resolved. Last weekend I spent the entire weekend at the marina tearing apart the boat. I found the manufacturers schematic for the wiring, and I replaced all the fuse holders and fuses. I took my multimeter and tested all the circuits and repaired or replaced all the wiring in the dash and the engine compartment. By the time I was done, I had fixed almost everything that I had discovered plus some things that had never worked. I did have to order some parts to finish everything up, but those came in this week so I will be in good shape for the arrival of Kat's daughter.
As I was tracing through the circuits on the dash, I realized how closely my hobbies parallel my work. Going through a circuit with a meter trying to find a short is very similar to adding a breakpoint to my code and watching variables as they go through the execution. Whether you work on cars, boats, woodworking, or code, design and troubleshooting skills are the same. It is all about taking a big problem, breaking it down into small pieces that can be solved, and putting the small pieces together to resolve the whole. When I got all the lights, engine tilt, and water system working, I felt the same thrill that I get when I write a really nice piece of code that executes without error.
The more I thought about it, I realized that most of my hobbies have this design and troubleshooting component to them. The main reason that I brew beer is not that I need to have a lot of beer at home, I hardly drink at all, but I love designing and redesigning my brewing system. I am always thinking of ways to make my system more efficient, easier to use, and more automated. One of my goals has been to come up with a commercial product that I could sell, but like so many things I do, I never get it perfect enough to wrap up the project. I think subconsciously I don't ever want my personal projects to end because it might mean the end of the hobby altogether.
In the early days of my career, I did a lot more system administration and DBA work than I did development. I also traveled a lot because I had to support a number of IT departments in the company. Since I was at the headquarters, I would design the global solution for networked applications and then I would have to help implement them out in the field. One of the things I noticed back then was that the system administrators I met who had experience working on cars were much better suited to troubleshooting computer problems than administrators who didn't have any other experience. I don't think it matters what the experience is whether it is working on cars, electronics, or any type of physical repairs. Having experience with real-world troubleshooting where you have three-dimensional objects and tactile involvement with them helps your brain understand the process better when you work in the virtual world.
When I design a data structure or an object, I often visualize them in my mind as three dimensional structures. I think of database tables as blocks and cubes that I juggle around imagining the relationships between each table. When I imagine circuits, I often visualize them as if they were plumbing and I think of different size pipes supplying current. When I get stuck on a problem, it isn't the code in front of me, but my ability to visualize what is going on in my mind that prevents me from moving forward.
I often think that someday I ought to get a new boat, so I could actually spend more time boating than I do working on it, but working on it is half the fun for me. Of course, even with a new boat, I am sure I would still have to work on it, that is just the nature of boating.
Do you have hobbies that line up with your career and help focus your knowledge? Let me know in the comments below.
BOAT = Break Out Another Thousand <3 But we have one and it's where some of our best family time and fresh air happen during the warmer months. It's worth it! We built a boat garage in part for storage of our expensive toy, but also because we love to work on it. Embracing the challenges, improvements and such. Hobbies keep the heart, hands and head happy? The satisfaction of a job well done never get's old. Great post Jim!
ReplyDelete