Available

Open to remote CTO and Technology Director opportunities

Available for startup and growing-company leadership roles.

Engineering Leadership

Happy Teams Build Better Software

Over nearly 30 years in software, I’ve worked with both co-located and distributed engineering teams across different countries, cultures and time zones. Those teams included people ranging from experienced engineers to recent graduates.

That experience has reinforced something I’ve believed for a long time: good software does not depend on technology alone. The environment in which people build it matters even more.

Table of contents

A happy team is not a team without high expectations

When people talk about happy employees, it is easy to think of perks, social activities or a ping-pong table. But a good working environment has much more to do with clarity, trust and respect.

A happy team can have ambitious goals, high technical standards and difficult conversations. The difference is that its members understand what they are building, why they are building it and what is expected of each person. They can disagree, admit a mistake or ask for help without fear.

Challenge is healthy. Chaos is not.

Happiness does not come from removing challenges. It comes from avoiding unnecessary chaos, conflicting priorities and decisions that nobody explains.

High-performing teams can deal with ambitious goals, technical complexity and difficult deadlines. What wears people down is investing effort in work that is repeatedly redirected, receiving contradictory instructions or discovering important decisions without understanding the reasoning behind them.

Priorities sometimes need to change. Difficult decisions are sometimes unavoidable. The problem is not the change itself, but failing to explain what changed, why it changed and what the team should stop doing as a result.

Repeated abrupt changes without explanation are often a symptom of weak organisation and management at the business level. When a company lacks a clear direction, teams are forced to operate reactively. Plans lose their value, urgent requests displace important work and people spend more time responding to the latest demand than delivering meaningful results.

This creates more than inefficiency. It increases stress, encourages short-term decisions, wastes work and gradually erodes trust in leadership. Engineers stop believing that priorities will last long enough to justify investing in them, making it harder to take ownership or align technical decisions with business goals. A company without a clear direction does not simply move more slowly; it transfers the cost of its uncertainty to the people doing the work.

Leadership cannot eliminate uncertainty, but it can prevent uncertainty from becoming confusion. Clear priorities and explained decisions allow people to adapt, challenge assumptions and continue working with confidence.

Transparency creates trust

Trust does not appear because management says it exists. It is built through actions, and it requires transparency.

Transparency does not mean sharing every piece of confidential information indiscriminately. It means providing the information people need to understand the decisions that affect their work.

If a priority changes, the team should know why. If there is a problem, it is better to explain it before rumours start. If a mistake has been made, acknowledging it builds more trust than trying to hide it.

People accept difficult decisions more readily when they understand the reasons behind them. What eventually wears them down is working without context or seeing their efforts repeatedly redirected without explanation.

Company decisions affect people’s lives

Some company decisions go far beyond a person’s daily work. A restructuring, financial problem, change of role or loss of employment can affect someone’s income, family, home, immigration status and plans for the future. Work is not an abstract resource in a spreadsheet. It is a critical part of people’s lives, and anyone in a management or leadership position must remain conscious of that responsibility.

When leadership knows that a decision may significantly affect employees, those employees deserve honest information as early as reasonably possible. Confidentiality may limit what can be shared at a particular moment, but it should not be used as an excuse for silence, deception or unnecessary delay. People need enough context and time to prepare, evaluate their options and make informed decisions about their own lives.

Commitment cannot be one-sided. A company that expects loyalty, flexibility and commitment from its employees must also demonstrate that it takes their interests seriously. An organisation that repeatedly acts without transparency or care cannot reasonably demand from people the loyalty it is unwilling to show them.

This has a direct effect on motivation and performance. People who trust that the company will treat them fairly are more likely to take ownership, contribute ideas and invest in its long-term success. When that trust disappears, people naturally begin to protect themselves, disengage and limit their investment in the organisation. That response is not a lack of professionalism; it is a predictable consequence of broken trust.

Remote communication must be intentional

In an office, some information circulates informally. We overhear a conversation, ask a quick question or notice that someone has been blocked for too long.

Those signals are less visible when working remotely. However, the solution is not to fill the calendar with meetings. It is to design communication with a clear purpose so that everyone has the context they need, regardless of location.

In my experience, a distributed team needs:

  • Shared goals and understandable priorities.
  • Clear responsibilities and areas of ownership.
  • Important decisions to be documented.
  • Meetings with a specific purpose.
  • Frequent one-to-one conversations.
  • Space to maintain human relationships.
  • Respect for working hours and cultural differences.
  • Freedom to raise problems and disagreements.

It is also important to prevent the emergence of a core team alongside remote employees who receive decisions later. If something affects everyone, everyone should have access to the same context.

Support is not micromanagement

Distance can affect anyone, but the risk is even greater for people at the beginning of their careers.

In an office, a junior professional can observe how colleagues work, listen to conversations and ask for help spontaneously. In a remote environment, those moments must be created deliberately.

A weekly meeting is not enough. Junior team members need frequent contact, pair-working sessions, code reviews that are explained and a designated person they can turn to. Asking for help should be understood as a natural part of learning, not as a sign of insufficient ability.

Supporting someone does not mean supervising every step. It means providing the help they need while progressively increasing their autonomy. An isolated junior can remain blocked for days without anyone noticing. A well-supported junior learns faster, gains confidence and eventually helps the next people who join the team.

The working environment is part of the architecture

Technology leadership is not limited to choosing tools, reviewing architectures or defining a roadmap. A CTO or Technology Director must also translate business strategy into a clear technical direction, protect the team from chaos and create the conditions needed to deliver results sustainably.

A technically excellent platform can fail if the people building it are disoriented, exhausted or afraid to tell the truth. The way a team communicates, shares knowledge, makes decisions and resolves disagreements is therefore also part of the architecture.

After more than 29 years of building systems and leading technology projects, I still believe that a happy team and a demanding company are not incompatible concepts. Teams that work with clarity, trust and transparency identify risks earlier, retain knowledge more effectively and build stronger products.

In a remote team, distance is inevitable. Isolation should not be. Preventing it is one of the most important responsibilities of any technology leader.