For most startups, the priority is to leverage proven solutions when it comes to fundamentals like databases, authentication, and storage. The focus should be on meeting customers' specific needs and solving the unique problems they face, rather than getting bogged down in reinventing the wheel.
In the early stages of a startup, time and resources are precious. Choosing to use a custom parser or cache may offer a slight performance advantage, but at what cost? The focus should be on getting the product to market and iterating based on customer feedback, rather than looking for marginal performance gains.
It is important for startups to identify and establish their core competencies, investing resources in these areas to create a solid foundation. However, for non-essential functions, existing libraries and tools should be used to avoid unnecessary waste of time and resources.
Once a startup has achieved product-market fit and has the financial resources to support further growth, it can consider innovating specific parts of its technology. This should only be done if it promises to deliver significant improvements, on the order of 10x, that will have a significant impact on the business or user experience.
The truly innovative and revolutionary work comes later. Startups should first focus on getting to market quickly by reusing existing code and solutions. This approach ensures the bases are covered, allowing innovation to take center stage where it will have the most significant impact.
In short, while there is a time and place to reinvent the wheel, it should not be the first course of action for most startups. Leveraging existing solutions to validate business ideas should be a priority. Once a startup has identified what truly sets it apart from the competition, it can and should boldly reimagine and reshape the wheel where it delivers the most strategic value.
Engineers are often not able to see this treasure of interesting problems hiding at the other end of the rainbow. Engineers want to solve hard problem, I get it. However, it’s the job of strong leadership to guide everyone there, using the boring tools so that later the really interesting problems can be solved.