Your technical co-founder will make decisions that cost your company tens-of-thousands to millions of dollars. Here’s some best practices on how to find the best technical co-founder for your startup.
Why is Software Development Complex?
Software development is a complex and challenging endeavor for several reasons:
Complexity: Software systems can be incredibly complex, and even small changes can have unintended consequences that are difficult to predict.
Ambiguity: The requirements for a software system can be ambiguous and subject to change, making it difficult to plan and execute a project effectively.
Debugging: Debugging software can be time-consuming and challenging, as it can be difficult to identify the root cause of a problem and implement a solution.
Integration: Integrating different software systems can be a major challenge, especially when they were developed by different teams or use different technologies.
Testing: Thoroughly testing software is critical, but it can be difficult and time-consuming to ensure that a system works correctly in all possible scenarios.
Security: Security is a major concern in software development, and ensuring that a system is secure against hacking, data theft, and other threats can be difficult and time-consuming.
Scalability: As software systems grow, it can be difficult to ensure that they remain performant and scalable to meet the demands of increasing numbers of users.
1. Is Everything a Nail?
Many developers exist in their own special bubble. They know a couple of programming languages, and those programming languages can be used to solve any problem. The developer is the hammer and everything is a nail.
2. Coder or Leader?
Most developers are good at one thing. Coding. As your company grows, your technical cofounder needs to transition from chief architect to CTO.
The one man band can work for an initial MVP launch, but if your company gets any traction, you’ll need more resources and your technical cofounder needs to be able to manage those resources.
The optimal team for a product launch consists of a team. A team collaborates together to think through all of the various challenges and problems that can arise during the product development process.
A good leader is able to hire, fire, mentor, create processes, measure quality, get alignment with business stakeholders, and work with the team to prioritize, delegate, and execute.
Many leaders can be coders, but not all coders are good leaders.
3. Smartest Guy in the Room Syndrome?
There are many options on how to solve problems in technology. A bad technologist has the “smartest guy in the room” syndrome. They are the expert and their expertise should never be question or judged.
Every solution has pros and cons. Those pros and cons should absolutely be debated before moving forward on any decision.
If your technical cofounder is brushing off your questions and concerns without delving deeper and presenting opinions as fact without supporting evidence, then you may have the wrong person in place.
4. Flakiness Syndrome (aka "You need me more than I need you")
Developers are usually well-paid individuals who make over six figures. They have a full-time job and that job has demands. Your project will always be secondary to their food and rent habit day job.
A typical cycle for a developer who is working for free is as follows:
1. Get excited about the idea.
2. Start coding.
3. Hit the hard part of the project that requires more time and effort to solve.
4. Get busy with projects at work.
5. Ghost you because they are onto the next “shiny object”.
If after the first few weeks the developer is complaining about the work that needs to be completed, how hard it is, how busy they are, then that relationship is doomed very quickly.
5. Solution Evaluation
This is the cousin of “Is Everything a Nail”?
A technical cofounder should be looking at different options for launching an MVP that makes sense for the stage of the company.
Low Code options can be a great fit for an initial MVP. If you need a mobile app, hybrid mobile solutions can give you both an IOS app and Android app with one codebase to maintain. Your technical cofounder is likely recommending solutions that fit their tech stack history and isn’t necessarily researching the latest and greatest solutions.
You can learn more about if low-code is a viable solution for your software product here.
6. Do they have a process?
Process is everything. Many developers have a meeting and just start coding.
Creating a software product is more than just creating some code.
There’s an entire process (called the SDLC – Software Development Lifecycle) which focuses on everything surrounding the code. Some of these processes include:
- Technical design and architecture
- QA and Test Cases
- Release Management
Documentation is important as you onboard new team members on how the system works.
With a one-man band, the documentation falls by the wayside and you’ll pay for that decision over the long run. Every time you onboard a new developer, you’ll pay for them to review the code to figure out what the software does. When you onboard a new product manager, you’ll have the same challenge. This is also the source of bugs as the team learns the hard way what the system is supposed to do.
It seems easy to skip the documentation, but lack of documentation can cost your company hundreds of thousands of dollars over the long-term of the project.
7. T&M Contracting
If you’ve decided to hire an agency to help you launch your MVP, keep in mind that the team is usually paid with T&M (time and materials.)
The more inefficient they are, the more money they make. Some of the issues that occur with a T&M project is scope changes. A company will promise a project will take 3-4 months and cost $50k. Often an initial budget can come out to 2-3x the initial project cost.
The reality is that when you gather requirements, devil is in the details. A simple requirement can cost thousands of dollars and create thousands of dollars of change if it isn’t thought through.
Your inefficiency and lack of expertise becomes their gain.
A good software agency does a thorough analysis of the requirements prior to coding. Measure twice, cut once.
8. Fixed Bid Contracting
The other option instead of T&M is fixed bid contracting. Platforms like Upwork have made it very easy to create fixed-bid projects and get multiple bids to hire a developer.
Fixed bid has the same challenges as T&M, but the difference is the team size.
A fixed bid company makes their margins by:
- change requests
- cutting corners
A fixed bid estimate will not likely include QA resources, documentation, test cases, requirements.
If it’s not written down, it may or may not be coded correctly and it’s definitely a change request – meaning more money and more surprises
9. Bootcamp Newbie
- Newbie = No Experience.
- Newbie = Expensive Mistakes.
- Newbie = Wasted Time and Energy
Creating software is a complex process. If your goal is to go to a coding bootcamp to find your CTO, there are many things the Newbie doesn’t know.
For each year of experience, a developer makes somewhere between $20k-100k of mistakes every year in their career. This comes in the form of:
- Incorrect/incomplete requirements (doing the same enhancement multiple times)
- Incorrect solution design (changing from one platform to another)
- Bad database design processes (the database is the heart of the system – it affects how much time every system change takes)
- Bad assumptions about how people use the system (coding something that isn’t how people use the system)
- Lack of process knowledge (not planning for different problems at different stages of the company)
Experience is everything and hiring a junior developer and hoping things will go well is a recipe for disaster.
10. My <insert person here> is a Programmer
Your friend’s cousin, brother, ex-husband’s new wife might be a great person, but there’s no guarantee they will deliver your project successfully.
Unless you get referrals from someone who actively worked on the project with an individual, these referrals should be handled with a grain of salt.
Every person on a team has their strengths and weaknesses. Even seasoned professionals.
If you hire based on a relationship that isn’t based on a referral with first-hand experience of working with that person, you don’t know what you’ll end up getting.
Creating software is a complex and expensive process. Mistakes can cause huge liability for business owners and can lead to financial disaster.
Hiring inexperienced team members and expecting amazing results isn’t a recipe for success.
The best software comes from a team and the collaborative environment that a team creates. Teams can work through multiple solutions to identify how to quickly solve issues and they share knowledge from their collective lessons learned.