Leadership for Building a Successful Software Company
What I've learned leading engineering teams across 3 time zones — the systems that work and the mistakes I made along the way.
What I've learned leading engineering teams across 3 time zones — the systems that work and the mistakes I made along the way.

No institution can possibly survive if it needs geniuses or supermen to manage it. It must be organized in such a way as to be able to get along under a leadership composed of average human beings.
Peter Drucker
I've led teams across Ukraine, UAE, and Europe. Some shipped products handling 150+ orders per second. Others imploded within months. The difference was never about hiring "10x engineers" — it was about building systems where average people could do exceptional work.
Here's what actually works.
Early in my career, I thought culture meant ping-pong tables and team lunches. Wrong.
Culture is the set of behaviors that get rewarded and punished (see Building Engineering Culture). If you say "we value quality" but ship broken features to hit deadlines, your real culture is "deadlines over quality." People notice.
What I do now:
The teams that worked best had explicit norms: "We don't merge without tests." "We escalate blockers within 4 hours." "We document decisions, not just outcomes."
I've seen teams religiously follow Scrum ceremonies while shipping nothing of value. I've also seen teams with zero process ship excellent products.
The point of agile isn't the rituals — it's short feedback loops and the ability to change direction fast.
What actually matters:
If yes, your process is working. If no, no amount of standups will fix it.
I've approved thousands in training budgets. Most of it was wasted. The engineers who grew fastest learned by doing hard things with support — not by watching tutorials.
What I do instead:
The best investment I made was a weekly 30-minute "show and tell" where anyone could demo something they built or learned. Zero prep required. It created a culture where learning was visible and celebrated.
You don't get diverse teams by writing inclusive job descriptions. You get them by actively sourcing from different pools and removing bias from your evaluation process (more on Hiring Engineers: What Actually Matters).
Practical changes that worked:
The most innovative team I built had a former teacher, a self-taught developer from a coding bootcamp, and a physicist who switched careers. They saw problems differently than a team of CS grads from the same three universities.
The fastest way to lose credibility is to ask your team to do things you won't do yourself.
When I ask for on-call rotations, I take shifts. When I ask for documentation, I write docs. When we're behind on a deadline, I'm in the codebase — not just in meetings asking for status updates.
This doesn't mean doing everyone's job. It means being willing to do the work you ask others to do.
The bottom line: Great software companies aren't built by genius leaders. They're built by leaders who create systems where good people can do their best work — clear expectations, fast feedback, psychological safety, and the tools to succeed.
That's it. No magic required.