Long ago, when I was still in school, I was studying on my bed (foolproof – I know) and I noticed something funny on my window. Upon further inspection it turned out that a hornet (we call them wasps in South Africa) was building a nest in the putty of the window. Now I’m usually quite friendly to new neighbours, but my bed was right next to the window and this guy looked like he was into some heavy Gangsta Rap.
This was pretty serious. I didn’t want to be swarmed by hornets, so I immediately started making a plan to solve the problem. All I needed was a cricket bat, a man-sized shield and a homemade beekeeper suit. I already had the cricket bat and the makeshift shield was optional, but I had no idea how to make the suit. I spent months thinking of different alternatives. I ran into deadends at every turn. The pool net was too wide and I could never drink that much tea. It went on and on, and all the while the hornet’s nest was getting bigger and bigger.
Here is a
crap quick overview of my solution:
Some months later, I was walking with my younger brother Brian the Lion and we came across the window. I showed him the nest (which hadn’t grown as much as my mathematical model suggested) and was just about to start telling him about my designs for the Wasp-a-nator 3000 when he said something along the lines of “You should sort that out” and kicked the nest clean off the window.
Now I’m not going to say that kicking the hornet’s nest is a good idea, but in this case the nest was tiny. Once I looked at it, it was clear that it had been abandoned long ago (I’ve been told I snore). It looked just like this:
Up until that point I hadn’t told anyone about the nest, but after telling Brian, the problem was solved in a matter of seconds. I should have asked him months ago. How did Brian solve it so quickly? Maybe he had done it before. Maybe he just saw it from a different perspective. Maybe he was living out some Slumdog Millionaire scenario. Maybe he’s just crazy that way.
I learnt a valuable lesson that day: Asking for help can make solving a problem infinitely easier. Since that day I have a hundred stories of people helping me solve problems that would have taken forever. My father-in-law fixed my lawnmower in a day after I spend 4 weekends on it. My first SQL database restore took me hours before a friend showed me what to click.
When its just your time that you’re wasting, then go ahead. But as developers, your pride can end up costing your company much, much more. After releasing our latest version of our application, we were flooded with calls about it taking over a minute to respond. The developer who worked on it, let’s call him Bert, spent the next two months trying to find the cause of the bug, day after day proclaiming that “he hadn’t changed anything” and the classic “it works on my machine”.
Eventually, the top execs decided that the bug was costing too much in terms of both money and reputation and they called in the previous developer, Ernie. Ernie had had almost the exact problem when he worked on it and solved the problem in less than 20 minutes.
If Bert had asked Ernie at the beginning, he would have solved the problem literally 4464 times quicker. Aside from the customers lost, Bert’s pride cost the company 4000 times what he should have.
Some things to remember:
Developers are paid to get problems solved. The quicker, the better. It’s not about who comes up with the solution. What would you rather say in your performance appraisal – that you got a problem solved in 20 minutes, or that it took two months to solve but it was your solution at the end of the day? As my friend Jarfish once told me: “A good developer knows when to ask for help”
Even if you have a solution, someone could still make it better. I mean, sure, my Wasp-a-nator solution probably would have worked. Eventually. A different perspective can make all the difference.
Ask the right people. Knowing who to ask or where to find an answer is probably one of the best skills you can have as a developer. Asking the wrong people can do more harm than good. There’s certain people I can think of that would have patented the Wasp-a-nator if I had told them about it.
A wrong solution is still wrong no matter how quick. More importantly, it can be much, much more expensive. If the hornet’s nest had not been so small and abandoned it, kicking it would ensure a swift trip to Painville.
Do you have a story where not asking for help cost you or your company? Let me know. I’d love to hear it.