This might not be true for everybody but I have personally noticed that my behavior, attitude, thoughts directly correlate with the way I program. Let me try to explain myself. When I was still in high school all of my codes were unnecessarily long, complicated and most of all inefficient.
Coincidentally, that is exactly how I would behave in high school as well – I would make a big deal out of a small problem, I was extremely disorganized and most of all inefficient in my studies.
When I graduated from high school and started attending to college I also started taking martial arts – more specifically Muay Thai. This is where I have started noticing changes in my attitude, behavior, thoughts and most of all in my way of programming.
Martials arts have taught me discipline, perseverance and simplicity. One has to be disciplined in order to be able to follow up with the rules and not rely on emotions, one has to have perseverance in order to be able to follow up with the rigorous training and one has to learn simplicity in order to keep a calm and clear mind.
After a few weeks I have noticed that my codes have started to become more clear, concise and to the point. There was no longer that unnecessary complication and complexity which I had before. Most importantly my code was organized and readable which helped me with maintenance and scalability later on when I decided to implement my code further.
This is a very small example however there were many other factors which have also shaped and improved my coding skills such as reading books of famous philosophers, learning other skills and exploring various other talents such as dancing.
In a way it makes sense because the more we learn about the world the more neural paths we create in our brain and that way we allow our brain to have more solutions for any specific problem. This is very fascinating because it puts things in a real perspective where one actually sees one has a choice of changing oneself – it allows one to have enormous amount of control on one’s life. It is our brain – it is our life.
You need to debug yourself before you debug your code. This doesn’t mean that after every single syntax error you have to start signing up for self-development courses… absolutely not.
All I am saying is that if you are noticing a negative trend in the way you are programming then you might want to step back and take a look at yourself for a moment. Connect the negative trend in your programming skills to a negative trend in your current day to day life routine.
You just might be surprised – “oh my god I always assume things in real life and I also assume things when I program!” or you might find something else.
Nevertheless you should look inside yourself and try to change it first before working on changing the negative habit/trend that you are noticing in your programming skills. The reason for that is because if you change the little bad programming habit it will not have an effect on yourself and you will only be fixing the symptom however when you change yourself then you are fixing the root cause of the problem. If the root cause of the problem is not solved then it will undoubtedly manifest itself in another form of a habit.
I see my code as a reflection of myself. This is the reason why I want to debug myself before I debug my code. The more I perfect myself the more I perfect my code. I hope you find this helpful and if you disagree, have suggestions or additional advice then please don’t hesitate to leave me a comment!