Diario del capitán, fecha estelar d372.y38/AB
Being able to celebrate five years running our first company is something truly remarkable. Since we're very thankful for it, we're sharing (almost) everything we have learnt so far.
The good old David Bowie wrote a song called "Five Years" in 1972. One of the most iconic Bowie hits, it tells of an Earth doomed to destruction in five years and the aftermath of this knowledge. Five years is the amount of time left in his life, according to a prophecy from his very own father in a dream he had.
David Bowie has always been a huge inspiration for us, and while it is sheer coincidence, we share a lot of love for the red planet with him, hence our moniker.
In case we should face immediate destruction, we have compiled our most important learnings from these five years running MarsBased that could be useful to other companies.
After many years of having intertwined professional careers, my two best friends and I decided to create a company. Between 2012 and 2014 we tried a few different projects, which never saw the light of day. By accumulating failed ideas of companies and products we never ended up taking to market, we learnt that we should focus on what we were good instead: developing products.
In March 2014, we incorporated MarsBased, our all-remote development consultancy.
The original idea was to employ only the three of us, and to function as a boutique development shop. However, we started to find pretty big projects early on, and by our first anniversary, we had a headcount of six people already. So, put simply, we were wrong from very early on, but what a nice problem to have!
Every year, we have been writing our "lessons learnt" post, to share our most meaningful learnings. You will find them all here:
- Lessons Learnt: One Year Running Our Own Business
- We Don't Need a CEO (Lessons Learnt in Two Years Running a Development Consultancy)
- Three Years Running Our First Business: Lessons Learnt
- We Shot for the Stars and We Landed on Mars (Lessons Learnt in Our Fourth Year)
With all that being said, let's venture into our most ambitious blog post ever.
Where we are now
To give you the bigger picture, I'll share where we are now.
- Average Monthly Revenue: 71.000€
- Annual Net Revenue: 850.000€ - 1M€
- All-time Revenue: 3.155.740,25€
- All-time Expenses: 2.225.733,67€
- Number of projects: 65
- Debt: No debt of any kind. Profitable from day one.
- Headcount: 12 full-time employees + 5 freelancers (we're hiring!)
- Biggest clients: Everis, ClearPeaks, RakutenTV, Naiz, Ajuntament de Barcelona, Spin (a Ford company), and many more.
Let's start this compendium of lessons with another Bowie song.
Entrepreneurship is a long and winding road. It comes with bumps and lots of ups and downs, in a ride that's equally thrilling and exhausting. I'd say, it is not for the faint of heart.
Of course, this is similar to driving a car. If you respect the rules and drive at the right speed, chances of accidents are greatly diminished. Some people can drive faster and nothing happens, but some can get fatally injured in the process.
We have always advocated taking a conservative approach when managing our business. Not only because it is our first business but also because we cannot provide our high standards of quality if we take rushed-up decisions driven by necessity and urgency, and if we are not well-rested.
Of course, we take our fair share of risks as well - more on this, later -, but always following careful consideration and a calculation of the consequences that might derive thereof. If there's one thing we have learnt from day one is that everything can and, most certainly, will change, so you should be ready to adapt your strategy to correct course accordingly.
That does not mean that we have got a plan for everything, as we don't worry about problems we don't yet have. Though, when we devise a change in the company, we like to prepare for different scenarios to have fallback strategies if things don't go as planned.
Small, agile and precise
We've been always a calm company. Our most common answer to people asking where do we see ourselves in the future, or why don't we grow any faster, is "we want to keep growing organically".
Commanding a company for the first time is a huge responsibility. From the get-go, we were adamant on taking that risk with a very conservative approach. Before making critical decisions, we ask ourselves the following questions:
- Is this aligned with our values and our long-term vision?
- Are we prepared as a team to do it?
- Can the company financials sustain such a change?
- Have we got one or two fallback plans if things go south?
- Will we be in the capacity of implementing this change fully right now?
- Have we thought this strategy through for long enough?
- What things are we currently doing that we will need to stop or change as a result of this?
- What doors are we closing as a result of this?
- Is this the right time to follow this strategy?
Thus, we have learnt to play a long-term game. Our company will be able to withstand more & bigger threats and market swings if we keep operating as a small company.
This way, we've grown a really solid and stable team. We've got twelve full-time employees and five contractors working for us right now. And while we are at it, I will mention that we are hiring Node.js developers, since we have sealed a few big projects in the last months.
After five years, we still retain 100% of the ownership of the company and owe no money to anyone. Being completely independent of external interests allows us to stick to our core values and execute the long-term vision for the company.
Being small is a blessing, in our case: it has allowed us to be more agile implementing new tools and workflows in the company, to reinvent our methodology when we needed and to adapt to the sudden market changes or to major inconveniences like losing our biggest client overnight (it's happened twice in five years).
It has also allowed us to adhere to our strong company culture and to stick to our principles, which, in turn, has led us to deliver high-end projects and services to our clients, always exceeding their expectations.
The morale of the story is that we will never grow at the expense of our principles or compromising the quality of our work.
Focus, focus, and then, focus
We started the company as a web-only, all-remote, Ruby on Rails & Angular development agency, and in spite of that, we had a good dealflow since the very beginning. By dealflow, I refer to the requests we get from other companies to develop for them.
Since our very early days, we have been tempted with interesting proposals outside of work, or simply projects that haven't always met our standards.
However, most of the times a company contacts us, it's for something we don't do. For instance, we don't do native mobile development, or we don't develop in most languages/frameworks (no, we don't do Wordpress!), we don't work for equity or we don't accept work we can't do remotely.
As time went by, we started incorporating more services, like design, UX, code audits, hybrid mobile development, or even other programming languages like Node.js, or other frameworks such as React or Vue. We did it when we felt 100% capable of taking on new things with the team and the learnings we had at the moment.
The siren charms of other proposals are not always development projects. Sometimes, we are approached by other companies or institutions to have us mentor in a certain acceleration program, or teach at the university, or attend networking events, or even sit on the board of this or that.
Since we receive an exorbitant number of requests like these, we live by the following rule: "does this help MarsBased to progress and can we do it better than anyone else?" If the answer is yes to both questions, then we find a way to integrate the new initiative within our company.
If something helps our company but someone else could do it better, we try to find that person and talk her into doing it, as she might profit from it better than us. Needless to say, if this initiative won't help our company, we don't take it.
One really good example of taking external projects are Startup Grind Barcelona and Startup Digest. Both of them are projects I knew they'd be good for our company, but it was not that clear from the start, as they required a lot of dedication and they were not development projects (more like community projects, if you will).
However, some months into working in them, we saw that they were positive for the company, and decided to incorporate them into MarsBased. This way, we wouldn't have to work on them in our spare time, but during our daily shift, and we would even get the benefit of having a budget and a time dedication for each.
To sum up: even though we could've probably grown faster by doing more technologies and services, we're positive we would've had much more trouble managing it all. Which brings us to the next point.
Simpler is better
Nothing resounds more than this cliché, but in our case, it's true.
As I've mentioned previously, being small is a clear advantage in most of the situations we find ourselves in. It follows, then, that as a small quality-oriented company, we can't do too many things and do them well.
Companies, much like people, tend to accumulate stuff over time. We create documents, receive mail, buy material, abandon projects, we save stuff for later, and we do all sorts of activities which generate even more stuff we don't need.
For instance, our company runs on SaaS services. We hire SaaS products month in month out to get our work done and to automate or optimise our processes. However, in the early days, we did not review our spending as often as we should.
Therefore, that generated bigger bills and growing complexity, taking a slash on our budget (and our profits at the end of the year!) and in our mental bandwidth.
We decided to apply the doctrine of simpler is better, and we review every few months which products we are paying for because the software we contracted in the past might not be what we need right now.
Money, money, money
I wanted to write only "don't spend more than what you earn" and it would be one of the best advice you could read about money. You'd be surprised about how many companies we know that don't follow this rule and live under the constant pressure of debt or pursuing irrational growth.
One of the best things we did when we created the company is to create a safety net. We define every year how much do we need to keep in the bank in order to be in a safe position if all hell broke loose.
As a company with multiple clients, it's extremely unlikely that we will lose all of them at once, but we might lose a couple of the big ones or the ones who pay on time.
Therefore, having a safety net should always go in accordance with a payments plan from every client, as some of them pay upfront, while others pay months after the work has been delivered.
Being highly transparent with our employees (we report to them regularly), helped us to explain why we took certain decisions. For instance, once we had a client who accumulated several months of delay in their payments, so we decided to explain to our employees that it was safer for the company to postpone a couple of salary raises. Everyone understood it and we worked together to make them happen right after we were paid.
We had to hire from early on in the company, as I mentioned earlier.
As a new venture, we had no credentials and almost no network, so we hired mostly people we had worked with in the past or through direct recommendation.
The first ten hires are essential in small companies. Even more so when the company isn't as stable as you want it to be and you find yourself spinning many plates simultaneously.
Hiring friends and former workmates turned out to work pretty well for us. Even though we have had a couple of unsuccessful hires, in hindsight, most of our hires have been extremely valuable and have been in the company for years, or still are.
Being a small company also allows you to have a closer relationship with your employees.
When asked about what's the best thing we do at MarsBased, we often get the following answer from our personnel: we're very good at talking to our employees often to listen and to adapt to their needs. Some needed a coworking space because they couldn't concentrate properly at home while others need a more flexible schedule to adapt to life changes, and we have always made our employees' comfort one of our top priorities.
We've done so for two reasons: first, because we are a lifestyle business and we like to treat people like we want to be treated. And second, because our long-term vision and commitment as a company requires low employee attrition. We value long-term relationships above all, and we are proud to say that we lose less than a developer per year. How many companies in the tech scene can claim that?
What's more, we empower employee-to-employee relationships as well, by doing a lot of group dynamics and activities, like our annual company retreat, our bi-monthly Martian Retreats, our online hackathons to work on internal projects and our events, for instance.
Given that some of our developers work in one-man projects, we really need to make sure they have space to talk to other MarsBased members regularly to prevent them from becoming too isolated.
The fact that over the years our Martians have established relationships outside of work gives an extra push to our global performance. For instance, a big part of our team plays videogames over the internet on Friday evenings to wind down after work.
We all share our highlights of the week on Basecamp, on a dedicated thread. Most of the times, it's work-related stuff, but we sometimes share good things about our personal lives (like getting your driving license, celebrating 5 years of marriage, etc.), things that could go better (not having a good sleep lately, kids feeling sick, not having enough time to go to the gym, etc.) or things that are downright wrong but should be highlighted all the same to just open up for the sake of sharing it with someone else or to feel better after a much-needed and foul-mouthed rant.
You'd be surprised at the amount of support you can receive from the people you work with.
Don't sweep the dirt under the carpet
By working on technical projects, we sometimes come across nasty surprises. Some of them might compromise the security of your client while others can be just inconvenient.
We always take the maximum security measures and alert the customer of any potential security issues, such as having unwanted access to production, incorrectly backing up the production database, and so on. Always ask for explicit written consent for those.
On the other hand, we make mistakes as well, and while some might go unnoticed for a while, the best advice here is to be 100% upfront with your client and communicate it to them. When you do it in an informative, transparent and resolutive manner, they will understand, no matter how grave the situation was.
While transparency is one of our core values, it is definitely not the case with other agencies. We have hired other companies to work together on certain projects, and most of the time they didn't meet our standards of quality while other times we found out they were sweeping the dirt under the carpet.
Don't sweep shit under the carpet.
Every time you hire somebody, you assume the risk of not being able to pay him. Therefore, growth is never exempt from risk.
The risk of hiring someone can (and should) be calibrated. For instance, we have never hired a business developer or a salesperson because they never guarantee results. However, a developer assigned 100% of the time brings real money into the company, so we'd rather grow the team by hiring more devs, provided they can be assigned to projects most of their time.
When deciding between two developers, you can drive down the risk by hiring the one you've worked with in the past, or the one you can get references of previous bosses or workmates, or simply by giving them test work before you hire them.
Another factor of risk is relying on contracts. Contracts are never a life-saver. We have seen companies shut down where we had a contract in place and our work went unpaid.
A good way to reduce the risk with clients is to never have a client bigger than one-third of our revenue (but this percentage varies from company to company). Another is to never hire anyone for a specific project unless the contract pays for her salary for a year. That'll give you time to find new projects for that developer.
Being 100% remote
If there's one thing we could have predicted the first day we founded the company, is that five years in, we'd have no office.
Being not only a distributed team, but also an officeless company, has given us mostly advantages (such as access to remote talent, enhanced employee satisfaction and productivity, and work/life balance, just to name a few). But it also comes with some challenges.
Let's talk about the challenges only, as the advantages are abundant and quite well-known, and we have blogged about them extensively already.
First off, being 100% remote means that there are clients you will never sign. Some companies want you to go to their office to do on-site work and others will just dismiss you because you can't be trusted as they associate you to distant offshoring companies with shady reputation.
There's little you can do about it, and you're better off dismissing them first as a client, because even though the money might be good, signing them will be a short-sighted decision compromising your principles. The sooner you accept this truth and move on, the better.
Second, likewise, not everyone is ready to work for you. Even though you have access to hiring talent from virtually anywhere, only a reduced amount of people is prepared to work completely remote.
We have learnt The Hard Way™ not to trust everyone who claims they're fine with working remotely. We seek evidence on having done it for at least two years. Having been a freelancer or an entrepreneur helps to build similar skillsets, so that's extra points when we hire.
Third, we have experienced the so-called loneliness of the remote worker. It doesn't hit you straight away, but when you have been working for over a year in a remote-working environment, it might hit you. Especially if your job doesn't really require meeting other people in real life.
By conducting a lot of on-site activities like our coworking Wednesday, our meetups and the get-togethers, we help to reduce this risk, but sometimes, it's not enough. Also, some of our employees have needed a period working from a coworking space.
Other problems arise from being 100%-remote, such as not being able to detect whether someone is going through a bad phase, or when someone overworks. Quite paradoxically, it's more difficult to spot people who overwork than those who underwork, in remote environments and it's also bad in the long term, as it might lead to burnout.
Community is everything
We have been always aware of the power of having a good network and we started organising events and creating community to help people beyond our customer line. Deep inside, we knew that investing in community would pay off down the road.
After over 70 events in five years, including three international conferences and more than 6000 people in our immediate community, we have found it to be extremely valuable to our company. While all of this is time-consuming and pretty expensive, it pays off manyfold.
We have made hundreds of new friends from all around the world, we have built a pretty strong network especially in San Francisco and the Bay Area, we have found advisors for a lot of important moments in the company, we have even hired people who attended our events and even a few clients. We have also helped our clients with contacts from our network, sometimes, and that's well valuable too.
No exit strategy
When we're confronted with the dreadful question of when and to whom will we sell the company, we just don't know. That is, we simply do not have an exit strategy.
A couple of years ago, we were approached by a company who intended to acquire MarsBased. Being new to this kind of situations, we sought advice in one serial entrepreneur from Barcelona, who advised us in the process.
We were adamant on not selling the company, as we didn't see a right fit in company culture and the way we work in the buyer, but he advised us to take the meeting all the same. He also told us how to behave, what to say and which questions to ask. It was really useful, and we advise every company to do this, before dismissing any such talks without engaging in discussion.
At the end of the meeting, I remember asking my two partners "we are not going to sell, but what would we do if we did? Where do you see yourselves in five years time?" and one of them said "creating the same kind of company".
That was the confirmation we needed to know we were not going to sell the company.
One of our favourite startups, Ghost, wrote a very good post called After 5 years and $3M, here's everything we've learned from building Ghost, which was a huge inspiration for me to write this one. Essentially, the most remarkable tip from that blog post is the following: "It turns out that a funny thing happens when you build a company you can never sell: You end up building a company you would never want to sell".
Although MarsBased is not a non-profit, and therefore could be sold, we are not building it as something that will be sold.
And I think we wholeheartedly agree with this even though we had never thought about it.
And that's a wrap!
As much as we'd like to cover other areas, we feel like the above might help a vast majority of companies. Other learnings we had were pretty specific to our sector, market or even geographical area. Or, simply, we thought our insights were not that great altogether.
If you want to learn more about a specific area feel free to send us questions in the comments area below or via email or Twitter! We'll be happy to answer!