TECHNOLOGY SELECTION FOR SOFTWARE STARTUPS
Many, perhaps most, software startups start with just an “idea.”
- • It should be easier to get a ride to go where I need to go now;
- • I want to sell my beanie babies online;
- • It should be easier to find information.
If the inventor is a software engineer they might just start writing software-using tools that they already know. Some might think a little harder and leam a new tool that seems particularly well suited to the job. The founder of Instagram famously taught himself to code while creating the app. In every case, a decision will be made and a minimum viable product will be built using some set of tools. In this chapter we will lay out how this choice—made during a software startup’s birth—can affect a startup’s culture and eventual success.
When a carpenter shows up at a construction site he or she can be recognized instantly by the tools on their belt: the hammer, a tape measure, a pencil, some screwdrivers or a power drill, and a few others. That the carpenter has these tools doesn’t guarantee they are skilled, it just means they are equipped and ready to work.
Meanwhile a software developer shows up at their office with nothing more than a laptop and a pair of headphones. While the laptop, like the hammer, is itself a tool, the developer’s real tools are the invisible pieces of software inside, on servers, and in the cloud. The laptop is just a means to gain access to the real tools. In a way the laptop can be thought of as a tool belt in the carpenter metaphor.
The hammer is a tool, which is over 2.6 million years old. PCs have been around for about 40 years, laptops for around 30. The oldest software tool on that laptop might be the text editor or a C compiler, both just slightly older than the PC itself. The tools of the trade in software are incredibly young by comparison to most of the carpenter’s tools. The very oldest software tools in current use are barely older than the developers using them. The very newest tools on the other hand, may only be years or even months old. Software tools are being invented and refined at an incredible rate, which brings us to our first observation.
Software tools and technology are changing all the time. Many of the ones you choose for your new company will soon be out of date.
Knowing this, it can be hard, especially for a nontechnical founder, to understand how software engineers can be so incredibly opinionated about the choice of tools used to build a system in a new company!