Start
The story of our startup, like many others, begins with a group of geeks eager to change the world. We had no idea exactly what we wanted to do and how, but one thing was clear right away: our startup should become a real temple of technological expertise; a place where technology comes first, where people can express themselves through a choice of tools.
We debated with hundreds of industry developers, analyzed trends, read Hacker News like obsessed, until we finally figured out the perfect stack for our startup. To say that we are serious about collecting information is to say nothing.
With sufficient financial support, we got down to business. Recruiting is a key success factor for a startup, and we did it at the highest level. We set the bar very high - only developers who could submit popular open source projects were invited to interviews. The main parameter by which we evaluated candidates was the rating on GitHub - this scheme turned out to be extremely effective.
Very soon we assembled a team of wonderful people who loved technology with all their hearts. We felt that any difficulties would be within our reach. Together, the team came up with several products that would be interesting to make, and the work began to boil.
In a short time, we managed to create a magnificent architecture. Elegant codebase, microservices, orchestration, configuration management - everything merged harmoniously into a single symphony. The application was distributed, with load balancing, good fault tolerance and careful monitoring, the results of which could be seen on many graphs and dashboards.
But we were not going to stop there. We've rewritten microservices, originally built in Node, in Go, then in C ++, and then back to Node. At each stage, performance improved by 20%. The capabilities of our team were amazing!
We delayed the release by two months to perfect the build system. The final version used Github Actions, Bitbucket Pipelines, Gitlab CI, and a cluster of Jenkins hosted on AWS. We made a distributed control system with our own hands to avoid the slightest disruptions in coordination. The deployment of this system was carried out using the same build infrastructure. Just some kind of magic.
The team had to overcome enormous technical difficulties, but they managed. For the last few weeks before launch, we worked hard - working for ten hours a day, seven days a week, until everything was properly prepared. And then the day of release came.
The clouds are gathering
We raised the curtain: announced the release on Twitter and Instagram, posted the news on Hacker News, wrote an article on Medium. But no matter how hard we tried, the users didn't go.
The team lost heart - after all, we put so much work into the triumphant debut, but it fell through. After a series of urgent trainings with unhappy discussions, a decision was made. We have to rewrite everything in $ COOL LANGUAGE.
Translating an entire codebase into another language at once is a daunting task. But our team can do everything. We had the most talented developers at our disposal, the best test surface, the most elegant build system. We soberly assessed our strength.
After a couple of months of twelve-hour shifts, we completed the process. Everyone understood that this would be our last chance. It's time to show the world what we are capable of.
We made a lot of noise around the launch of the second iteration: we didn’t spare funds for an advertising campaign in social networks, organized live streams, ordered reviews - in a word, we gave our best.
This was not enough. Some of the relatives and friends bought the product, but no other users appeared. The song was sung for us. We returned the little money that was still left to the investors and began to close the deal.
What have we learned
Several months have passed since these fatal events. Now we understand that we have made a fatal mistake. It's not enough just to build the most advanced technology stack at the moment. After all, by the time the product finally hits the market, the composition of the ideal stack has already changed, and this will reduce the chances of success.
We just couldn't keep up with the pace of market development. $ COOL LANGUAGE was on the wane when the second iteration of our product arrived. If we were able to attract more investment, we would not have rushed and rewrote the application immediately to $ ELITE LANGUAGE. Our startup could be a unicorn.