"Technology is the closest thing we have to magic."
I said these words to a family member who asked me why I decided to become a software engineer. I had never deeply considered this before, so it felt surprising how effortlessly the answer came. The more I thought about it, the more frighteningly accurate it was. What else could ancient people possibly compare modern technology to? Electricity as the power source, hardware as the magical conduit that interacts with reality, and software as the spells, with code being the magical inscriptions within the spell book. If one learns how to read and write in just a single coding language, they would be the closest thing that society has to a wizard.
The wonderful thing about technology is that, like magic in stories, it is an extraordinarily effective tool for problem-solving. Because of this, we have continuously been improving technology to progress society. Today, we've harnessed technology to make miraculous advancements. Nowhere is that more evident than in the financial sector. Spending money used to involve face-to-face interactions, possibly even a visit to a bank. Investing in the stock market required brokers, trading floors, and newspapers or news channels. Approving loans used to require endless stacks of papers and expensive experts who could interpret them. Nowadays, a person simply needs an app on their smartphone.
The simple idea that I had accidentally put into words is what led me to start my career in tech as a software engineer. When I first started, I naively thought I would make great progress right away like some storybook hero. But they say the first thing you learn is how little you really know. While the advancements in technology simplified our lives, it also made developing software much more complicated. DevOps, containers, version control, the OSI model, generative pre-trained transformers, etc. I found that it was not enough just to know how to read and write code. Crafting software, good software, required knowledge and skills from a variety of domains. I wanted to become more like the wizened and experienced sage who mentors the hero in the story instead.
To me, it was no longer enough just to be fluent in a language and knowledgeable about design patterns. I wanted to know how everything fits together. I explored as many roles as I could to view the field from as many angles as possible. I tried DevOps to understand how to ship and maintain software, data science to learn how machines learn, teaching to develop the soft skills necessary for collaboration, and Head of IT to learn how to set up the infrastructure the magic runs inside of. Now that I've worked as a software engineer, DevOps specialist, data scientist, and head of IT, I think I'm ready to explore this magical field again with fresh eyes.
So, will you explore with me?