Debugging Thinking Patterns
In my experience logic seems to flow in a certain direction. There is a flavour of logic behind everything I do regardless of a productive or unproductive outcome. Logic is what helps me to make sense of what I 'can' or 'can't' do. Logic allows me to determine how to feel, think, behave and act in accordance with the nuances of context. Logic can be fluid and help me go into autopilot and on the flip of a coin 'logic' can scare the hell out of me and lead me towards my inner victim. Logic helps me to make the thousands of daily choices and decisions I face. Logic is truly invaluable but the problems begin when bugs start to creep into my logic. Any good programmer knows the value of consistent debugging and any new programmer knows the initial motivation it takes to become interested in debugging as an art in itself. It is much more fun to create the code than it is to debug it.
Following on from this, some interesting questions I have begun to ask myself are;
If there are always plenty of bugs to be found in computer code created by humans, then where do these bugs come from?
If computer code is a reflection of human logic then does the bug begin in my thought process?
Are the bugs hidden in the my source code when I am only experiencing the UX of the code?
It only occurred to me recently that if I am sometimes prone to illogical and unhelpful thought patterns then I could also become more prone to productive and helpful thought patterns. I have seen that these new patterns can simply begin with a new question that comes into my awareness.
As I am learning to code this has been highlighted to me in a very tangible sense. Eight months ago I had to overthink almost everything to make sense of even the most basic of Python scripts. Over the last 8 months I have seen a slow and steady progression in how I make sense of the code. I have begun to notice how the dots gradually join together to allow me to operate much more efficiently as I progress in my skill level.
I believe that learning to code is as much a test of character as it is of technical skill. This combination of EQ and IQ allows me to see that there is a rhyme and a reason to learning that is underpinned by real world logic. In any given moment I can choose to spiral into thoughts and feelings of overwhelm at how much more 'I need to get done' or I can choose to focus on how far I have come already and just show up and take the next small step that is required today. Turning a sprint into a marathon requires a balance of EQ and IQ that is greatly rewarded in the capacity to enjoy the process rather than the illusionary destination.
Are you aware of any habitual thinking patterns you fall into? Would you like to have a clearer head? If you have any insights, questions or recommendations feel free to leave a comment or drop me an e-mail.