I was invited by amazing people on AWS to participate in a pilot program called AWS New Voices. This program has a goal to teach and strengthen our speech skills.
The exercise for last week was to prepare a 3–5 minutes talk to discuss a problem or challenge that I solved using techniques of storytelling.
When I get a subject, writing around it is easy. The challenge is to discover which subject I want to talk about. And as always, I did this text when I had 30 minutes until the meeting where I should present this. Deadlines, right?
My subject is wheels. And I’m here today to share with you my work on it, and let me know what you think in the comments section. =)
Wheels
Today, let's talk about wheels. They can symbolize progress and innovation. Throughout history, the wheel has been a crucial invention in the development of human civilization. From the creation of the potter’s wheel to the invention of the wheelbarrow, it has been a tool that has allowed us to achieve new heights. And as we move further into the digital age, the wheel continues to drive us forward. It serves as a reminder of our progress and potential as we innovate and create new technologies.
In technology, we love reinventing the wheel, even when it's unnecessary. Joel Spolsky noted in a 2000 blog post that programmers often view old code as messy due to a fundamental law of programming: it's harder to read code than to write it. As a result, we often lack valid arguments for why we need to reinvent the wheel.
As programmers, we should avoid reinventing the wheel. It may seem obvious, but it's not always so. Instead, we should consider the value we're delivering with our work. Does forking an open-source project's just to make a patch in the code in our way add more value to the business than contributing to the project itself? We're not mere code-generating machines; that's the job of ChatGPT. Our job is to use our energy to propel the wheel forward, not to take it back to the past.
I'll leave you with this: take a break and observe what you're doing. Consider the project you're working on. Have you searched for solutions for the problem that you're addressing? There may already be a solution available. If it's not exactly the solution that you had in mind, but it still solves the problem, do you really need to build “your solution” just because you want it? Let me remind you that we are building projects that need to endure the test of time. And your exotic fork of a solution may not endure this time. It's not just about “I can do better,” it's about why we should strive for building a new wheel instead of reusing it.
That’s all folks. =)