avatarMaxime Topolov

Summary

The context describes the journey of building a development agency from scratch, focusing on the importance of time, luck, and having a network, while emphasizing the significance of quality and client satisfaction.

Abstract

The context discusses the story of building a development agency, code.store, from the ground up. The narrative begins with the failure of their initial product, a microservices marketplace, and their subsequent pivot to an IT services company. The author highlights the importance of having a network, being opportunistic, and maintaining a focus on quality and client satisfaction. The story also touches on the challenges faced during the company's growth, such as securing the first contract, defining their offer, managing cash flow, and dealing with luck and timing. The author shares lessons learned throughout their journey, emphasizing the significance of cash in the bank as the primary KPI in the early stages of a services company.

Bullet points

  • code.store started as an attempt to build a microservices marketplace but had to pivot to an IT services company due to lack of traction and running out of cash.
  • The author started calling their network to offer hiring the best developers in Ukraine.
  • Their first contract was secured through a connection with a CTO friend, who needed to build a remote team for their company.
  • The company's offer was defined as hunting and recruiting the best possible developers in Eastern Europe and building applications using no-code, low-code, and MACH architectures only.
  • Cash in the bank was the only KPI the author looked at during the first six months, and France was considered the best country for their company due to government loans granted during the Covid crisis.
  • The author emphasized the importance of seizing every opportunity and the role of luck in securing their biggest contract.
  • The company's first middle management hire was a key position, as this person would manage client relationships, project budget and timeline, project scope and priorities, and developers.
  • Quality was emphasized as the most important aspect of their work, with the author asking every team member to focus on delivering high-quality projects.
  • The company faced challenges, such as losing projects, but remained motivated and focused on quality and cash.
  • The author shared lessons learned throughout their journey, emphasizing the importance of time, network, and luck in building a successful company.

How to grow a development agency from 0 to 2,5M$ in 18 months.

I’ll disclose all the details and numbers. You’ll learn the importance of time, luck, and having a network.

What you will learn from this story?

TL;DR > I’ll hope that this long story of code.store may help you to understand:

  • How to build an IT services company from scratch
  • The importance of building and maintaining a network
  • Being opportunist at the beginning, to keep the luck on your side
  • That the only two things that really matter are: quality and client satisfaction.
  • Why “time” is key when building a new venture

How we started.

code.store started as an attempt to build a SaaS product: a marketplace of reusable microservices. After a year of building and talking to users, we failed. In the summer of 2020, in the middle of the Covid crisis, we were running out of cash. With 120K$ in the bank and a team of 5 developers, we would be soon dead.

With a heavy heart, we decided to fire our team and pivot to something I was familiar with: an IT services company. It was a bitter decision, acknowledging we failed 😭.

Lesson 1 : Keep fighting but stop bleeding if you don’t get any traction.

First contract 🚀

I started calling my network one by one with the simplest offer possible: I can hire the best developers in Ukraine.

Why?

In my previous company, I used to have a team of 300 amazing girls and guys doing Drupal (but Drupal is dying, you know). While I sold the company back in 2018, I still knew how to hunt and manage developers in Ukraine and had a network of over 80 freelance recruiters.

Two years before I helped a friend of mine to become the CTO of a small IT company.

I called him first:

Hi Maxime, it’s the right timing. We need to reduce our budget and are looking to build our first remote team. Let’s talk with our CEO next week.

Gosh, I was happy 😜.

Until the call with the CEO… which wasn’t going as expected.

  • First, their team never worked with remote developers, and their level of English was below average. They were doubtful that Ukraine was the right choice for them.
  • Second, they were building an ERP using exclusively .NET. I never hired any .NET developer in my life.

After a couple of hours of discussions with their financial director, CEO again, HR, and with a lot of help from my CTO friend, we finally got the green light to hire a team of 7 developers.

I called back the head hunters I knew from my previous company and we started the process.

During 3 months I interviewed over 100 candidates and finally hired the entire team.

Month 3 : 6000 USD x 7 x 12 months = 504K$ of bookings

Recurring and guaranteed revenue is perfect.

The problem was the margin. We only made around 6% out of all this money. Terribly low, but I needed that first contract to get more later so I accepted. I knew that within a couple of years this contract would bring more by word of mouth.

Lesson 2 : As you may see, without a network I’ve built during my career nothing would be possible.

Defining our offer

Once we secured our first contract, we needed to define our value proposition. Actually, we decided to keep only 2 offers :

The first because we had the knowledge and contacts, the second because we were really into it.

I loved building projects and had more than 15 years of experience. We were absolutely amazed by the power of serverless and API-first approaches while trying to build our first product. No & low code were also hot topics, we knew that there will be demand, as we observed some of the incumbent competition.

Cash, the only KPI I look at first 6 months, and why France is the best country in the world for your company

At some point after 6 months in our new adventure, I noticed our cash in the bank was around 190K$, we had some unpaid invoices from our client, but nothing bad.

Why do I say that? You’ll see.

While we were trying to build our microservices product, and even if we did not need it, we applied for a loan from the French government during the Covid crisis.

200K$ were granted within 3 weeks! A loan without collateral and with a ridiculous payback timeline of 2 + 5 years: you pay nothing the first 2 years, then your payback once a year over 5 years.

Now you see why being at 190K$ was important.

If we did not get this loan we would be out of business even with clients and big potential ahead. Thanks to the BPI, thanks to France.

Lesson 3: Cash in the bank is the only KPI you need to check every fucking morning. Nothing else matters in the first year of operations.

Kaïros: jumping on every opportunity 🦘

Kairos (Ancient Greek: καιρός) is an ancient Greek word meaning ‘the right, critical, or opportune moment’.

A couple of months later our second contract came from an old client, I worked with 10 years ago.

To be honest, I was disappointed.

The client was less than perfect and he owed my previous company a couple of thousands of dollars. But I needed every single dollar I could get.

He wanted to migrate from Drupal 7 to a new CMS :

— Maxime, I want the CMS used by the best media companies in the world.

I jumped in a plane, to help him select the right CMS and launch a discovery phase, that I would conduct myself.

After a couple of weeks, we decided to select ArcXP, the CMS built by the Washington Post and used by many major publishers all around the world.

The client asked us for a fixed budget engagement to migrate from Drupal to ArcXP. It was scary. We never worked with ArcXP, I knew the client would be complicated, had an extremely low budget and I had no team. Only red flags. A failure in a 170K$ fixed price project would mean our death.

Month 5 : +170K$ => 674K$ of revenue.

Luck: We got our biggest contract ever 🎲

While discussing with ArcXP newly hired partnership manager, I understood he previously worked for Acquia, a company founded by Dries Buytaert, founder of Drupal. We chatted for a few moments about Drupal, Acquia, and Adyax, my previous company.

Until then ArcXP were implementing all their projects themselves, but a few months before they decided to build a network of service partners and they were looking for a partner to cover EMEA. Not later than 3 weeks after signing with ArcXP, we got our third lead: one of the most respected newspapers looking to migrate to ArcXP.

They were asking for a government grant and needed a quotation for the entire project within 2 weeks to get it. It was absolutely crazy because the project was complex with dozens of templates, mobile apps, newsletters, paywalls, and mobile apps.

We didn’t sleep for two weeks but the quotation was ready 😴.

We waited 3 months crossing all the fingers we could find on our bodies 🤞.

Mail received at 3 AM :

Hi Maxime, we received the confirmation of our grant, when could we talk about the next steps?

Month 8: +500K$ => 1.2M$ of bookings.

Lesson 4: You never know where the next big lead will come from. You need to talk about your business to everybody. Talk to your friends, ex-colleagues, customers, partners. Give talks in conferences.

Our first middle management hire

With this big project won, we needed to hire our first project director. We wouldn’t be able to manage the project ourselves and continue growing the company.

It’s a key position as this person would have to manage :

  • Client relationship and satisfaction
  • Project budget and timeline
  • Project scope and priorities
  • Developers

We called a couple of ex-colleagues, we absolutely wanted somebody we’ve already worked together. We were lucky, Lucas wasn’t really happy in his current job, and he was a perfect candidate as he managed multi-million projects in my previous company.

2 months later Lucas joins us as our first project director. Welcome!

Lesson 5: You first middle-management hire, the one who talks to your clients is absolutely key. You need a blind trust. This person must become a pillar in your company.

Quality everywhere, quality everyday

During the next few months, we landed multiple new contracts :

  • We hired 2 mobile developers for an old friend of mine working for a bank
  • We built a complete LMS system using no-code tools within a few weeks
  • We got our first cold-call client, finding them a rock-star Ruby on Rails senior developer
  • We built the backbone system to manage a co-working space
  • We’ve done audits, consulting, and many smaller projects
  • We’ve built a real-time communication system for the army (sic!)
  • We’ve built a GraphQL API Gateway

We carefully grew our team by hiring only amazing individuals. Our most important criteria were :

  • Communicative and open-minded
  • Focusing on the solution rather than the problem
  • Rigorous and mad about client satisfaction

I asked every single one of them to care about only one thing: quality. I knew that for a young company, creating a wonderful customer experience was key. The power of word of mouth will play a key role next year. Making every single client satisfied is impossible when your company is big, it’s mandatory within your first years.

Month 12: +767K$ => 2M$ of bookings.

Lesson 6: Quality is the only thing that matters. Underpromise and overdeliver. Be kind, try to help. Trust me, the word of mouth is the most powerful sales automation engine you can have.

Our first problems

As our lead pipeline started to grow, we encounter our first failures.

  • An American company didn’t select us after weeks of the complex tender process, because we weren’t based in the USA
  • A German company didn’t selected ArcXP despite countless hours of demos and presentations
  • We lost a medium-sized project against a no-code agency, because we over-engineered our proposal, while the client wanted something simpler
  • We failed to convince a very good project manager we’ve worked with in the past because we were too young and too small.

But despite those problems, we were motivated and happy because every single project we did was successful, on time, on budget, and with happy clients.

In the last months, we hired more developers and delivered more Webflow, Retool, and Bubble projects.

Month 15: +500K$ => 2,5M$ of bookings.

Lesson 7: Even experienced entrepreneurs ride up the emotional roller-coaster. You will fail, you will loose projects. Focus on what matters : quality and cash. Nothing else should taint your motivation.

The black swan

On February 24th this year, I woke up with dozen notifications from Telegram. All from my ex and new colleagues in Ukraine.

Russia started a full-scale invasion of Ukraine.

Everything we were building for 1 year, was falling apart. During the day I had calls with every single guy in our team of 20 developers, trying to help them move out of Ukraine as soon as possible.

We needed to support our clients.

We needed to help Ukraine, a country I fell in love with, a country where I had a lot of friends.

Toughest month in my entrepreneurial life.

Our challenges ahead

We keep the cold head. We know that we’ll have multiple challenges ahead :

  • Our double offering (hiring the best developers and building MACH-based projects) is too complex to explain to the market. We’re two companies in one. While it isn’t a problem now, it will become one in the coming years
  • Building projects using no/low code projects is not a recurring business. We’ll need to constantly keep an eye on our bookings and leads pipeline. Our growth will eventually slow down.
  • We need to invest in marketing and support functions, which will grow our fixed costs and pressure our margins.
  • Hiring only the best is harder than ever
  • A recession is coming.

Final thoughts: the importance of time, network, and luck

If you read this, I want to thank you for your time. I hope this article might help you in your own crazy journey. Some final thoughts :

  • Time is key. You need to stay in the business long enough to catch opportunities.
  • Build your network. Growing as we did, was only possible because I’ve built trust with my network. People know we deliver quality projects.
  • Luck is not random. If you have a new lead every 100 talks with people around you, the lucky company is the one who talks to 1000 people and the one who talks to 50 goes bankrupt.
  • Quality generates the word of mouth. When you need a team to build your house, you’ll ask friends for recommendations. The same goes for IT projects.
  • The only KPI you need to focus on in the early stages of a services company is cash in the bank.
  • If you need an app built on the most future-proof, lightweight, and feature-rich architecture, call us 😉
Growth
Startup
Agency
Sales
Business Strategy
Recommended from ReadMedium