If you are reading this, you are either at the stage where your company is experiencing significant growth, or you have just found yourself responsible for more people than you can comfortably manage. Perhaps with multiple managers below you.
I was in a similar situation a few years ago. Fortunately, I had experienced managers to learn from and a very patient team. Over time, I realised that managers who were effective at managing at scale did the following things,
Effective managers were really great at building relationships, not just with their direct reports but also others in their organisational unit. …
Four years ago, I wrote an article on the different ways one could structure their software engineering teams. The article turned out to be rather popular and it’s one of my most viewed articles.
Since then, I have had to rapidly scale teams from zero to 50+ software engineers four times across organisations like Facebook and the OVO Group. I have learnt a lot and I now firmly believe that there’s only ONE way to structure an engineering team.
Gone are the days when products were built using Waterfall and new versions came out every few years. …
“We need to rewrite this system from scratch”
I heard that statement a few years ago at a startup I was working with. I’m sure you’ve heard that before. Perhaps you have said it yourself. This statement always has excellent reasons behind it.
Rewriting something that is live and works is a scary prospect. It’s a lot like rebuilding an airplane while it’s in flight. Software engineers invariably introduce tech debt as changes and additions are made to the system.
At some point the tech debt seems unsurmountable. The team feels like it’s spending more time battling the system architecture rather than releasing value. The symptom is true. …
Today, I want to discuss communication, which I believe is the most important aspect of your role as a people manager.
As the number of people in your organisation grow, a number of things about your day to day change,
You invariably have less face time with your individual reports. This means you may not always be know as much about what is happening in their work/personal lives as you once did. Only highlights and lowlights are shared during 1:1 sessions.
New joiners may start seeing you as a “boss” and someone whom they can’t necessarily approach.
Less face-time means the limited communication that you do have with people can have one of two…
Update: This post was written in 2016. My thinking has evolved since then and I have written a followup — The only way to structure your engineering teams.
At Affectv, we grew extremely rapidly over the course of 3 years. Our headcount exploded from 2 to 70 and the Engineering & Product teams more than tripled each year. This is a compilation of what I learned optimising product delivery and reduce bottlenecks through trying different team structures.
When we added our first few engineers, we didn’t have a structure in place. All engineers reported directly to me. …
Today, I’d like to talk about engineering archetypes. Engineering archetypes or engineering personas are a skill-agnostic way of classifying engineers. I find it’s a handy tool for managers to answer these questions,
Building a high-throughput engineering team is hard. You need to structure the team with the right engineering archetypes and ensure that each engineer has certain essential qualities.
Early on in my career, I had over-indexed on how “smart” someone was. I used to be in awe of people who could solve the toughest computer science and math problems — problems which took me days to get my head around. During my working years, I realised that the following virtues were more valuable,
The growth of any business relies on its predictability. For sales-driven businesses, its predictability of revenue. For engineering-driven businesses, its predictability on product delivery. …
Article from 2014
I have been the CTO of Affectv for 3 years now. During this time, we have grown from 3 to 40 people, more than doubling our Engineering team in the last eight months. In the next six months, I would like to double this number again. I have made mistakes, learnt from them and avoided some. This is a compilation of some of the things I learnt.
This is by far the most important stage of the hiring process. When I wrote my first job spec, I didn’t do a very good job. …
Picture your daily activities on the internet. You search for things, you browse some news articles — perhaps commenting on a few; you watch a few videos — perhaps liking a couple and you post to your favourite social network.
Everything you do online leaves a trail on the websites you visit or on the tools you interact with. This data is invaluable to advertisers who build extremely complex models to understand you and to predict what products or services you would be interested in at any point in time.
However, this data is heavily partitioned into silos. In most cases, the only way of identifying you is by storing an identifier in the browser cookie. This identifier is typically a string of randomly generated characters which is unique to you. Every time you visit a page on that website, your identifier is read from the cookie and the website stores your visit to that url in their logs. …
This article is a 10-minute guide to building your own url shortener. A url shortener is a service that lets you shorten a long url ex.
http://goo.gl/q3jEH. Some url shorteners that you may be familiar with are,
A shortened url has two parts to it, the domain name (ex.
goo.gl) and the url string (ex.
q3jEH). In this article we will concentrate on building the second part of the url. Then, we will build a working url shortener in Node.js.
The task is to create an injective, non-surjective function from the domain of full urls to shortened urls. An additional constraint is to minimise the length of the shortened url. …