Running a dev shop — part 5: Growth

Marek Kirejczyk
18 min readMar 2, 2023

--

This is the fifth and the last part of a series on running a dev shop. See the overview of the posts below.

🎮 Part 1: Myths and favorable facts
🥾 Part 2: Bootstrapping and specialization
🎤 Part 3: Talent pipeline and employee lifecycle
📣 Part 4: Attracting customers
📈 Part 5: Growth

So far, the series has discussed how to bootstrap a dev house and the need for specializing as well as the key strategic aspects of running a company, consisting of hiring and attracting customers. There is still one more missing piece of the puzzle: the structure and its evolution over time as the company grows.

The growth curve

One could expect that the bigger the company and the headcount — the higher the profit.

Therefore, oftentimes it comes as a surprise that there is a non-linear relation between the revenue per employee and the company size. As the headcount increases, the revenue per employee swings between local minimums and maximums. And so, the margin of the company will follow. The company’s profit in relation to the company’s growth may look something like on the chart presented below.

A few variables that influence the exact chart shape, i.e.: the average project size, length and, most notably, team utilization. For the sake of simplicity, I will skip them in my considerations, but remember to take the following numbers with a grain of salt and adjust reasoning to your realities.

The swings come from the fact that different company sizes require different structures to support their operation and advancing each stage requires investment into a more robust structure, in terms of management layers, as well as sales, marketing and other support teams. They will only be paid off when more people work for billable hours.

Recognising the place on the curve, related opportunities and challenges is a key for successful growth of a dev house. In this blog post, I describe different stages of a company from micro to large, together with related challenges and opportunities.

The hills
The local maximum points (aka hills) are good for strategic investments: pivoting, testing new marketing channels and in general preparing to attack the next valley on the chart. It is time to experiment and try new things that will drive the company through the next valley to the next hill.

The local maximum, or a moment just after is also a great moment for exit. This is when a company will get the best valuation vs effort put into building it. The margin is high and the impression might be that the company can easily scale and double or triple in size while keeping the margins.

The valleys
The local minimums (aka valleys), on the other hand, can feel like a very bad place for founders. If the structure of the company doesn’t adequately support its size, the company might be easily failing in project delivery, experience low employee retention and have a hard time winning quality projects.

Moreover, even if founders do everything right, the margin shrinks and in turn profit does not grow as fast as expected and sometimes even gets smaller.

However, the valleys can be leveraged for growth. It is generally a good time for polishing tactical excellence — increasing the team size, optimizing processes, pouring more money into already well-working marketing machines, increasing conversions rate and bullet proofing delivery process.

It should not come as a surprise that it is important to recognize the stage, make conscious decisions to cross the next valley and plan accordingly.

Navigating the curve

Healthy growth model
What is the best way to grow: is it better to have more projects or bigger projects? The trade-off is between the low cost of managing a single customer vs the security of the company. With too few customers, there is a risk of losing a single customer, leading to a lot of bench time for a sizable team.

Therefore, I believe that the optimal balance between fast growth and the company’s financial security is to grow individual projects and grow the number of projects. As obvious as it might sound, there is often a temptation to sell more of what is already in the sales pipeline even though the projects have little potential for future growth. On the other hand, it might be tempting to skip out on marketing and sales efforts when you can barely keep up with hiring engineers for the projects that are already secured.

Cheating the growth
The simplest way to speed-up the growth and avoid the pains of crossing the valleys, is to focus on a single or few key customers. This allows for skipping investments in the company structure by throwing new hires at existing project(s), as it is usually much easier to grow existing projects than starting new ones. However, I advise against growing in this manner, as it puts the company in danger of crisis the moment key customers stop buying your services.

Now that we have a general idea how to grow, we will look deeper into different phases. Let’s start from the very beginning — a micro phase.

Stage 1: Micro

This stage usually starts as a founder doing freelance or a few friends working together. Micro companies usually have anywhere between 1 and around 5 people. It usually ends with hiring an assistant and setting specific roles for each of the employees. Below is a diagram of a few different example variants of evolution of a micro company.

The exact structure might be very different and each company is unique, so take this and the following structure diagrams with a grain of salt.

Billable hours
To maximize the speed of growth and profit at this stage, it is important for founders to balance their billable hours and time invested into building a company.

Therefore, it is important to structure pricing in a way that hours dedicated to technical planning, pair programming and code reviews are properly charged so that the majority of coding for customers can be done by junior developers, while founder skillset is properly charged for as well.

Non-billable hours
On the other hand, founders will need to do various things that are not billable hours, so it is important to delegate and automate as much as possible. The main topics to address are:

  • Sales — there is probably not much sales to be done, as potential customers pop up only occasionally. Not much to optimize yet.
  • Marketing and employer branding — this is the most important not-billable work at this point. The effort that the founder will put in translates directly to how fast you can go to the next phase. It is of great help to find a good marketing freelancer or a few friendly specialists (i.e. a graphic designer, a copywriter/proofreader, etc). For organizing events, it is best to become friendly with a co-working space and local university student organization, which can provide space and own marketing resources.
  • Recruiting — it is good to have a freelance recruiter, who can post ads and do screening calls. Founders need to provide input for ads and do actual interviews.
  • Office — finding an office, buying supplies, at this point it can be mitigated by using a co-working space or subletting from a friendly company with extra space.
  • Finance — time for invoicing customers, paying salaries, invoices and taxes can be reduced by good software and an accounting company.
  • Concierge — for small everyday tasks, like buying tickets, booking venues and similar it is worth considering a concierge. It is relatively cheap, and sometimes office buildings provide such services for free.

At this point it is difficult to fully delegate these tasks, as there is a lot of context to each and tasks are hardly repeatable — as you do a lot of things for the first time.

Stage 2: Small

Hire Jack of all trades

As the company approaches half a dozen people, many things become more repeatable: invoices, events, recruitments. At this point, it is good to advance to the next stage, by hiring a first person whose hours won’t be billed at all. It is hard to coin the exact title for such a person — perhaps an assistant or an operations specialist — a jack of all trades but master of none. While the founders do all the conceptual work at this point, Jack can execute a lot of small tasks, which is important to reduce founder(s) workload.

It is important to find a person one can trust, so that this person can:

  • take over finance — generate time reports, issue invoices, pay salaries, work with accounting to pay taxes,
  • find and manage an office — while using coworking may seem convenient, it is important to start building the company identity, which is hard in a co-working space. A nice flat adapted for an office can also generate significant savings,
  • HR — help with the major aspects of recruiting — taking over some of the tasks from the freelance recruiter and/or some part of communication with them, other things like paperwork. Another topic that might show up is benefits. It is a good time to start doing regular team building meetings,
  • help with marketing — taking over events and helping with publishing content,
  • help with sales — take care of paperwork and work with lawyers if necessary.

Initially, it might be less than a full-time position, so it is worth considering finding a person who will start half-time and can grow to a full-time position together with the company.

With this structure, you can probably grow to around a dozen people, perhaps stretch it even to twenty. In such case, it might be wise to have two “jacks of all trades”, with some split of duties, for example:

  • One to cover operations, finance, recruitment and office,
  • The other for marketing, sales and employer branding.

If there is a non-technical co-founder present, she or he can play the role of Jack.

Metrics and software
It might be a good time to introduce more advanced software to manage the company if you haven’t introduced it yet (i.e. CRM and ATS). Consider introducing simple metrics: with time they will build predictability that will be helpful in making decisions. A simple spreadsheet, which summarizes key metrics per month should include:

Marketing and sales:

  • The number of leads per month along with the source and quality breakdown,
  • Conversions (breakdown as above).

Financial — form leading to lagging (by month)

  • Billable hours/amount and/or invoiced amount,
  • Cash inflow & outflow,
  • Outstanding and overdue amounts (at given day of the month),
  • Balance of assets at given days of the month,
    (usually in 2–3 points, after salaries, and after most invoices are paid, e.g. on the 10th and 25th of each month),
  • Profit/margin.

In just a few months, the metrics become a source of interesting insights.

Emerging engineering structure
Some juniors hired in the first phase should now be ready to take on more responsibility. They can start mentoring newcomers and take a share of responsibility for delivery. They should be now leading plannings, doing pair programming with juniors as well as code reviews.

Their mentoring should also evolve, instead of working with them on a daily basis, you should organize cyclical 1-on-1s. The focus should be on specific challenges that they faced. They should be proactive and come to you with topics to work on, but also get your feedback.

At the end of the phase you might already have 3 levels of engineering mentorship, with team leaders mentoring mid devs and mid dev already mentoring juniors.

Note that an engineering mentor should not have more than 2–3 mentees and when hiring new people, you should add a level to the hierarchy rather than add too many engineers under one leader.
Note also that, at the latter stage, a single leader might be leading more than one project, as new projects start and old projects phase out and the sizes of projects might vary.

Stage 3: Mid size

As the company becomes more than a dozen people and still has an appetite to grow, it is time to think about the company structure and hiring dedicated employees to run marketing, hiring, and operations.

With this structure, you can get all the way to 30–40, perhaps stretch it to as many as 50+ people, depending on the size of your projects and their average lifetime.

This is by far my favorite stage — a well-organized company can work without too much effort from the CEO on a daily basis so that the CEO can focus on long-term investments and creative work, while companies still tend to keep the family atmosphere. However, it is worth noting that, without redundancies in your support teams, a single person leaving can lead to a significant hiccup.

With skillful execution and a bit of luck, you can get from bootstrapping to around 40 people in 3–4 years and if you do well, by the end of this phase, the company is now highly profitable and the hard work in the first two stages is finally paying back.

The structure
At this stage, the structure relies mostly on a clear engineering structure on the one hand and a specialized person to cover any “other” aspect of running a company on the other.

For this stage you probably want around 5 people “support” team:

  • killer sales — who understand the industry, can qualify and convert leads working closely with founder(s) when needed,
  • marketing orchestra man — who can manage social channels, publish content and organize events,
  • operations — who makes sure money flows smoothly, ensures key aspects are measured and business is optimized,
  • a decent recruiter — who can run the whole recruitment process, employer branding and can work with marketing on events (as many EB and marketing events can arranged jointly).

And most importantly, a founder, who can keep it all together, help convert key customers, work with marketing on the next big initiative, still have time to interview every single hired person and keep an eye on operations. With highly optimized business, this is still a bit less than full-time, so the founder has time to track the industry and look for opportunities to grow the marketing snowball described in the previous blog post.

This is a very lean setup and most companies of size 40+ have more “support” people. We were able to work with such a simple setup in Ethworks mainly thanks to our specialisation, brand and nicely sized, long-lasting projects. Again and again, picking the specialisation, investing in your brand and picking the right customers are the key constituents to build a healthy dev house business.

Engineering structure
On the engineering side of the company, you need a clear mentoring tree, with strong team leaders responsible for project delivery.

The exact details of the structure depend on the size of the company, number of founders, as well as the project size and length. Here is an example structure for the company in the late stage of this phase.

Before moving on to the next phase, let’s pause and make a few considerations.

Structure considerations

Other billable roles
“What about other roles?” — one might ask. Designers and UX specialists, product and project managers? Accountants, scrum masters, devops and testers?

The answer depends heavily on what services you decide to sell and what value you decide to provide to your customers. A boutique dev house might be living very well by selling only engineering services. The value proposition is that you take the requirements and make them work in reality, perhaps better than anyone else in your specialisation, solving difficult technical problems on the way.

The marketing strategy proposed in the previous post focuses on customers who know what they want and look for killer technical skills. To provide such a service, you don’t need non-technical experts and managers. Great engineers can manage it all by themselves and rarely need scrum master support. Great engineers test their work and need a relatively small amount of external manual testing support.

That being said, most dev houses provide agency-like services, which is what their customers ask for. Take ideas, help shape them into a vision, produce requirements that then translate into products that need some end-user testing. This requires a small army of men: a product manager, a ux specialist, a designer, engineers and testers, sometimes copywriters and finally a project manager or an accountant to put it all together.

It is a decision that you have to make at some point as you grow — what service to provide. I personally like to stay highly specialized as long as possible. In Ethworks we had a design team and an engineering team. No managers, testers, product people. But then our customers came with a pretty clear idea of what they wanted. Which leads us to the next important question.

How big is the market for your services? Usually companies start with very narrow services, with some help from partner companies and later, somewhere between mid and big size companies, decide to pivot — either do a zoom out — where they provide broader services or even more radically — change customer segments, to move from SMBs and startups to scale-ups and enterprises.

Fullstack culture
Many dev houses hire front-end developers, back-end developers, web developers, mobile developers, ios developers, android developers, devops and many other specializations. While it is impossible to avoid specialization completely, I always advocate building a fullstack culture with people comfortable moving between different parts of the stack.

For that exact reason, the initial training in Ethworks included front-end development as well as smart contract development. This already sends a signal that at this company we work in different parts of the stack. While some people become masters of a specific technology, they are expected to demonstrate some level of flexibility to advance their career.

Stage 4: Big

To successfully grow from mid size to big, one needs to cross the next valley — the valley of death. Growing from a few dozens to way over a hundred people allows you to fully benefit from the new structure and unlock profit inaccessible to midsize companies.

Valley of death

The valley of death is the deepest and longest valley, so far. The company needs to undergo multiple changes to build a structure that support sustainable, predictable and growable structure:

  • Marketing — Your marketing person needs to grow into a marketing department, covering different channels. Marketing needs to be led by a person with a technical background and marketing skills. Depending on the exact strategy you choose, you might need a small event department, with a developer advocate, a superstar developer, an open-source team or more. You need to develop a system to connect engineering to marketing so that they can work on promotional initiatives together.
  • Finance and analytics — revenue predictions, cash flow risk management, budgeting, controlling and more broad analytical support to support data driven management.
  • Sales needs to grow into a department, with several people handling different sales and a head-of-sales person overseeing their work. For this, you will need a more formal lead quality assessment process and metrics.
  • Delivery metrics need to be introduced so that you can get quick feedback when one of the teams is in trouble, before the customer gets unhappy. Oh yeah, you will need to measure customer satisfaction. You need to build a process for kick-offing and cooling down the projects.
  • Technological diversity. With more customers and bigger projects, the number of technologies will probably need to increase. You will need to build training programs for most of them as well as some skill development policy for the team. Appointing leaders for each technology might be unavoidable, which only adds to complexity of the structure.
  • HR. Recruitment has its own subdepartment now, with a dozen of recruitment processes of various kinds running at the same time. Employer branding is probably a 2–3 person team as well. You need a separate person for just paperwork.
  • Pivots. Many companies will also want to reach for bigger customers, which in turn means changing the customer segment pivot. Which might then change the whole marketing and sales, as well as introduce many new services (design, UX, product management, project management, dev ops, SLA).
  • Culture change is an inevitable part of growth. As new processes are introduced and people don’t know the names of other people in the corridor anymore, they may often feel “It is not the place with the family atmosphere that I joined”. Some people are promoted and some are still on low-level positions, which can constitute a source of tensions. People with a corporate background, who behave very differently to those working for small companies, often need to be hired. The benefit of growth is not clear to many employees and they might not be sharing the same enthusiasm as the founders or the exec team.

And the hard part is that all of that happens at the same time. I have seen many dev houses grow to 80 and bounce back as well as many grow on a single customer to around a hundred and stay there.

The specifics of taking a company to big and large phases goes far beyond the scope of this blog post, but here are some things to consider before you decide to cross the valley of death:

  • Prepare mentally for a long hike, make sure this is what you want, you have to grow the company successfully 3x to increase the profit significantly and 4x to see “life changing” profit. Crossing the valley of death involves probably more effort than what the company needed so far, so expect it to take more time than it took to build the company.
  • This is a good time to consider exit. You are small enough to be bought by a scale-up, which just closed a B-series or C-series round, and big enough to provide all kinds of unique value like: talent acquisition pipeline, engineering culture, structure, delivery process and engineering management layer. Each of these is very valuable for a fast growing scale-up.
  • Make sure that the market size and opportunity is big enough and pivot before accelerating growth. Consider carefully pivots like zoom-out and changing customer segments. Consider also zooming in: Can you double down on marketing of what I am already very good at?
  • Increase marketing efforts and try to increase rates, it will be difficult to do it later when there is a pressure to grow.
  • Focus on marketing and sales first, the biggest enemy of growth is bench time.
  • One situation that should be avoided by all means is aggressive hiring, without aggressive enough growth in marketing and sales. This might lead to significant bench time and in turn eat the company profits and in extreme cases lead the company to a serious crisis.
  • Prepare significant cash reserves, for investment and incident recovery.

Somewhere around 150 people, when all the investments into departments finally get paid off and a well-managed company is highly profitable, providing a profit, hardly accessible to midsize companies.

Large

Building a large company goes beyond my field of expertise, but by reasoning from first principles, we can expect another valley and another hill. The exact numbers where you can expect them might be dependent on the structure, specialisation and other factors.

It might be time to revisit your specialization and readdress the need for pivots — i.e. building more specializations or changing the customer segment. At some point, you will need to descend into another valley, as you will need to build another layer of management.

Apart from structure evolution, there are other challenges. There is a psychological barrier to be crossed — around 160 people is a tipping point, when people stop recognizing the same faces on the corridor and thea place becomes anonymous.

Dev houses which decided to pivot to the enterprise customer segment, might encounter yet another challenge. Enterprises tend to pick dev houses of sizes above 500+, mainly due to the multitude of services, as well as the brand and “safety of going for the same vendor as always”.

Summary

Understanding the stage of your company together with the challenges inherent in each of them is crucial to smoothly move between the chapters of the company. Knowing when to slow down, regroup and refactor the company and when to push the pedal to the metal can make a difference between prosperity and bankruptcy.

Series summary

Strategy
In my view, there are too many generic web and mobile dev houses, with very similar and unclear value propositions, with a single and very long path to significant profitability — scale.

I see most of them lacking what has been the focus of this series — a strategy — a high level idea on how to differentiate and bring value to customers.

There is more than one way to run a dev house. In this series, I provided my specific views, which might align with yours or not. Will these methods work for you? Probably, but I can’t give you a guarantee, so you will have to make your own calls. I hope it was inspiring, though. Thank you for reading and getting all the way to the end of the series.

Win-win-win

One last question remains. If everybody uses practices described in the series, won’t it devalue these techniques and make them less effective? I believe quite the opposite to be true.

Looking ahead, I would love to see the market evolve and become saturated with highly specialized dev houses. I believe this will create a win-win-win situation, in which even a mid-size dev house is a highly profitable business, customers get a high value service that is worth the money and talent can thrive, lifting industry mediocre quality to a new level.

The world needs a lot of great engineers, engineering managers and dev houses.

Thanks

I would like to give a shout out to people who contributed to the series.

Special thanks to Natalia Kirejczyk for design work as well as Basia Ocios for editorial work on the blog post series.

Thank you for providing feedback: Michał Prządka, Michał Kujszo, Łukasz Krawacki, Anna Elwart, Kuba Kucharski and Justyna Broniszewska.

Thank you for reading! I hope the series inspired you and I am looking forward to your feedback.

If you like this post — hit 👏 button below.

To get notifications about my other writings, click follow below.

If you want to continue the conversation and see more stuff like this, you can find me on Twitter: @ethmarek.

--

--