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,

They built meaningful relationships

People sitting around a coffee table at work
People sitting around a coffee table at work
Photo by You X Ventures on Unsplash

Effective managers were really great at building relationships, not just with their direct reports but also others in their organisational unit. …


Image for post
Image for post

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.

Build teams around products

Gone are the days when products were built using Waterfall and new versions came out every few years. …


Image for post
Image for post

“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.

Image for post
Image for post

As the number of people in your organisation grow, a number of things about your day to day change,

1. Less face time

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.

2. Missed opportunities to provide context

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.

Image for post
Image for post

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.

In the beginning — No model

When we added our first few engineers, we didn’t have a structure in place. All engineers reported directly to me. …


Image for post
Image for post

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,

  1. How do I think of different engineers on my team? What career paths within software engineering make sense for them at their current stage of development?
  2. How do I best structure my team? What personalities are missing on my team? What have I over-indexed on? Do I have a healthy tension on my team?
  3. How do I compare engineers working on different tech stacks (ex. …


Image for post
Image for post

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,

Predictability

Image for post
Image for post

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. …


A compilation of some of the things I learnt about the hiring process and working with recruiters

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.

Writing the job spec

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.

Image for post
Image for post

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://pravin.paratey.com/posts/building-url-shortener to http://goo.gl/q3jEH. Some url shorteners that you may be familiar with are,

  1. Goo.gl
  2. Bit.ly
  3. TinyUrl
  4. TinyCC

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.

Some mathematics: Set theory

Image for post
Image for post
Injective functions

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. …

About

Pravin Paratey

15+ years building products and engineering teams at startups and large organisations. Current CTO, Ex-Facebook. Ex-founder/CTO.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store