Début
L'histoire de notre startup, comme beaucoup d'autres, commence avec un groupe de geeks désireux de changer le monde. Nous ne savions pas exactement ce que nous voulions faire et comment, mais une chose était claire tout de suite: notre startup devait devenir un véritable temple de l'expertise technologique; un lieu où la technologie passe avant tout, où les gens peuvent s'exprimer à travers un choix d'outils.
Nous avons discuté avec des centaines de développeurs de l'industrie, analysé les tendances, lu Hacker News comme obsédé, jusqu'à ce que nous ayons enfin trouvé la pile parfaite pour notre startup. Dire que nous prenons au sérieux la collecte d'informations, c'est ne rien dire.
Avec un soutien financier suffisant, nous nous sommes mis au travail. Le recrutement est un facteur clé de succès pour une startup, et nous l'avons fait au plus haut niveau. Nous avons placé la barre très haut - seuls les développeurs qui pouvaient soumettre des projets open source populaires ont été invités à des entretiens. Le principal paramètre par lequel nous avons évalué les candidats était la note sur GitHub - ce système s'est avéré extrêmement efficace.
Très vite, nous avons réuni une équipe de personnes formidables qui aimaient la technologie de tout leur cœur. Nous avons estimé que toute difficulté serait à notre portée. Ensemble, l'équipe a mis au point plusieurs produits qui seraient intéressants à fabriquer et le travail a commencé à bouillir.
En peu de temps, nous avons réussi à créer une architecture magnifique. Base de code élégante, microservices, orchestration, gestion de la configuration - tout a fusionné harmonieusement en une seule symphonie. L'application a été distribuée, avec un équilibrage de charge, une bonne tolérance aux pannes et une surveillance attentive, dont les résultats étaient visibles sur de nombreux graphiques et tableaux de bord.
Mais nous n'allions pas nous arrêter là. Nous avons réécrit les microservices, initialement construits en Node, en Go, puis en C ++, puis de nouveau en Node. À chaque étape, les performances se sont améliorées de 20%. Les capacités de notre équipe étaient incroyables!
Nous avons retardé la sortie de deux mois pour perfectionner le système de construction. La version finale utilisait des actions Github, des pipelines Bitbucket, Gitlab CI et un cluster de Jenkins hébergé sur AWS. Nous avons réalisé un système de contrôle distribué de nos propres mains pour éviter les moindres perturbations dans la coordination. Le déploiement de ce système a été réalisé en utilisant la même infrastructure de construction. Juste une sorte de magie.
L'équipe a dû surmonter d'énormes difficultés techniques, mais elle a réussi. Au cours des dernières semaines avant le lancement, nous avons travaillé dur - en travaillant dix heures par jour, sept jours par semaine, jusqu'à ce que tout soit bien préparé. Et puis vint le jour de la libération.
Les nuages se rassemblent
Nous avons levé le rideau: annoncé la sortie sur Twitter et Instagram, publié la nouvelle sur Hacker News, écrit un article sur Medium. Mais peu importe nos efforts, les utilisateurs n'y sont pas allés.
L'équipe a perdu courage - après tout, nous avons mis tellement de travail dans les débuts triomphants, mais cela a échoué. Après une série de rassemblements urgents avec des discussions malheureuses, une décision a été prise. Nous devons tout réécrire en $ COOL LANGUAGE.
Traduire la base de code entière dans une autre langue à la fois est une tâche ardue. Mais notre équipe peut tout faire. Nous avions à notre disposition les développeurs les plus talentueux, la meilleure surface de test, le système de construction le plus élégant. Nous avons sobrement évalué notre force.
Après quelques mois de quarts de douze heures, nous avons terminé le processus. Tout le monde a compris que ce serait notre dernière chance. Il est temps de montrer au monde ce dont nous sommes capables.
Nous avons fait beaucoup de bruit autour du lancement de la deuxième itération: nous n'avons pas épargné de fonds pour une campagne publicitaire sur les réseaux sociaux, organisé des diffusions en direct, ordonné des critiques - en un mot, nous avons fait de notre mieux.
Cela ne suffisait pas. Certains parents et amis ont acheté le produit, mais aucun autre utilisateur n'est apparu. La chanson a été chantée pour nous. Nous avons rendu le peu d'argent qui restait aux investisseurs et avons commencé à mettre fin à nos activités.
Qu'avons-nous appris
Plusieurs mois se sont écoulés depuis ces événements mortels. Nous comprenons maintenant que nous avons commis une erreur fatale. Il ne suffit pas de créer la pile technologique la plus avancée pour le moment. Après tout, au moment où le produit arrive enfin sur le marché, la composition de la pile idéale a déjà changé, ce qui réduira les chances de succès.
Nous ne pouvions tout simplement pas suivre le rythme du développement du marché. $ COOL LANGUAGE était en déclin lorsque la deuxième itération de notre produit est arrivée. Si nous avions réussi à attirer plus d'investissements, nous ne nous serions pas précipités et ne nous serions pas précipités pour réécrire l'application immédiatement en $ ELITE LANGUAGE. Notre startup pourrait être une licorne.