Aug 18, 2024 software-engineering craft trade

Software is a Skilled Trade

Software engineers have a unique opportunity: we can build things that millions of people use daily. This isn’t about ego or chasing the next big tech trend. It’s about recognizing our potential impact and using it wisely.

Think about other skilled trades. A carpenter can make beautiful, functional furniture—or even a house. An electrician ensures buildings have power. A plumber keeps water flowing and drinkable. These are vital skills that I think are under-appreciated and directly improve lives. But their impact is inherently limited by physical constraints.

Software doesn’t have those limits. We can create a tool once and distribute it globally in seconds. This scalability is our defining feature and our biggest responsibility.

Consider what this means in practice:

  1. Problem-solving at scale: We can tackle issues that affect millions. Whether it’s simplifying personal finance, optimizing supply chains, or addressing climate change through better resource management, our solutions can have far-reaching effects.
  2. Enhancing daily life: Our work can make routine tasks easier or even eliminate them entirely. Every time we automate a tedious process or streamline a workflow, we’re giving people back their time and mental energy.
  3. Connecting people: The platforms we build can bridge distances, cultures, and ideas. We’re not just coding—we’re creating spaces for global conversations and collaborations.
  4. Enabling creativity: The tools we develop often become building blocks for others. A simple API or a well-designed framework can spark innovations we never imagined.
  5. Entertainment and delight: Let’s not overlook the value of fun. Games, social media, streaming services—these bring joy and relaxation to countless people.

But with this power comes a need for thoughtful consideration. We should constantly ask ourselves: Is what I’m creating truly useful? Does it add value to people’s lives? Am I solving real problems or just creating new ones? This approach isn’t always easy. It often means looking beyond immediate technical challenges to consider broader implications. It might mean pushing back against features that don’t serve users well, even if they’re technically impressive.

It’s not about learning every new JavaScript framework that pops up. It’s about understanding how our skills can be applied to improve lives. This mindset turns coding from a mere job into a means of positive change.

That’s what gets me to my computer each day. Not the prospect of using the latest tech stack, but the possibility of making something that genuinely helps people. Something that saves time, reduces stress, enables connections, or opens up new possibilities.

We have an incredible skill: the ability to create digital tools and experiences that can reach millions. Let’s use it wisely. Let’s focus on building things of real utility and value; things that don’t just work well, but that make life a little bit better for those who use them. This is the core of what we do as software engineers. We’re not just writing code. We’re crafting solutions that can scale to touch countless lives. It’s a unique capability, and it’s up to us to make the most of it.