Building a Sleek Technology team

Michael Hart
Technology @ Sleek
Published in
7 min readFeb 15, 2023

Amidst the talent wars, pandemic, and inflation, I had the enviable task as CTO to grow a technology team from a small pod, to a one that could support the growth needs of a post Series A business. We’ve had to grow a sizeable army of engineers to keep with the pace of client needs, and the experience has been both enlightening and fulfilling. Through trials and tribulations I’m proud and excited to share some reflections of building Sleek’s brilliant technology team!

Global Tech team reunion!

Ground zero

Sleek is a startup technology firm disrupting the world of back-office operations. At its core Sleek is built upon helping founders grow their business by owning the boring bits. Scaling this business means driving down costs through unwavering focus on automation, whether it be company registration, accounting, or compliance needs.

Prior to COVID-19, we had a small team of under 20 across tech, product and design. Sleek had just over 100 employees. Back then we had recently completed a pre-series A round and started to grow Hong Kong operations.
Being a digital-first company born out of the cloud was crucial when the pandemic hit. Customers could still be served through our platform, and we had minimal red teaming to operate our mailroom. This remains a core tenet of our strategy, to increase low-touch customer services while still
balancing with human-touch to keep customers engaged and happy.

Organizing for success

So often is the irony that a small lean engineering team can deliver features much quicker than a large organization. We didn’t want to be another corporate with lapses in communication, delays buried in email trails, and throw-over-the-wall culture. I am a fan of the Spotify model and took alot of reference from it to mold into our own.

Ref: https://www.agility11.com/blog/2020/6/22/spotify-doesnt-use-the-spotify-modelLean
  • Lean squads with chapter leads: Large-scale hiring was inevitable and we needed a common model on how to place new hires. Every squad we have is fairly small between 4 and 8 members, and if they get too large we split them into 2. Each consists of a Product Manager and a mix of QAs, Fullstack Engineers, and RPA Engineers. A chapter lead governs across squads for a particular function e.g. RPA Lead.
  • Governance: Earlier we faced challenges with squads working in their own silo, and teams were not having inputs on technical dependencies which surfaced bugs during regression. To solve this we introduced Level 1 and Level 2 planning sessions, following the Large Scale Scrum (LeSS) model. Consequently we also started an Architecture governance call, to standardise on processes and implementation. For more sensitive changes we’ve recently introduced a Change Advisory call to factor in rollback and communication plans.
  • People Management: One mistake I made was having Tech Leads within squads also be responsible for people management. It might work while the team remains small, but once you get to >50 engineers they will inevitably want to try new things and rotate across squads. It’s better to allocate every employee a fixed, experienced people manager who gathers feedback and provides guidance on career progression.
  • BAU: Business priorities change and squads will inevitably disband to work on new product lines. Products and codebases that are still live and fundamental to the platform will need continued support. For this, you’ll need an experienced bunch of engineers who know the platform well and can bugfix previous codebases, along with a handover process with strict governance.

Priorities and Principles

My long background with DevOps has ingrained in me a high expectation of engineering excellence and how it looks like. I set 3 key engineering principles to ensure we steer away from “pet project” to “multi-million dollar” mindset.

  • Focus on quality: With our fast growth we had to keep our foundation solid. Quality requirements, quality peer reviews, and quality features. We have a few measures like unit test coverage and bugs found in production, but not going overboard on testing/fixing everything.
  • Architect for Expansion: As an innovative team we always need to be up-to-date with trends and technologies that we can leverage to do things faster. Open-source can do wonders to an extent, but once you start needing support and rely on its stability you’re going to have to invest. For example we were code heavy on bots we used for incorporation and invested in RPA technologies to accelerate our progress.
  • Always think about Security & Compliance: As an entrepreneur-enabler we’re in the business of trust, and our customers trust us with staying compliant with regulation and safeguarding their data. In the early days that meant ensuring the e-signature application we built was eIDAS compliant, sensitive data was encrypted, weighing between multi-tenant and single-tenant approaches, and certifying ourselves against international standards.
Sleek’s composable architecture in a nut-shell

Through the years we accomplished many wins against these principles

  • All features are ‘feature-toggled’, which we took advantage of and built our own in-house CMS system. Content can be modified in Production without a full deployment cycle, and features can be toggled on and off should something not work.
  • We shifted from a code-heavy Selenium/Cucumber framework to a codeless test-automation strategy. This allowed for shorter test/regression cycles, which allowed us to deploy features to 4 countries simultaneously. We’ve been maintaining close to 80% automated test coverage of features.
  • The mindset shift from monoliths and central databases to microservices allows us to share common functionality across teams easier, as well as improve performance of platform queries by as much as 75%. This also facilitates quicker and more isolated releases by each squad.
  • We attained ISO27001:2013 certification and been able to retain it for 2 years, in heavy part thanks to our cloud infrastructure and code controls.

Keeping the team sane

Cross-department get-together!

Running a fully remote engineering team presents certain challenges when it comes to keeping morale up. You want employees to turn on cameras to retain the normalcy of reading faces to determine engagement and agreement, but at the same time people appreciate the privacy and don’t want to show their morning face, so it takes some encouragement. To build rapport in the team we’ve run team bonding sessions for the department each quarter, whether it be Among Us or virtual Escape Rooms, and truthfully it’s harder to run such events virtually for a team of 80 — the technology hasn’t really caught up! Some pointers:

  • Use a professional event organization: We use FunEmpire for both virtual and physical events. It saves alot of hours of planning, and the
    entire team can sit back and enjoy the moment. Having to setup Discord/Google Meet channels, moderators, and screen streaming is an underserved
    market and will have you splitting hairs.
  • Distribute a team bonding budget: Have the teams meet up in their own geographies where it permits. If it doesn’t, the team can have
    a virtual meal together and take a breather. Once in awhile get the teams to travel to a common place for face-to-face meetings, and
    take the opportunity to get feedback and brainstorm company direction from their eyes.
  • Keep the team informed: Transparency is key to a high-performing team and we do this through monthly business updates, quarterly tech
    updates, and general updates in our Slack channel. I find it’s important to notify on new joiners and leavers, and address any
    concerns swiftly and head-on, even if hard to swallow.
  • Don’t micromanage (unless needed): For some it’s important to have tight control of every employee and their productivity. For me it
    is trust. I trust teams to do what’s necessary to meet our collective goals, and give them guidance through OKRs and principles, with
    examples if needed. I have never questioned why someone’s taking an off-day. Give your team space and they will reciprocate. And when continued inaction is noticed, it’s time to step in.

Team overview

The Sleek platform is built primarily with VueJS and NodeJS, to make full use of Javascript talent across frontend and backend development, and leverage the ever-growing libraries by the community. In-housing these skills has been key for us to retain knowledge and train the next generation of leaders, while using a handful of outsourcing providers along the way to weigh the benefits. We have over 40 full-stack engineers across the world.

Similarly we have a strong team of DevOps, RPA and ML engineers to support core engineering. We decided early on that we would achieve greater scalability and flexibility using Kubernetes over ECS. This has eased deployment automation through configuration as code. We’ve built a robust ML architecture using Sagemaker to extract documents and achieve high accuracy. We leverage UIPath and various other technologies to speed up accounting and incorporation processes, for better customer turnaround times.

We’re supported by Security, Support, QA, and Platform Engineering teams to keep the wheels turning!

I’m very humbled by the incredible technology team who share a vision to automate back-office operations for the common entrepreneur and we’ve achieved great things in the 5 years of Sleek’s operation. I hope to share more from our team on the exciting tech developments here at Sleek!

--

--