Learning to Think in Code
Coding is the last thing you would have caught me at in my formative years. In 1990’s Ireland I can remember seeing my first computer around the age of 8 or 9. It didn’t intrigue my imagination then. Little did I know that this odd looking and clunky machine would be the catalyst for connecting my future self with people from around the world to learn new languages, travel, code and create a podcast.
I started learning to code in 2014. If you’re a hardcore coder then you will probably say I really started in 2016 as that was the year I transitioned from HTML and CSS to learning Python. Even though I am a software engineer today I don’t consider myself the archetypical STEM student. If I have a flair for anything it’s linguistics and it was by looking at code through this lens that the doorway to this previously unknown world opened up to me.
There is a perception out there that coding is purely a maths and science based subject. I know it’s out there because it was how I looked at the world and I didn’t pluck this perception out of thin air. Coders in my mind were those people who were super intelligent with numbers, had zero social skills and spent most of their days staring at a computer screen and thinking about code.
However software engineering is a vast world made up of a lot of different sub sets. The track I chose to follow was web application development. In my job today I use languages such as Python, JavaScript, SQL, HTML and CSS. My job requires a logical mind, a mind that pays attention to small details and a mind that can visualise, think about and connect abstract ideas together. This mind is very similar to that of a linguist. In reality, there isn’t a whole lot of maths needed to be proficient at my job other than the basics.
In the coding world people speak of syntax and semantics in the same way that linguists do. These words were what made me see a potential connection between what on the surface would seem to most people like entirely different fields. I thought to myself that if they are talking about syntax and semantics then there must be a sentence structure to the code and there must be patterns I can learn just like I did with French, Spanish and Italian. This was a light bulb moment for me. With this logic I thought to myself that some patterns must be more important than others and so the 80/20 principle could be applied here just like I applied it to Spanish and Italian.
These thoughts gave me the desire to take up coding in my mid-twenties. Looking at a screen with hundreds of lines of code used to overwhelm me as a self-confessed non-technical person. But from this point onwards those same lines of code were exactly the same as the hundreds of lines of French I also couldn’t comprehend or make sense of.
Over the years I have learned that coding is essentially problem solving. It helps my mind tackle a big problem and get better at breaking it down into its smallest component parts so I can solve the larger problem at hand. I use this skillset and mindset in my life outside of coding also. When you actively learn a new skill it is hard not to see it at play in everyday life.
I have learned that in coding there is no room for emotion. Code needs logic and reason to function effectively and the simplest code is the best code to maintain and improve on. In order to get to the simple solution you often have to write overly complicated solutions but the main thing is that you get to something that is functional so you can start making iterations to create a better solution.
I apply these same principles to my podcasting and writing. I know that my thoughts and solutions won’t be optimal to begin with but through deliberate practice they will improve and become clearer, simpler and more concise. Clumsy, clunky and overly complicated is always better than nothing. With this assumption, I also find it easier to deal with the emotional highs and lows to come with podcasting and writing. One podcast may get lots of listens in comparison to another podcast and my tenth blog post might actually end up getting 10 times less views than my first. Creation isn’t a linear path and so coding helps me to navigate the emotional highs and lows more gracefully than I otherwise would.
You can listen to the full episode here.
"a logical mind, a mind that pays attention to small details and a mind that can visualise, think about and connect abstract ideas together" #itstrue #loveit