How Should Non-Technical Founders Approach Tech?
This is a guest post from Justin Phelps, an ex-hacker, developer and systems architect who’s been at a number of tech startups since the 90’s. In 2003 he founded and later sold Super Computer International. He’s currently working as a CTO in the mobile space and working on cryptocurrency projects. This post first appeared in my newsletter — sign up here!
Great tech co-founders are hard to find. Especially ones with skills, passion and risk profile to go through the arduous path to success. In lieu of finding one, you can outsource until you can build your own team.
Once you’ve found a window of opportunity to capitalize on or want to test a business, get ready to build your tech.
It’s impossible to build a team that will deliver faster than a consultancy. They’ll have a cohesive group of engineers and processes already in place and ready to go.
There are many consultancies in the Nordics that can walk you through the software development process, and cheaper ones in Eastern Europe and Asia, but may come with a higher time and management cost.
To work efficiently with a consultancy, have a clear idea of what the product should look like and behave. Create a list of the features that are necessary to deliver your value proposition, then a bucket list of ‘nice to have’ features.
The most frequent mistake is waiting too long before launching; trying to get every detail perfect can kill you. Focus on building a Minimum Viable Product (MVP).
Once you’ve launched your MVP, listen and learn. You’ll find that some of those ‘nice to have’ features aren’t even interesting to your users. So pat yourself on the back for not wasting time. Be ready to let some things go.
A recent trend is the Fractional CTO. They’ll do anything a full-time CTO would, but not work more than necessary. This can save you a lot of money, especially with remote developers.
There are international consultancies that offer Fractional-CTO services, but it’s most effective to have someone local. Find one by asking your network or putting an ad on StackOverflow.
Once you’ve proven your business and gotten some money, recruit a tech leader and build your team. The up-front cost of building a development team is much higher outsourcing, but they will develop an institutional knowledge that renders them incredibly efficient.They’ll maintain skills and competence throughout your company’s development cycles, contributing continuously to a working product that remains an asset.
Once you’ve got your developers, pay attention to a few pitfalls.
K.I.S.S.: “Keep It Simple, Stupid”
Don’t over-plan. The problems that you will run into will most likely come from unexpected places. Making ‘horizontal scaling’ an architectural requirement and hosting it on a cloud platform like AWS or Google will prevent a lot of scaling problems.
“It always takes longer than you expect, even when you take into account Hofstadter’s Law” — Hofstadter’s Law
There will be unexpected technical delays, and the back-and-forth between you and the development team can take up a lot of time. Having a clear vision, expectations and boundaries from the beginning will speed things up.
In summary, Outsourcing will get you started faster and cheaper than building a team, but can be inefficient without limits and clarity. An internal team is going to be a better asset in the long run, but will be slow and expensive to ramp up. A good hybrid is to find a Fractional-CTO to drive your tech.
It will always take longer than you expect, don’t over engineer, and delivering fast is better than delivering perfect.
Interested in more content like this? Sign up for my occasional newsletter on digital commerce, marketplaces and the consumerization of the enterprise.