Before I became a web developer, I was a golf instructor.
My golf career spanned 5 years, took me up and down the east coast of the US and to Beijing China. It was fun for a while, but golf is best left a hobby for me.
After golf instruction, I wanted to become a web developer. Coding was always interesting to me so I gave it a shot. I’ve been a full stack developer for the past 4 years and the more code I write, the more I enjoy it.
After 5 years in the golf industry and 4 years as a full stack developer, I’ve noticed a few interesting similarities between the two.
I wanted to share them here. I figured it’s a perspective you might not see very often.
1. Tool Dependency as a Measure of Competence
Whenever I read an article titled “The differences between senior and junior web developers” or “x number of signs you are a junior/senior web developer” they always include a section on tool dependency. More experienced developers can adapt to new languages or frameworks quickly because they understand shared design patterns and have good researching skills. While less experienced developers struggle to change.
The same principle holds for golfers. Good players can use almost any brand or style of club and play well, while less experienced players will fall to pieces if they have to change.
When I was teaching golf I would have at least one student a month come to me saying something along the lines of:
I got this new club and now my swing is all messed up
My response to the student was diplomatic:
well let’s have a look and see what we can do
as opposed to what went through my head:
no, your swing fundamentals need a lot of work. All you did was change the tool that was covering it up
In both disciplines, the tool is only as effective as the person using it.
2. Small Changes Can Have Big Impacts
Golf swings and web applications are easy to break.
One misplaced comma can break your whole application. Similarly, a slight change in grip pressure or weight distribution can send a golf ball to all sorts of undesired locations. Even a faint unfamiliar background noise is enough to ruin a swing.
Golf instructors need to be very deliberate when suggesting fixes for a student. If you aren't careful in how you give instructions you will create more problems for the student in the long term. The same is true for web development, guessing as a policy for bug fixing will lead to more headaches in the future.
Conversely, small changes can make substantial improvements.
When I was teaching golf, there would be students whose entire game could be transformed by just a slight rotation of their grip or a small change in their spine angle when addressing the ball.
In recent memory, some of the biggest improvements to my projects have come from small config changes or simple alterations in how functions are written.
Being able to make alterations to a person's swing or a web application without breaking everything can be a daunting task.
It takes hard work and discipline to craft a great piece of software or swing a golf club effectively.
3. Debugging is an Art
Effective developers and golf instructors know how to find and address the root cause of a problem.
My boss in Beijing was the best golf instructor I ever knew. Originally from West Virginia USA, he had 25 years of experience teaching and could predict the outcome of a student's swing just by looking at their setup. His knowledge of swing mechanics was impressive, but to me, his most effective coaching tool was always looking for the root cause of an issue. Every so often he would call me over to look at one of his students to get my take on what they were doing wrong. I would give my answer and he would usually respond with “keep going” or “your on the right track but there's more”. He would proceed several levels deeper into the swing until we reached the real problem. It was impressive to watch.
I see many of the same principles when I watch the senior developers around me now. Their ability to get to the root of an issue is quite inspiring. I hope one day I can be just as effective.
Whether you’re a web developer or a golfer, I hope this article gives insight you might not have considered before.
Enjoy your algorithm for the next few days.