From Startup to Unicorn, an Interview with Carousell’s Director of Engineering, Victor Neo


Carousell has recently become Singapore’s latest startup to reach Unicorn status. 

With this in mind, it only makes sense for us to interview Carousell’s Director of Engineering, Victor Neo for our Ask Me Anything (AMA) series and find out what exactly makes Carousell tick!

Victor was the first engineering hire for Carousell's Singapore team. Read on to find out more about how he managed to successfully scale Carousell's tech team into what it is today.

Our favourite snippets from this interview:

  • As you become more senior, communication is KEY
  • One of the hardest challenges is to start the recruitment process for a new team in a new location
  • During the early days, our backend services will always go down during our peak traffic timings as the database wasn’t able to scale up properly
  • Victor was open to hiring senior engineers better than him to improve the team

*Parts of this interview have been edited for clarity.

Tell us about a day in your life as Director of Engineering at Carousell?

I usually start my day going through my to-do list and emails to determine if there is anything critical or crucial that needs my immediate attention. If not, then it’s time to power through my to-do’s for the day.

My time is usually spent on three major themes: engineering initiatives that I am responsible for, my direct teams’ projects and where my inputs may be needed, and my team and people’s growth. Each day of the week will have different combinations of these three themes, coming in the form of meetings or 1 on 1 sessions.

All the Engineering Managers and Engineering Directors get together once or twice a week to review key metrics that we are responsible for, such as bug counts and uptime, which has a direct impact on user experience. We have a separate meeting for our key engineering initiatives and people matters, which matters as much as our metrics.

You were the first engineering hire for Carousell SG, Can you recall what it felt like being the first hire in the team?

Joining Carousell as a fresh graduate, looking after all the backend infrastructure and services was definitely a challenge that most people don’t get to go through. It was challenging and fun at the same time, being able to try out different strategies to help Carousell scale.

Back then, a lot of time was poured into building new features, setting up and building up good technical foundations (eg. testing, CI/CD), and finally, hiring people who were senior engineers and better than me in many regards to improve our technical skills and level as a team.

What is the working and engineering culture like at Carousell? How has it changed since day 1?

Carousell's early days could be described as hectic and chaotic in many ways, but we were fortunate enough to have spent quite a bit of time laying down some of the key foundations that we still have today: automate where possible, a weekly testing and release cycle for mobile apps, and focus on user impact.

As a tech organisation with over 100 people now, we now incorporate a stronger written culture to help with communication and dissemination of ideas beyond groups. This has allowed us to have a record of all the different technical discussions that we have had, but also the ability for people to learn from unexpected errors and issues, such as downtime and incidents.

You’ve been with Carousell for almost 9 years, what keeps you motivated daily?

Two major things keep me motivated: one is the continued evolution of the company as we move beyond a small startup to one that focuses on building a sustainable business model by delivering value to our users, as well as our continued evolution as a tech organisation, from one that incorporates flexibility of a small startup to a rigorous one of big tech companies.

As our founders always say: “we are always less than 1% done” - there are always new challenges that we need to overcome, and during the 9 years, I have been fortunate enough to be able to continuously pick up new skills to get myself going.

What do you look for in candidates when between junior roles vs more senior positions?

For both types of candidates, we look at problem solving skills. For junior roles, this would involve technical discussions where we watch them solve a problem in real time, where these problems could be a simple extension of their school project or prior internship experience.

For more senior positions, the discussion becomes more abstract, and also at a higher level - we expect them to be able to incorporate more technical dimensions into their solutions, and even some level of business understanding to deliver the right-sized solution for the problem at hand.

When hiring for talent, what is your favourite question to ask the candidate?

I don’t have a particular question that I ask all candidates, but I do like to ask candidates questions on why they made a particular decision, to understand their problem solving and thought process.

You will be able to determine through the answers if the candidate is simply “going through the checklist” or able to think deeply about the problem at hand.

What is a book that you would recommend to software engineers looking to take on a management route?

My two recommendations are:

An interview of Jessica McKellar, which I attribute to as “THE” article that pushed me over to try the management path (Link is at the bottom).

The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change is probably the best first book for anyone looking to move into a management role in Software Engineering, as it talks about the shift in mindset, the challenges, as well as what the future senior management roles look like.

What tips do you have for aspiring Software Engineers who are looking to climb the ladder?

Apart from technical skills, one very valuable skill that will come in handy is the ability to communicate to any audience in both written and spoken form.

As you become more senior, you need to be able to communicate technical information to your team, fellow engineers, senior engineers, and non-technical team members in a way that they can all understand.

Of course, we shouldn’t expect non-technical team members to understand the same things as technical team members, but you should be able to tailor the message to your audience to achieve your desired outcome.

Many people underestimate the need for this skill, and suffer when they become more senior and need to communicate with more and more people.

With the role of Director of Engineering, we believe that you are handling more of the people management side of things. How do you keep yourself challenged technically?

One aspect that I like about working at Carousell is the ability for me to pour through technical documents and use that as a learning opportunity to understand problems and how people solve them. When time permits, I would also look at pull requests by different Engineers working on different problems to see what they are working on, and what challenges they are facing.

Most of my front-end team members in the past were really surprised when they heard that I have read their PRs and can understand the challenges that they have gone through, as they know that I am primarily interested in backend development.

And of course, I periodically code on some side projects when the mood strikes to try out a new programming language or when I have some personal needs to automate things in my life.

What are some of the greatest challenges setting up, scaling and managing engineering teams across multiple countries of very different cultures?

One of the hardest challenges is actually to start the recruitment process for a new team in a new location, and doubly hard if you have a product that isn’t available for use in that market, eg. Carousell isn’t available in India at the moment.

To overcome that, we had to double, and triple communicate our achievements, interesting challenges, and the company's potential to the candidates, in order to have a chance to attract them from bigger companies.

For Carousell, we were lucky enough to have tools that supported team members from various locations since the beginning, so we didn’t have to customize our workflow to support new team members in new locations.

What are some of the greatest technical challenges the team faced?

During the early days, our backend services will always go down during our peak traffic timings as the database wasn’t able to scale up properly. Fortunately, we managed to hire our first senior software engineer who promptly came in, investigated, and resolved the issue. This was primarily due to the lack of experience when it came to scaling services at a larger scale, and I still remember watching in awe on how the engineer was able to solve the problem so quickly.

This was the interview that Victor mentioned: An Interview with Jessica McKellar

Do your part to make the industry better!

Isn’t it frustrating to apply for a job without knowing the salary band of the company beforehand? We aim to empower you by making salary information more accessible to the people via verified data.

Contribute your salary anonymously today, and let us help you make smarter career decisions.

Click on the button below to do your part in putting an end to the opaqueness here in Singapore!

Follow us on Telegram (@nodeflairsg) for the latest Tech Insight, Reads, Salaries & Job Opportunities!

Related Articles