[Labour Day Special] TeamSpirit’s Voyage to A World-Class Development Team (a.k.a)Our Engineering Culture

Zin Zin
TeamSpirit Engineering
7 min readApr 30, 2020

Our Spirit at a Glance

Happy Labour Day! If you are familiar with our TeamSpirit Engineering blog, you would have known how our engineering team has been rolling out new technology and processes. In today’s Labour Day’s Special, we explain how our engineers get those done at TeamSpirit.

At TeamSpirit, our engineers are trained to be creators. Yes, you heard it! We are engineers, not simply programmers — and we aim to be a world-class team. TeamSpirit’s engineers are constantly improving/revising the process and culture within and across our respective teams so as to be the best versions of ourselves.

With this goal in mind, we have the following practices in both Japan and Singapore Development teams.

Team’s Voyage

Fruitful Discussions, Open Debates

In TeamSpirit, we work closely with our PMs.

We have discussion and debates not only within the development team but also with our Product Managers (PM). PMs are always there to listen/clarify developers’ concerns.

In ‘Sprint 0’*, we have robust and fruitful debates on how the new features/updates affect the system. In these meetings, anyone can raise their concerns and express ideas openly.

*In our scrum process, we have an unbound sprint called ‘Sprint 0’, where we do intensive planning, impact analysis and recharge ourselves for future sprint.

Kaizen : Time to Reflect and Innovate

In Kaizen, an engineer is his/her own pilot.

In every release cycle, we have one full-sprint for our developers to do any task that they would like to. We can improve development process, do refactoring or fix bugs.

The most interesting part is we can propose our own task and suggest new innovative ideas with our POC (Proof of Concept). At the end of Kaizen sprint we present our POC to internal stakeholders and CEO where our ideas are acknowledged and pushed for feature release.

Your POC may turn into a feature and thousands of users will use it — The idea alone is thrilling!!!

Quality in Mind

Our development processes are standardised.

Starting from branching strategy till release, all the process are well documented and shared among the teams.

Engineers will go through the following steps to add a new feature in a sprint or across the sprint.

Feature Development Process

As per diagram, we do several reviews before the code can be merged to master.

Code reviews are done in timely manner. Everyone in the team can review it and we will assign one main reviewer so that the process is not delayed. The reviewer enforces good code structure, code performance and point out possible risk that developer might have overlooked.

To ensure quality, developers are also assigned to do some black box testing before sending to QA (Quality Assurance Engineer) Review. We call this Dev Review. It is a functional testing to uncover any possible missing feature or regression issue. The testing is always done by a developer who didn’t work on the feature during the development phase.

After Dev Review has passed, QA will do a more throughout testing. This is the time developers spend to finish all the documentation debt related to the feature.

After QA confirms the features and quality, PM do a PM Review, which is a quick review to check all the requirements are fulfilled.

Developer can merge his/her code to master only after every review is passed.

Communication : Updates Across Teams

Everyone is one Slack message away!

If you have noticed our team structure (in previous post), we have several teams in same geographic area and team members who are geographically apart (though, now coronavirus keeps all of us apart).

Because of the nature of our teams, we do most of our communication and announcement on Slack. We have several targeted groups in our Slack channel to have a transparent communication. In this way, Japan’s and Singapore’s team members are on same page.

Apart from Slack, team leaders and PMs from each team will have weekly meetings to highlight each team’s updates so that development teams are on same page, with no duplicate effort.

Stronger Individuals, Stronger Team!

We ensure our engineers grow alongside the business.

With this conviction, our engineers come up with personal OKRs to challenge ourselves. We also set goals together as an engineering team to push us further.

Engineers are given time and resources to fulfil their personal goals that align with company’s vision. An example is getting sponsored to sit for Salesforce examinations.

What’s more — after obtaining the certificates successfully, we can get a monthly allowance per certificate! This is one way TeamSpirit encourages engineers to grow professionally.

Management Respects Engineers’ Voices

Management can make or break an engineering team.

This might be the least mentioned facts when we talk about engineering culture. However, this is the most important fact that affect the growth and evolution of our engineers’ culture.

Management is willing to get feedback from engineers and take actions on engineers’ request as much as they could. They are always approachable and ready to support the engineering team to sail far.

Constant Feedback

In TeamSpirit, we always give and get feedback.

Our manager will have one-on-one discussion with each of the engineers every two months. In the meeting, the manager will get feedback from engineer on team, process, progress and management. Likewise, managers will also give feedback to engineer’s good points and area to improve.

A Little Reward For Everyone

After every successful release cycle, PM or managers will reward team members with a good tea time.

Spirit’s Zest

The bonds we make outside of our daily work enhance our team’s cohesion. Our engineers believe in having a good work-life balance, so work is not the only thing we do.

Afternoon/After-Work Ping Pong Session

“A Ping Pong a day keeps the doctor away.”

Thanks to our sizeable office layout, we could make a ping pong table with extra tables we have in our office. (Proof that we aren’t merely software engineers). Our after-work Ping Pong sessions are as exciting as WCPP.

Sharing is Caring

We share life-long lessons.

Sharing a good tech spec, good articles and medium post to read in our slack channel is a norm for us. In Singapore, we host a sharing session every alternative Friday. In this session you can share anything you want, including investment tips on ‘How to find the bear and bull!’.

We share our passions too, 70% of members in the Singapore office signed up for Spartan Singapore — true to our vision of “Stronger Individuals, Stronger Team” indeed! We will await everyone’s good result after the pandemic.

Food Brings Us Together

Need a good conversation with teammates? A lunch break works, too.

In TeamSpirit, we always have lunch together as a team even though our Singapore’s team grew rapidly from 6 to 20 within a short time period. Having an online lunch weekly is not new to us during this COVID-19 pandemic period, as we have already been having online lunch with our Japanese members prior.

One thing I miss the most from the office during this pandemic period is our famous snack bar. Our snack bar represents our multicultural workplace — we have food from all around the world (Japan, China, India, Malaysia, Myanmar, Philippines, Indonesia and Singapore etc.). Whenever a colleague comes back from vacation they will buy snack for us as well!

One fun fact, not everyone loves Durian!

Japanese member trying authentic durian cake

To Conclude…

Labour Day has always been about solidarity and unity of purpose amongst workers. At TeamSpirit, we focus on our people and team work. Everyone has everyone else’s back.

We are likely to be hiring soon, so be sure to watch this space. Meanwhile, have a Happy Labour Day and a joyful long weekend!

Author’s Note: Special Thanks to our Marketing Manager Soh Wan Wei and Assistant Engineering Manager Ace Zachary for their generous review and feedback to make this article fabulous.

--

--

Zin Zin
TeamSpirit Engineering

Software Engineer @ TeamSpirit; Love Simplicity! Music is my coffee!