Building Codiga: Becoming CEO
Note: this post is part of a series about building Codiga.
I had no idea what it was to become CEO of a startup. Our society romanticizes the job of a CEO. People believe CEO is a wonderful job where all you have to do is to go to conferences, drink cocktails with famous people and wait to pocket profits. The reality is that the job of the CEO is to keep moving forward and stay optimistic while facing a constant shit storm.
Many times I wondered if I was doing the right thing. I lost my sleep very often. Many times, I thought I was a total failure. I frequently found the courage to keep going in jumbo glasses of Margarita. And no matter what, at 8am, I was present for our daily sync, rain or shine, sober or (still) drunk.
One of the most important talks when I attended the TechStars accelerator was from David Mandell about the job of a CEO. He has been a TechStars mentor for years and CEO of multiple companies. In other words, Dave has experience. And he knows what he is talking about.
During the talk, Dave mentioned there are only three jobs that a CEO needs to do:
Communicate a vision
Hire and fire
Do not run out of money
Sounds short? Still, many CEOs fail at delivering. You do not need to do these jobs for a day. For a week. But for the lifetime of the company.
Let’s dive into the core of these three jobs.
Communicate a Vision (and Mission)
Your first job is to communicate your vision and mission. Do it multiple times, reinforce your mission statement, and make sure nobody loses track. If you do not do this, your employees will quickly lose sight of your vision and mission and start to implement products and features that do not follow your DNA.
Your mission statement is why you are here. Why the company exists. It gives a reason for people to wake up every day and work for you instead of someone else. People need to believe in the mission.
Space X’s mission is not to build rockets, but to make life multi-planetary (“[…]with the ultimate goal of enabling people to live on other planets”). They built rockets to reach their milestones, but if teleportation was possible, this would be a good path forward.
Tesla's mission is not about building cars. Tesla's mission is “Accelerating the World's Transition to Sustainable Energy”. And its vision is to “create the most compelling car company of the 21st century by driving the world's transition to electric vehicles”. It’s not about cars; it’s about the future and driving humanity forward. Still, when you talk about Tesla today, the picture that comes to mind is the picture of a Model 3.
When Steve Jobs started Apple in 1980, the mission statement was “To make a contribution to the world by making tools for the mind that advance humankind.” More than 46 years after the company started, this statement is still true (Steve Jobs famously said the computer was a “bicycle for the mind”, which resonates with the company's mission statement).
Mission statements are timeless. It’s the core of your company's DNA. It’s the reason a company exists. A company is not about a product. A company has a specific mission to accomplish.
Products are a way to fulfill the mission. A mission rarely changes (Apple, Tesla, and Space X missions did not change), the products do (Apple started with computers to transition to portable music players and now cellphones).
As a CEO, it’s your job to
define your mission and vision
communicate them clearly to employees
periodically reinforce your mission and vision
fire any employee not aligned with the mission
At Codiga, our mission was to make developers 10x more productive. Our code analysis and code assistant were just ways to fulfill this mission. I iterated this vision on our website, in our daily meetings and every single product design brief. I communicated this mission on our website, job descriptions, on our platform - anywhere I could!
Hire and fire
As a startup, you have limited resources. The company needs to take off before you use all your runway. Time and money are your most important and scarce resources. You can only afford to keep employees who are productive and aligned with the mission. The other must go within a few weeks.
Always be generous when hiring engineers. Offer good compensation and good benefits. Never go cheap on people; prefer to sacrifice your salary before your team's salary. I hired outside the US for two reasons:
I am not a big fan of Silicon Valley. I believe great talent can be found anywhere, and wanted to provide opportunity outside the USA. I hired engineers in Colombia, India, Nigeria, Hungary, and Canada.
By hiring outside, I can provide great compensation that will attract very motivated talent.
We had a bi-annual retreat (called Codicon) where we all met and discussed the company's mission and future. It was a great time to reconnect. These retreats were all-inclusive for all employees, and it was a fun moment for everybody.
I hired remote for Codiga, mostly in South America. I paid between two and three times the average market price for engineers so that they did not have to worry about paying their bills. This was still cheaper than hiring in the USA.
Hiring and keeping employees is easy. It’s like giving away candies: everybody wants some. Firing is the hard part.
Always fire quickly. There is no need to wait; the more you wait, the more you waste everybody's time. It’s always better for both sides: on your side, you can move on faster and hire someone else. On the employee side, they can find a place where they will be able to thrive and/or be aligned.
However, recognize your mistakes. If one employee is not performing or not aligned with the mission, you make a hiring mistake. Maybe you hired the wrong profile or did not pay enough attention to the employee responses during the interview process. No matter the reason, fire the person quickly but have empathy, recognize your mistake, thank them for their contributions and offer some severance. The person will have money to take the time to find a new opportunity for themselves. If you can, help them find a new job.
I hired and fired many people. Some were my mistakes and regardless of the underlying reason, I always did my best to limit the impact on their life. Every time I needed to let go someone, I did it quickly. If you do not do it and let a bad hire in your company, it will impact your culture and impact high performing employees.
Do not run out of money
This may sound obvious to every reader, yet, running out of money is a major reason startups fail. Not running out of money means that:
You raised enough money from investors and make significant progress to raise more money when the company is developing a product and unable to grow revenue from customers
You are responsible for handling product development, defining the scope of your MVP/product, and starting selling.
In other words: no matter the source of income (either by raising from investors or generating revenue from customers), do not run out of money.
While it seems obvious initially, this is way harder than it seems. If you bootstrap and do not take any investor money, it will be your responsibility to set the milestones to get revenue (e.g., what product features are required to start getting revenue, define the marketing and sales strategy, etc.). Many things can go south, and your estimate will be wrong most of the time (the only question is how wrong they are). If your initial plans fail, your team morale will go down, and it will be unlikely you will reach your next milestone.
If you raise money from investors, you are responsible to show significant progress to investors and be reasonably accurate in your predictions to start generating revenue. If the product development velocity is too slow or not generating revenue when you promised you will generate some, investors will stop believing in you.
For not running out of money quick, start by spending responsibly. One rule of thumb is to not burn more than $50k a month until you have Product Market Fit. Make sure you keep only critical roles at the company with strong beliefs in your mission (and fire the rest). Keep expenses low and iterate on the product until you have good product market fit.