A passion for programming
Have you ever faced a problem that you didn’t know how to fix? Maybe your car is making a rattling noise, maybe your floorboards creak when you step on them. Someone in tune with their mechanic skills might be able to identify the rattle, maybe someone in tune with their woodworking skills could replace the floorboards. Programming is the same concept, but applied to data and tools people use world wide. Sometimes when you’re fixing a bug, you might just fix it for yourself. Write a chrome extension to scrape your real estate site. One of the things that I love about programming is that once you have a good idea, you can easily put it out there to help others. Your real estate chrome extension can be published, and suddenly anyone who hits the right order of words in their google search will end up learning how to improve their home-seeking.
I remember when I first got into programming, I was driven by the desire to understand how my computer works. I was sitting in front of it as many hours of the day as I was allowed, and it fascinated me. Playing modable games like Civilization opened the mindset of being provided with software yet being able to change it to function how you want. Sid Meier might provide the car, but you can change the tires. You can change the radio, the seats, the suspension. With a car, it requires money to replace all those things: but for programming, all it requires is knowledge and time. And when you’re a kid who hates school, you’ve got plenty of time to spend acquiring that knowledge. It’s not just about fixing things, but understanding how things work. So when you’re faced with a similar problem in the future, you can apply that knowledge to that situation. A pretty general statement, which can be applied to pretty much everything in life, be it career or personal life.
There’s often been times when someone has said to me “wouldn’t it be nice if X existed?” and through the power of programming, it’s been possible to make X exist. An interactive bingo card, an algorithm to pick someone to be on-call next, automatically translating articles. A fundamental element of programming is not just knowing how to build something from scratch, but to leverage what already exists. Should you be building a translation engine for a production product from scratch in 2022 when it’s not your core offering? Probably not. Should you spend time understanding how to integrate Google Translate into your product? Sure!
The first time I picked up a pencil to draw post-high school was delightful. I could put on paper things which only existed in my head, or perspectives of streets that were unique to me. I could share them with others, so that others could see the same. I was surprised by how much I liked it, but I realized over time that it scratched the same itch as programming. When I write a program, I can describe to someone how something should work and roughly look, and they’ll go away and write their interpretation of what I meant. But I could also just write my own version and show them what I had in mind. And just like art, both interpretations have value. And just like art, what was imagined had now become reality.
If you liked this post, you might also love “A love of languages”.