Jacob Baytelman - Full stack developer, project manager, CTO

When you are in a startup (2)


When you are in a startup you work differently. Build your minimal viable product much faster with these tips - 2.

You probably have already read my first article about startups. Now I will tell you about APIs and what they mean to your startup, how they can help and how they can harm.

Generally speaking, different 3rd parties offer their API and thus allow you to implement different functionalities. E.g. login via Facebook, LinkedIn, Google+, etc. Request the list of your user's Facebook friends, their Instagram pictures, and so on. Sometimes a cool combination of various APIs can seem to form a unique basis for something really great.

In the reality, it's not exactly true because of the following 2 reasons:

First of all, if you combine too many APIs and all your added value lies in your ability to combine APIs, this added value is really small indeed while the codebase is a monster, hard to manage, painful to support, impossible to evolve. Your brilliant ideas require some more shine to be bright enough. Clever algorithms add a shine, your own know-how adds a shine, combination of APIs and nice wraps help but do not suffice.

Second of all, if you gain some functionality via somebody's API and even if you pay for it, you are the customer of those who provide APIs. Which means you depend on them, on how they provide the API and how they might wish to change the terms and availability of their services in the future. They can terminate the service and you product dies. They can raise the pay and your business model is killed. They can also sue you legally, so be careful and read their small prints, perhaps they do not authorise you to use the API the way you want.

All the said is true for any 3rd parties' product you might wish to use: themes, plugins, engines, etc. The gain of using them always comes with the pain. You might fail to realise it from the beginning, you might be tempted with the increase of the development speed or beauty of the ready components, but later you will have to face the problems of a poor support, conflicts caused by the use of 2 different plugins or themes in one project and so on.

If you are the technical guy in a startup, you are responsible for raising these questions. Perhaps you boss or co-founders will disagree and insist on particular technical implementations, APIs, plugins, etc. Perhaps they misunderstand something, or on the contrary, they have a broader vision and business matters are more important than technical ones. But you have to raise the questions. Just to make sure you make them think about the risks

J.Baytelman February 7, 2016