Back to resources

Company Growth: The Good, the Bad and the Ugly

Dev Processes
Feedback
Strategy
Team Processes

18 March, 2022

Renaldi Renaldi
Renaldi Renaldi

Director of Engineering at Boku Inc

Renaldi, Director of Engineering at Boku Inc., shares his guide for improving problem-plague processes into strategic initiatives.

The Good

The company continues to grow year over year. We continue to hire and also acquire a few other companies. Starting from just a few engineers in San Francisco, by 2020, we had diverse engineering teams working from different continents (Asia, Europe, and America).  

The Bad and Ugly

Some of the challenges that came with the growing organization were:

  • Teams sometimes made decisions that prioritized their own success over the overall success of the organization.
  • Engineers spent a lot of time discussing trade-offs during the technical discussions because there were no clear guidelines on what was important for the organization. Is it speed? Is it reliability?
  • Sometimes different teams solved the same problem differently resulting in unnecessary duplication and maintenance costs.
  • There were issues regarding cross-team collaboration and communication in general. The cultural difference and time zone difference made it even more challenging.

How to Break Down Processes Into Smaller Chunks

To begin with, we started by emphasizing the company values and how that translated into the way the Engineering teams should work together. Why? Instead of each team having their own values, we wanted everyone to follow company values, ensuring that everyone was on the same page and eliminating misunderstandings. We updated our hiring process to include questions related to our values and evaluate candidates based on those values. We updated our performance review process to make sure that the people we promote are those who exemplify our company values.

From there, we worked on our Technology Pillars and Principles. Pillars are the overarching umbrella on what we should prioritize when making technical decisions. E.g. reliability over speed, security over efficiency, etc. These pillars are not invented in a vacuum but based on the feedback from our customers and internal stakeholders. From the pillars, comes the technical principles, which express our preferences when evaluating problems or making decisions. E.g. We should prefer battle-tested technology over cutting-edge technology to reduce the unknown unknown and keep the platform reliability high. If functionality is a key business differentiator then we should prefer to build, rather than buy and/or customize.

Next are the Technology Map and Architecture Northstar. Technology Map is a collection of technology used within the company and their stages (Default Choice, Allowed, Trial, Deprecated), which is inspired by ThoughtWork’s Tech Radar. The goal is to provide visibility around what technology we currently support and should be used vs what should not be used anymore (deprecated) vs future technology we are trialing. We also write down the process for introducing and evaluating new technology that the team wants to bring in. The Architecture Northstar is a forward-looking architecture design to ensure that teams are moving in the same direction. E.g. Given the importance of security for the company, we will have security tools embedded as part of the developer life cycle so that we can find security vulnerabilities as early as possible.

We also introduced programs like recorded lunch and learn sessions. It encouraged teams from different regions to eat together in a group while simultaneously utilizing the time to complete training or other activities. We had an ongoing bi-weekly update through Slack about the work being done and delivered, updates on new technologies adopted, updates on the overall health of the platform, and other engineering updates. The goal is to keep everyone aligned in terms of where we are and where we are going.

In summary, we started from crafting the overarching direction and then broke it down into smaller, more manageable processes. We also invited the managers and the senior ICs to provide feedback and suggestions so that we can get buy-in from them.

Lessons Learned

  • We are often hesitant to introduce new processes into the organization because of the bureaucracy sentiment that comes with it. But, not having one can also create confusion, friction, and misunderstanding. Relying on word of mouth does not work as you scale and have people in different locations and time zones. Having it written down also ensures that everyone has access to the same information.
  • As you define your process and guidelines, make sure to invite the manager and the engineer to provide feedback and get buy-in. Often they can also provide you with different viewpoints or help you clarify your message.
  • Discussing values and direction can be challenging because different people have different opinions. However, if you can successfully manage it, you can create a strong alignment across your engineering teams.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

A Day in the Life of a Product Lead in FinTech – A Series

31 January

Discover the daily struggles, challenges, and moments of delight encountered when delivering banking products around the world. I will share my story candidly and honestly, without filter as much as I am allowed, and offer insights into my approach while providing retrospectives of the results.

Strategy
Embracing Failures
Cultural Differences
Career Path
Loussaief Fayssal

Loussaief Fayssal

Director of CX at FLF PRODUCT DESIGN

I was passed for Promotion. What now ?

26 January

Passing for promotion happens to everyone in their career lifespan. If someone does not had to go through the situation, consider them they are unique and blessed. Managing disappointment and handling situations in professional setting when things don’t pan out, is an important life skill.

Changing A Company
Handling Promotion
Feelings Aside
Feedback
Coaching / Training / Mentorship
Fairness
Career Path
Praveen Cheruvu

Praveen Cheruvu

Senior Software Engineering Manager at Anaplan

Myth Busting

10 December

Supporting principles on why being data led (not driven) helps with the story telling.

Alignment
Managing Expectations
Building A Team
Leadership
Collaboration
Productivity
Feedback
Psychological Safety
Stakeholders
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero

The Not-So-Easy Guide on How to grow and develop an Amazing A-Team

5 December

Your Org Team may as well be a Sports team. Let's explore how this cohesive, multi-skilled team can be optimized for Great Group Playoff.

Alignment
Building A Team
Company Culture
Sharing The Vision
Embracing Failures
Team Processes
Jaroslav Pantsjoha

Jaroslav Pantsjoha

Google Cloud Practice lead at Contino

The Growth Mindset in Modern Product Engineering

28 November

The impact you can have with a Growth Mindset' and the factors involved in driving orchestrated change.

Building A Team
Leadership
Collaboration
Feedback
Ownership
Stakeholders
Vikash Chhaganlal

Vikash Chhaganlal

Head of Engineering at Xero