Parish

Parish

Software Engineer. Interested in distributed systems and low level stuff. ( Golang, K8s, *nix Operating Systems )

19 Jun 2019

Debugging is not that bad

Here are my two cents on why I think debugging your own code first before looking for help elsewhere ( online/offline ) makes you a better software author and improves your problem solving skills.

By debugging I mean using an actual debugger ( usually integrated into most IDEs or shipped with some programming languages nowadays or provided as a third party library ).

We both have to agree on one thing, Software development as much as it is fun it is not the most straight forward of jobs. It is filled with lots of frustrations in almost equal measure as it is with fun.

Software development just like any other process has its own pain points. The dreaded one being debugging. No matter how perfect a team may have perfected their product development flow, tests will always almost fail at some point and bugs will crop up and they will have to be fixed. Now this very act of finding the latter and fixing it, is an art in itself that not many software authors have really learnt to love leave alone master. Yet it is at the core of writing high quality software,it is the very thing that almost differentiates an elegant software author from a good enough software author.

Debugging opens you up to a world of exciting possiblities, not only do you get to understand how your code is executed, but you also get to understand the underlying technology & its inner workings clearly. If done long enough, this has the effect of changing how you solve problems. It becomes easier for you to solve problems with the efficiency in mind, in that you tend to choose that which is less computer-intensive, since you now know how the code will be executed.

Debugging also forces you to write clean code, trust me the sheer effort it takes to sometimes find a bug will eventually force you to write clean code next time. Personally I don’t love debugging but it is a part of the process. However I would like to stress this, whenever a bug occurs, obviously your main goal will be to fix it as soon as possible. But it’s not important to stress over the bug and waste the whole day trying to fix it. Instead you should take breaks in between switching with other light tasks. This way you maintain your productivity level.

So next time you are debugging ensure you follow the process, if you have one and most importantly communicate when something is not clear. Don’t be scared!

If you have any questions or comments, let me know on twitter.

comments powered by Disqus