What’s in a Name?

I've always wondered how titles from civil, aviation, construction, and similar fields have made their way into the world of software product development. After diving into some fascinating insights, it appears the culprit might just be something called attribute substitution!

You see, Daniel Kahneman in his seminal work, Thinking, Fast and Slow, talks about how we often use mental shortcuts to make sense of complex issues. These shortcuts can lead us to make some pretty big assumptions. When we call programmers "engineers," it seems we're falling into this very trap, using a familiar title to simplify a diverse and complex field.

This kind of naming might help in casual conversations, making it easier to explain what someone does without getting into the nitty-gritty. However, this oversimplification can set some dangerously misleading expectations. Think about it—traditional engineers, like those in construction or aviation, work in fields where structures and systems are quite literally set in stone (or steel). There's little room for error, and everything must adhere to strict physical laws and safety regulations.

On the flip side, software development is a whole different ball game. It’s dynamic, with needs and technologies that constantly evolve. Programmers, while they can be systematic and precise, deal in a world that's more abstract and far more forgiving of trial and error. They have the flexibility to iterate, update, and adapt their 'constructions' much more freely.

So, when we borrow titles from traditional engineering fields and apply them to software, we risk expecting the same level of predictability and rigidity in an industry that thrives on being flexible and responsive. It's a bit like expecting a watercolor artist to use the methods of a sculptor—both are artists, but their materials and techniques couldn't be more different.

Understanding this can help us set more realistic expectations about what software developers do and how they work. It might also encourage us to appreciate the unique challenges and creative solutions that define the tech world. After all, what’s in a name? Quite a bit, as it turns out!

Next
Next

Putting “Continuous” back into Continuous Integration