Beware of Tunnel Vision
Recently I was working on an older project. Nothing too big, just a really old Windows Service that consumed another third party SOAP web service. I finally had the chance to do something we don’t get to do in the enterprise, improve old code without a user request due something broken or needing a new feature. Yes for those that don’t know, if it isn’t broke you don’t fix it.
Working on this project I had become fixated on implementing something in a way that just could not be done. Because I was so focused on the one path I could not see what was plain and simple in front of my face. Little did I know I was on the Road to Nowhere.
I know a lot of us get like that at times, so wrapped up and focused on our work we sometimes don’t notice the things around us. This can be very dangerous, although not as dangerous for most enterprise developers than say a surgeon or someone in a combat zone.
As developers if we keep forcing our way down the wrong path we will make things harder for ourselves. Usually we will feel it right away, but sometimes it might not happen until the next feature request. It could also cause us to take longer to complete a task, thus delaying our push to production. It could also cause us to become more stressed and frustrated, for me that is more beer or wine.
Sadly I do not have a sure fire fix for it. I only have a little check list to try to keep in mind that might indicate I am trying to tunnel down the wrong path.
- Does the implementation seem too complex?
- Do I feel it is taking too long to create the solution?
- Does the implementation feel too hard or nearly impossible?
When I hit on one or more of those little items I will take a step back. If I cannot see an alternative path I will ask my fellow developers; juniors and seniors. Never be above asking for help or just verification you are on the right path. Never assume that the more experienced developer has the right answer all of the time; they might be in a tunnel for how to perform that task themselves.