Finding Your Perfect Development Partner

Posted March 30, 2017 by Dan Moore in Development, People, Startups

Looking for a technical partner is, more often than not, a complex process. In a previous blog post, we provided a checklist of technical partner interview questions to help guide your search (you can check that post out here).

Now that you know the right questions to ask prospective partners, let's talk about what TYPES of partners there are. When determining which type of partnership is right for you, there is a lot to consider, but ultimately, the largest difference between every provider is their alignment to your mission and goals.

If you have the technical stuff down, then finding a skillful vendor will probably be your best option. If you're not so technically inclined, you'll probably need higher-level strategic help from someone who will fill the role of a technical partner.

One of the largest mistakes a first-time entrepreneur can make is to use a vendor when they need a partner.

With years of experience in the software industry, we've come to learn a few things at Vaporware about the different sources of development and how they perform in both the short and long terms. We're breaking down our findings into employees and contractors and then (because we're overachievers), we'll go further into examining the differences between companies and individuals.

All right, let's look at our options...

Technical Co-Founder (CTO)

This is the first choice for most entrepreneurs and usually assumes the role of the CTO - focusing on the feasibility and usability of a software product. Because this person will be an integral part of the company, they should have goals that perfectly align with yours, as there is usually a large equity split, and it requires a long-term commitment.

The downside: The relationship is often accompanied by a large loss of control of the company and the product.

Senior Employee

Do you need less of a partnership than a CTO? A senior employee can provide technical guidance, while still allowing more control and equity savings for you. The senior's goals is to be a successful employee within a shorter commitment period (2+ years opposed to a CTO's 4+ years). They will often take fewer risks than the business owner.

The downside: More financial burden and less commitment.

Junior Employee

Recent Graduate (2+ year program)

The recent university graduate is less experienced and developed in important skills like communication consistency and code quality - they pose a higher risk.

The downside: In most instances, a recent graduate is still transitioning into adulthood (all the while attempting to join their first company) and are typically expected to hold a position for about 1 year and prefer some form of equity.

Coding Bootcamp Graduate (3+ month program)

This kind of employee comes in many shapes and sizes. Before we start generalizing... we consider appropriate graduates to be individuals who have previously attended a university program and who are looking to make a job transition. With that said, we've seen a wider variety of individuals in this position who have had some amazing returns on the right candidates.

We don't recommend hiring a bootcamp graduate as your first technical partner; their quality of code and experience is usually at a minimum entering the software engineering field.

Current University Student

Not the most common option, but current students hold valuable potential for both the student and the employer. A current student will be more limited in the amount of time and contractual agreements they can make than a graduate student would be. Formal employee agreements are not common; current students often join as contractual employees, and their primary benefit will be workplace experience outside of a school environment.

You can utilize the part-time current university student in an internship, apprenticeship, or a Co-Op model.

The downside: Because of the part-time nature, we don't recommend equity being added to the compensation equation, and the goals are usually completely different for the company than the student. Poor communication and flakiness is also a large risk.

Development Companies

AKA -- shops, firms, studios, collectives, teams

Local Development Company

A local development company can provide in-person meetings and work for optimized communication habits (hopefully you've noticed we focus a lot on communication habits).

While their goals are typically focused on their own brand and reputation, local teams are still great for large bursts of work and immediate gains. They often come with a variety of expert-level experiences across a range of skills.

Make sure to evaluate the brand as a whole by checking longevity of the team, previous work, and any referrals they may offer.

The downside: The financial costs are often the highest on the market. However, short-term contracts can offset long-term financial risks.

Native Development Company

Similar to the local development company, a native company can provide short-term contract relationships to maximize expert-level skills on a project. A native company is not in-person like a local company and differentiates from foreign companies, but are typically in the same timezone and have limited language barriers - which contributes to communication performance.

Foreign Development Company

This can be the cheapest financial option available for a technical team. A foreign development company can provide a great contractual relationship to well-defined products and timelines (try using our DefineMyMVP tool if you need help). Foreign relationships provide multiple expert-level skills and redundancies over a single freelancer.

The downside: Increased communication costs play a role due to timezone and language barriers; it's important to stay on top of the work as much as possible (repeat communication and work are common here).

Freelancers

The "Build Your Own" Team.

Local Freelancer

A local freelancer or contractor focuses on the freedom a non-employment contract provides - typically a senior engineer (minus the commitment). They are concerned with their reputation as a contractor, trying new experiences, and wanting a flexible work schedule. Part-time or full-time employment makes a small difference with these developers. The local freelancer is often able to be on-site with other employees or teams, but doesn't provide long-term longevity or culture benefits that an employee will.

The downside: Their goals are often not aligned with yours

Native Freelancer

The native and local freelancers are similar, except the native freelancer often doesn't perform on-site capabilities. For the native freelancer, there are not many timezone or language barriers, and a single freelancer provides a limited skill-set but will allow you to build your team dynamically.

The downside: The management duty falls on the hiring manager and dynamically built team - as rapport isn't pre-built like most development companies.

Foreign Freelancer

There is a growing community of "nomad" software developers who end up having very flexible lifestyles for engineers. Like foreign development companies, there may be large timezone and language barriers, as well as expertise issues (rework and repeat communication) that commonly occur with the foreign freelancer.

I hope this helps you decide what type of technical partner you need and that communication is a key aspect in a healthy partnership. Let us know in comments what you think!

Check out our eBook, Finding Your Technical Partner, to see how we further breakdown each technical partner.

Vaporware

Related Insights