How to shape engineering culture in software companies
The temptation when you reach a leadership position is to start proposing changes. A new process here, a new convention there, a "how we do things" doc in Notion.
We should do the opposite.
Understand how decisions really get made, who genuinely has influence (not just on the org chart) and what happens when someone makes a mistake.
There are five things worth looking at:
- Tools. What does the technical stack reveal about the team's priorities?
- Processes. How does a feature go from paper to production? Are code reviews collaborative, or a tribunal?
- Behaviours. What actually gets rewarded? Does the person putting out a fire at 2am become a hero, or a warning sign?
- Values. What is written on the website, versus what happens when someone asks for time off.
- People. Who are the informal leaders? Who do people actually listen to?
That diagnosis is what separates the people who change culture from the people who just complain about it.
At the last two companies I worked for, I dropped into teams as a lead. Nobody knew me, nobody respected me technically, they simply had to accept me. But giving orders does not earn anyone's trust, and it does not build a team. What does is collaborating and paying close attention to how things happen.
The real thermometer: what gets rewarded?
It is simple. In any organisation there are rewarded behaviours, punished behaviours, and in between, the accepted and expected ones.
Those middle ones are the most revealing. That is where the real, unfiltered culture lives.
If someone spends the weekend fixing a problem and gets public praise on Monday, you have just learned that urgency and firefighting are company values, whatever the handbook says.
How to actually change it
The good part: culture does change. The tedious part: it takes time and patience. As Kent Beck says about applying Extreme Programming, it is a social change.
The general idea is simple.
1. Start small. Do not try to change everything at once. Pick one or two practices, implement them well, show a result.
2. Find allies. Culture change is a team sport. You need people who share the same values and are willing to defend the new ideas alongside you.
3. Model the behaviour you want to see. If you value code quality, write well-tested code. If you value collaboration, offer help before being asked. People follow what you do, not what you say.
You are the multiplier
In senior or staff-plus positions you have leverage. Every behaviour of yours is amplified, for better or worse.
Which means being approachable, fostering psychological safety and giving honest feedback are not optional soft skills. They are part of the technical work. A leader can set the tone of an entire organisation without having the formal authority to do so.
In practice
Next time you join a new team, before suggesting anything, spend a few weeks just observing:
- Who speaks in meetings and who stays quiet?
- What happens when someone makes a mistake?
- Which pull requests get feedback and which pass in silence?
The answers will tell you more about the real culture than any internal document.
Then you start acting. With context, with allies, and by example.