Engineer Advice: How To Build The Product Users Need And Be Fast
Image credit: Unsplash
Working on a startup is always hard. Founders have to master multitasking skills and control everything. Very often, in such a situation, they can't correctly assess the technological development of their company. A couple of wrong tech-related decisions can lead to a massive fail.
How to avoid this? Get some advice from an experienced engineer! I had an opportunity to talk to Serhii Korniushov, a programmer, and IT manager with more than 10 years of experience.
Below, we will discuss his recommendations on building products that users need, and not wasting time and money.
What is a startup
Over the past years, the term «startup» has evolved. Before, it applied to all new companies or projects, but nowadays, it has a more specific meaning. Presently, the startup is a company, mostly technological, that is searching for a repeatable and scalable business model under extreme uncertainty. But what does it actually mean?
For business owners and management, working on a startup, means that you need to reduce the uncertainty and come to certainty. The best way to do this is to conduct a lot of small experiments and customer interviews, that will prove some hypothesis and rebut others.
Also, this means they need to move fast to be able to run a lot of experiments and tests, which will increase the odds of overall success. Startups are highly dependent on a Pareto principle, which states that 20% of efforts (or product features) generate 80% of revenues. The «no market need» is a #1 reason for startup failure, according to CB Insights, so it is crucial to find that 20% ASAP. Therefore, the earlier you release your product and offer it to end-users and customers, the higher the chance.
You can even start such tests before you write your first line of code. There are a lot of tools to prove your idea, such as Interviews and landing pages for lead capturing. Here is a nice example of such an approach implemented by Buffer social media sharing software founders (this project also heavily uses PHP). A “no-code startup” is a new approach to building products/MVPs/test ideas.
Another perfect example of using such an approach is the case of Robinhood. The stock trading app announced a no-fee checking-and-savings account with a 3% yield. Very soon, officials forced the company to give these plans up. Media and observers thought this was a colossal fail. However, this was just a perfect test.
The company understood that there is a massive demand for such a service and grasped the problems that it might face from the government side. Later the Robinhood representatives announced that the company has pivoted to the idea of a «cash management account» which is technically not a bank account.
So, they were able to prove the hypothesis and tweak it to better fit the current conditions with almost zero costs. They’ve just posted a blog article and paid for its distribution. It would be much worse if they started with the actual product development and release to only find out that the state does not allow it in the current implementation.
This ‘fail fast’ approach is the best to follow for a startup because it is better to know that your product won't work as early as you expected. In Silicon Valley failed startups are called “experienced” because founders will learn from failure and pivot to another business idea.
How to choose the best tools to build your startup
According to CB Insights, the TOP 2 reason for startup failure is running out of cash (it kills 29% of companies). This means that any startup founder should carry about ROI of any tools and tech the company uses and implements.
From an engineering point of view, this means switching to following the hyping technologies to the ones that have really proven that they can be used by a startup. The perfect example to illustrate this is comparing two programming languages: Java and PHP.
Java has long been viewed as an excellent solution for building enterprise-grade applications. It has a solid reputation, while PHP was always considered too simple, non-fancy at all. However, in real life, choosing Java over PHP can literally kill your startup.
- PHP provides a better time to market, while Java apps are hard and long to code.
- PHP has a more significant market share, a broader user base, and the number of programmers writing code using it.
- As there are more PHP programmers than those coding in Java, the former ones are cheaper.
And all those facts do not mean using PHP give you only resource and time savings, but the overall quality will be lower. Not at all, there are enterprise-level frameworks based on PHP, like Symfony, which has more than 3bn downloads. By using it, you can build a high-quality web application really fast.
When you work on a startup, you have to be fast, and you need to fail fast, learn and iterate especially during the early startup stage. This is the only approach that leads to building a product that people really need and want to pay for. That said, you have to think about the technological development of the whole organization.
Do not follow the hype. Instead, analyze each tool, technology, and solution at the right angle. Will it save your resources and time, while allowing building something that can be used for real-life tests? Then it can be used, if this is just something your programmers would like to add to their CV – avoid using such technologies.
Some useful links to get more insights on building a product:
- How Facebook is not using PHP by still using PHP?
- Taking PHP Seriously
- Interviews with the founders of failed and successful startups
- Steve Blank Interview
- ReWork: Change the Way You Work Forever
- The Startup Way: How Modern Companies Use Entrepreneurial Management to Transform Culture and Drive Long-Term Growth