What does it mean to be a Programmer?
“Programmer" never felt right to me. “Coder" is even worse. These terms are too narrow for what we do.
I often use the term “software engineer" to describe what I do. It’s quick and most people understand, roughly, what a software engineer spends their day doing: writing code. But is that really, fundamentally, our contribution to the world?
A programmer programs. A bus driver drives. A farmer farms. A cook cooks. But these verbs are reductive.
The bus driver gets people where they need to be. Work, job interviews, school. The bus driver is giving people the opportunity to earn for their family. To learn about science, art, and literature. The bus driver allows a parent to see their grown children in the next town over. The bus driver connects the public transit system to the people who use it. The bus driver enables a system which reduces traffic, car emissions, and air pollution.
The farmer produces food that feeds the world. The farmer, by growing and selling crops, enables others to focus and specialize in a field of work, just as the farmer has specialized in theirs. What would the world be like if everybody had to hunt or grow their own food? Do you think we’d be flying helicopters on Mars?
The cook takes on the mentally-exhausting and time-consuming task of preparing our food, so that we can have a deep, philosophical conversation with our partner. So that a group of friends who haven’t seen each other since high school can re-connect. So that a couple on a first date can get to know each other. So that a parent can pick up dinner for their family on their way home from a long shift. A cook gives us back a little bit of life’s most valuable resource: Time.
So, what does it mean to be a Programmer?