The art of choosing tech for your startup: Build, buy, or use open source
Is it better to build new tech from scratch, buy an existing product, or use an open-source solution? This is one of those dilemmas that keeps me and other leaders up at night, especially in the fast-paced world of tech startups, where rapid innovation meets the harsh realities of resource constraints. I’ve often found myself  faced with a problem—or maybe I’ve read a blog about a project or product that seems to solve a problem I have—and suddenly the allure of adopting new technology is strong. But then I have to consider the real-world, practical considerations of cost, time, and fit. Not to mention the long-term effects of owning or not owning the specific technology, and how that relates to my company’s current goals. Finally, I  consider how early decisions about whether to build, buy, or use a technology will shape my startup’s future—from financial impacts to product trajectory, and even team morale. If you’re facing a similar dilemma, it helps to first wrap your head around the basic pros and cons of each option:
  • Build new tech: This approach is best suited for distinctive capabilities that set your product apart. Building allows for unparalleled customization and control, but it can demand significant time and financial investment, potentially diverting resources from other areas.
  • Buy an existing product: This approach is ideal for essential, yet non-core functionalities. By buying, you tap into external expertise to quickly enhance your offering. Essentially, you're paying to eliminate a problem. However, this can come with higher upfront costs and possible dependency on the vendor.
  • Use an open-source solution: This route potentially minimizes initial outlays for development, appealing for its low upfront costs and community support. It's often chosen for foundational technology needs that don't require proprietary solutions. Nonetheless, it brings ongoing maintenance and operational costs, and sometimes, less predictability in terms of support and updates.
From here, let’s consider some of the key questions that can help guide you to the best option.

1. What’s your unique advantage?

This is a good starting point for any build, buy, or use decision. What is the unique advantage of your startup? Whatever your advantage is, or will be, you want to develop, enhance, and eventually protect it. Your perspective here will act as a roadmap, helping you see where to invest effort in building and when it makes sense to leverage external solutions.

2. What’s the cost to license a product, especially as you grow?

When you’re considering the option to buy a product, it’s important to look beyond the initial price tag to the pricing structure as your business scales. What are the cost drivers? How does the cost escalate as usage scales? For example, if your customer base or employee count increases by 500, does the cost increase proportionally, say to 500X, or does it follow a more gradual curve? As you scale, does the cost still align with the value you’ll get from the product? Understanding the nuances of the licensing cost structure lets you make a strategic decision for long-term growth and financial health. Contracting terms, and great relationships with vendors are also key to protecting yourself from surprises later on.
tl;dr: To evaluate the financial implications of licensing, ask: What are the costs? How are they calculated? What is the impact on costs with significant scaling?

3. What’s the cost of expertise for the technology you’re considering?

The cost of a technology isn’t just what you pay to build or license it. You also need to ask: Which specific skills are necessary to develop, run, and maintain this technology? How easy is it to find professionals with these skills, and how competitive is it to hire them? If the technology you’re considering requires highly specialized knowledge available only to a handful of experts worldwide, the cost and effort to recruit the right team could be considerable—not to mention the cost to retain them, or to train new experts if they leave. On the other hand, hiring may be easier and less expensive if you’re looking for a more common skillset, like proficiency in a widely used programming language.
tl;dr: Assess the required skills for technology implementation and maintenance: What expertise is needed? How rare and costly is this expertise?

4. What’s the cost of ownership (or lack of ownership)?

Beyond the cost of a solution and the expertise you’ll need to manage it, there’s also the cost (and reliability) of ownership. For example, if you’re considering buying a solution, can you depend on the stability of the vendor? What risks will you face if they compromise on quality? Or go out of business? To answer these questions, you’ll need to investigate a vendor’s track record for quality, and consider the potential product impact if they fail to deliver. To gather information, examine their service histories and gauge their reputation in the community (forums like Reddit are a good resource).
Pro-tip: One of the greatest tells for the quality of software is the quality of the docs. Most often, I’ve found that poor docs map to a poor quality product, too. This is because great docs require caring and coordination across product and engineering, while poor quality often comes from a lack of coordination and care. 
It’s also worth considering how much you’ll be able to influence the development trajectory of the technology you adopt (if you’re not building it yourself). Whether it’s a vendor solution or an open source solution (OSS), will they be responsive to feature requests and customizations? Will they prioritize your needs on their development roadmap? If not, what will the impacts be for your own development trajectory and budget?
tl;dr: Assess the viability and reliability of partners and technology: How dependable is the vendor? What are the risks and backup plans?

5. What’s the cost to customize?

When you build a solution from scratch, you have complete control over its customization. You dictate every aspect of its configurability, ensuring it aligns with your needs and has the flexibility to adapt to future changes. But when you opt for an off-the-shelf solution or purchase a product, you’ll need to assess whether it has the flexibility to meet your requirements now and as your business evolves and scales. Understanding how customizable a technology is will help you determine whether it aligns with your long-term vision.
tl;dr: Evaluate the flexibility and adaptability of the technology: How much customization is available, how much is required by your use? Will the technology evolve alongside your future needs?

Making big decisions

Engineering leaders are faced with countless decisions, and we rarely have all of the information we’d like to have to make them. But starting with a framework of good questions and then thinking through the implications of your options can help you make decisions quickly, thoughtfully, and intentionally—so you’ll be poised to grow, and prepared to pivot when you need to. I recently stepped out of the cybersecurity world to launch something new. At Fixify, we’re aiming to change the face of IT, and we’d love to have you follow along. Learn more and join our update list here!

Subscribe now

Thank you for reading Peter’s Substack. This post is public so feel free to share it.

Share

Share this :

Comments are closed.