It’s National Coding Week, and that means it’s time to celebrate all things code! When I learned about this week, it inspired me to think about why I love programming. Software developers the world over have a tendency to be very passionate about what they do, and it’s hard not to feel positive about working in such a creative and flexible industry. However, there is a deeper force at work which drives this interest; something more fundamental than simply enjoying the benefits of being a developer. I believe that the very core of this interest is a love for problem solving.
I’ve always been a curious person. The complexity of the world is what makes it so interesting, and it’s incredibly fulfilling to figure out how components of the world really work. It’s common for STEM enthusiasts to report the act of taking things apart and putting them back together again to be uniquely stimulating, which is exactly what lead me to studying physics at university. But it is becoming increasingly difficult to dissect and understand the technology around us. The world is becoming more ‘magical’ as it becomes more digital – we are living in the era of the black box. And that left an itch in my brain desperate to be scratched.
It’s so easy to pick up and use technologies that are essential to providing us our everyday experiences, be that entertainment, socialising or productivity, without knowing anything about how they work. That’s the brilliance of the design – it doesn’t matter how interested or knowledgable you are about the construction or operation of apps you love or the hardware your phone runs it on. It just works! But that ease of use is hard won. Underneath the veneer of simplicity is a mountain of problems that have been solved by the engineers and developers who created the applications you use every day, and by those who came before. I was inspired to learn to code because of that itch to know; I wanted to gain a greater appreciation for those who create the building blocks of our digital lives. I wanted to understand the process of designing and constructing something useful. Ultimately, I wanted to join that community of problem solvers.
And that’s what I would like to celebrate – the act of solving problems is an underappreciated art in everyday society. The word ‘problem’ carries a negative connotation, an unwelcomeness that we associate with the concept of obstacles in our way. Perhaps that’s because it’s so easy to forget that many of the things that bring us joy are problems. We leverage problems for fun when we solve puzzles or play games. There is a terrific catharsis in solving a tough problem that I find is difficult to get elsewhere reliably. In fact, one of the reasons so many of us in the tech community are passionate about our work is the fact that we are faced with really difficult problems to solve on a day to day basis. And we think that’s great!
To people outside of the tech sphere, the results of coding can feel like magic. A lot of what makes the world of science and technology seem so inaccessible to people is a distaste for problem solving, which I would argue is learned. I want people to realise that that ‘magic’ is absolutely within their reach, and it’s really only a curious mind and an interest in solving problems that will allow them to grasp it. That starts with a good attitude towards solving problems.
So here is my plea to you, fine reader: be positive about problem solving to the people in your life, and encourage curiosity as much as you can. Whether the problems to be solved are in programming, mathematics, a puzzle, or something completely different, treat it like a sport rather than a nuisance. Facing a problem is an opportunity to nurture your creativity and feel the excitement of finding a beautiful solution. Help inspire a culture of appreciation for the process of creation rather than just the result!
Stay happy and stay curious,
Ben