Startup foundation without technical debt?... maybe
Technical startups usually have a tremendous technical debt. This "problem" usually starts from the first moment business partners, with a great idea, start lining up a plan for the great success of their masterpiece.
Facts and Factors
In these early stages, there are common factors that predict the not-so-cool future for the solution to be done.
- (Fact 1) None of the business partners have at least five years of in depth knowledge on high-end technologies and development for the start of the project.
- (Fact 2) Someone heard of a guy, who knows a guy, that installed a WordPress for some other guy.
- (Fact 3) Let's funnel 80% of our starting investment, as without awareness, the tech will be useless.
- (Fact 4) This university sent me a list of many nice interns willing to help, almost for free.
- (Fact 5) Let's hire a junior guy, and have him grow with us in this stairway to heaven.
- (Fact 6) Let's call a free founder CTO, with deep knowledge and experience in the market, to build this for us in his free time.
So... what can start badly...
A startup with a serious base in technology can spend much less in technology for a future mind thinking if they take care about how things are built up front.
Imagine you want to start this idea, which can cost $50k USD to be built/developed if you hire some people for your office for three months. In the beginning of the business, you will easily fall on the common factors for the future technical debt — it's not that easy to come with the values needed on the beginning.
Technical debt will result in the near future, every time you want to add some more value (functionalities) on your product, it will take much longer, and you will be running much slower then your opponents.
What can go wrong with (Fact 1)?
Without a founder with great knowledge and experience in technology you may need, the start of the project is already plagued with issues. Many problems that can happen with scalability and high loads would never be taken in attention with less experienced professionals.
And with (Fact 2)?
Of course, not everyone can install a WordPress, Prestashop, or even configure your company email accounts on a business service online, but this doesn't mean the ones that can do it have the knowledge to help you to start up your solution. In "fact," if their work is around doing those kind of tasks, it's almost sure that they really don't have serious development experience.
Or (Fact 3)?
Most VC's will mostly tell you to invest less in tech and developers than in marketing and client acquisition, that a company should never have more than 25% of employees for engineering and development, and so on...
Well this can be right in some ways, but if you don't go tech investing hard in the beginning, in the future, the money you receive from VC's will be mostly used not in new functionalities of your product, but also on refactoring all of the code base that didn't start the right way.
It's easy to make some calculations to see that it will be much cheaper if you start better.
Indeed students, almost free, and recently graduated can be good, but not to start by themselves. It's easy to get involved with such positive attitude and all of the energy from young developers... but in the end, stuff happens.
People already on the market, juniors with up to a couple of years of experience, or who already have some experience on the field, can be a good bet to have coding, but, only if you have some very strong experienced person to guide them, and be sure that every step goes in the right way.
This is near a good solution, but there is one problem that happen very often. The CTO to whom the Startup promised equity, will only have that "free" time, and I mean free work also, in the very early stages. His free time will be less and less while time goes on, and your project will take forever to be in a minimum MVP stage.
A couple solutions that can make ends meet
There is no best solution. There are many solutions, but one that is most important is that someone with a lot of expertise, and wonderfully a full-stack developer, with 5+ experience with architecture hands on, would at least lead the evolution of your technological project.
This can be achieved by having him/her as founder and mentored junior developers (cheaper for your startup) doing the development. Optimally, you would pay something to this founder anyway — even by the hour, this can make all the difference to have him turned in to your project.
As it is so hard to find this kind of person with this high level of expertise to guide you or mentor someone you hire in a more junior level, you can search online in the right places and get someone to assist you for the best path for your solution, so you take on very low technical debt.
It's important to note that this mentor, or mentors, can be available some hours every week. Even if they're not present for daily Agile methodology, at least they can appear weekly and on sprints and turnovers.
When you hear, or read, that for technical debt to not exist, it takes more time to build things up, it can't happen with an experienced mentor, as the developers will have the right answers for the right problems straight away and don't fall in gaps constantly.