Dada
|> Structures
|> Algorithms

Business Innovation: Picking a computer language

Picking a computer language as an example of what is and isn't innovation

You are starting a small, two-person company. You are the technical partner. You are bootstrapping. Your product will go against well funded competitors. You are counting on speed and innovation as your advantage.

You are about to pick up a computer language. This is how you do it. Current best practices say that you must pick a popular language so that it will be easy to hire developers. Although you are not super familiar with JavaScript, you pick it because it is popular. You pick Node for the backend, and React for the front-end.

Was this a good decision? Was this decision reached the right way? Think about it for a moment before reading the rest.

This is the wrong way of making the decision. And JavaScript is the wrong language.

The key reason lies on the startup relying on innovation as part of their business advantage. Doing what everyone else is doing is the opposite of innovation.

Your main problem to solve is the viability of your product. You need fast development to get the product to market and to make quick features and pivots.

What is the correct answer? You should pick the language and frameworks that you know the best. That is going to give you the speed that you need.

Learning a new language always takes time. Like driving in a new city, you don't know where the speed traps or the potholes are. You are going to run into many surprises, and surprises are time-consuming.

Having languages that are easy to hire for is a problem that you don't have. You still have to prove that the business is viable. You still need to make money. You still can't afford to hire anyone.

You may be tempted to pick a framework that is famous for rapid development. If you don't know it, it is still going to be faster to use the language and frameworks that you know. You may want to learn and try it by yourself, in your free time, but when building a business, you are executing, not learning.

There is no magic language that will solve your problems. There is no framework that will future-proof your application. Lean on your strengths until the business has proven its worth.