Codecrafters veut défier les développeurs chevronnés avec des projets difficiles à construire

Il existe de nombreuses plateformes en ligne pour les développeurs qui vous aident à acquérir de nouvelles compétences ou à démarrer avec un nouveau langage, telles que CodeCademy, Leetcode et CodeSignal. Certains guident les développeurs étape par étape tout au long du processus tout en enseignant les bases, tandis que d'autres proposent des didacticiels vidéo détaillés.

Codecrafters est une plate-forme qui ne veut pas montrer de vidéos de développeurs ni leur tenir la main lorsqu'ils apprennent de nouvelles langues. Au lieu de cela, il souhaite proposer des défis difficiles aux développeurs avancés pour créer un projet, maîtriser un langage de programmation et apprendre d'autres concepts en cours de route.

La startup soutenue par Y Combinator a été créée par Sarup Bankosta et Paul Kuruvilla en 2022. Les deux hommes se sont rencontrés pendant l'école préparatoire IIT à Chennai.

Sarup Bakosta-Paul Kuruvilla Crédits image : Codecrafters

Après avoir terminé ses études universitaires, Kuruvilla est devenu manager de l'entreprise où il travaillait et s'est lancé le défi de créer un clone Redis à partir de zéro (Redis est un magasin de structures de données open source) pour perfectionner et motiver les membres de l'équipe. Il a finalement créé un atelier à partir de cette expérience et l'a mis sur un site Web avec des instructions. Bankosta a déclaré à TechCrunch qu'il s'agissait essentiellement de Codecrafters v0, mais pour les ateliers de Kuruvilla.

Après que Bankosta ait quitté son emploi chez Vercel, le duo a commencé à créer des Codecrafters. Ils pensaient que les gens viendraient sur le site pour découvrir les composants internes de Git, Docker ou Redis. Mais au lieu de cela, les gens sont parvenus à maîtriser un langage de programmation.

Lorsque la startup a rejoint Y Combinator, elle ne gagnait pas d'argent et le duo a dû ajuster le produit pour une meilleure adéquation produit-marché.

« Dès les premiers jours de YC, les conseillers nous ont interrogés sur la monétisation. Nous avons ajouté une page de tarification sur notre site. Mais nos utilisateurs ne nous ont pas tellement appréciés lorsque nous avons commencé à les facturer. Nous avons dû créer des fonctionnalités pour justifier notre monétisation et améliorer l’utilisation de la plate-forme pendant cette période », a déclaré Bankosta.

La société a levé une levée de fonds de 1,8 million de dollars auprès de personnalités notables, notamment le co-fondateur d'Instagram Mike Krieger, le co-fondateur de Dropbox Arash Ferdowsi, l'ancien COO de Vercel Kevin Van Gundy, le PDG de Supabse Paul Copplestone, le VC solo de BaseCase Capital Anala Goyal et PlanetScale. co-fondateur Jitendra Vaidya.

Krieger, qui est maintenant directeur des produits chez Anthropic, a déclaré par courrier électronique à TechCrunch qu'il avait toujours acquis de nouvelles compétences en créant des projets.

« Je trouve que créer un logiciel de bout en bout est une expérience bien plus satisfaisante que le simple apprentissage de la syntaxe. Ce que j'aime chez Codecrafters, c'est que tout l'apprentissage repose sur la construction de choses réelles – les défis, comme créer Redis ou SQLite à partir de zéro – approfondissent à la fois la compréhension des étudiants du langage qu'ils étudient, mais aussi des concepts fondamentaux tels que les performances des systèmes distribués, et la conception d'API », a-t-il déclaré.

La plateforme

Le principe de base de Codecrafters est de créer vos propres projets, tels qu'un client BitTorrent, Git, Redis, Docker, Shell, un éditeur de texte, etc.

Une fois que vous avez créé un compte sur Codecrafters, vous pouvez choisir parmi un éventail de ces défis. La plateforme a divisé ces défis en différentes étapes et attribué des niveaux de difficulté à ces étapes, ainsi que les détails du fonctionnement du projet.

Crédits image : Codecrafters

Vous pouvez sélectionner un langage de programmation de votre choix pour ce projet et également choisir votre maîtrise de ce langage. Si vous êtes débutant, la plateforme vous oriente vers une ressource où vous pourrez commencer et revenir tenter le défi lorsque vous maîtriserez mieux la langue.

Après la configuration initiale, Codecrafters crée pour vous un référentiel que vous pouvez cloner sur votre système. Le référentiel initial contient du code destiné à vous aider à démarrer le projet. Vous pouvez utiliser un choix de votre environnement de développement (IDE) pour créer le projet et valider le code dans le référentiel.

Chaque étape comprend une page qui explique la tâche, un onglet de discussion avec des commentaires et des conseils d'autres personnes qui ont tenté le défi, des solutions de codage permettant aux constructeurs de comparer la logique de base, ainsi que des explications et des ressources sur les concepts. L'entreprise a également mis en œuvre un chatbot IA qui explique les solutions de code aux utilisateurs dans le contexte de la scène.

Crédits image : Codecrafters

Quant aux clients payants, la société propose une couche d'intégration continue (CI) afin qu'ils puissent tester rapidement leur code, obtenir des commentaires automatisés et continuer à travailler sur le projet.

Les développeurs peuvent accéder aux défis gratuitement, mais ils n'auront accès qu'au contenu des deux premières étapes (ou à toutes les étapes pour le projet du mois). Ils peuvent payer pour accéder à du contenu illimité, s’entraîner en mode anonyme, profiter des fonctionnalités de CI et bénéficier d’une assistance prioritaire. Actuellement, Codecrafters propose un forfait de trois mois pour 120 $, un forfait annuel de 360 ​​$ et un forfait à vie de 990 $.

Opportunité et plan

Actuellement, la plupart des personnes travaillant avec Codecrafters sont des entrepreneurs. L'équipe crée constamment de nouveaux ajouts et extensions aux défis actuels et réfléchit à de nouveaux défis pour les codeurs.

En plus du robot qui explique le code, la société travaille également sur une fonctionnalité permettant de fournir des astuces basées sur l'IA aux utilisateurs. Bankosta a déclaré que son avantage par rapport aux autres chatbots généralisés est que l'entreprise forme des modèles dans le contexte de solutions pour différents défis.

« N'importe quel chatbot sera capable de vous proposer des solutions à un blocage de code ou à un problème. Cependant, nous avons des soumissions de code de différents développeurs pour le même problème. Nous avons donc l’avantage de créer de meilleurs indices contextuels », a-t-il déclaré.

L'investisseur de Codecrafters et ancien COO de Vercel, Kevin Van Gundy, a déclaré qu'il existe de nombreux outils pour les débutants, mais qu'il n'y a pas beaucoup d'entreprises qui créent des solutions pour que les développeurs expérimentés puissent acquérir de nouvelles compétences ou capacités.

« Il existe de nombreuses vidéos sur YouTube, des ressources comme la Khan Academy et le MIT pour que les gens puissent apprendre. Cependant, la couche d’interaction pour les développeurs est essentielle. Il est important pour les plateformes comme Codecrafters de créer des étapes progressives permettant aux développeurs de maintenir leur engagement », a-t-il déclaré.

« La plateforme permet aux développeurs de suivre le processus de création d'applications complètes. Les ingénieurs qui ont affronté toute une série de problèmes comme celui-là ont tendance à être de meilleurs constructeurs.

Des entreprises comme OpenAI et Anthropic créent des outils qui génèrent du code et aident les ingénieurs à automatiser certains de leurs processus. Dans ce contexte, Krieger estime que la conception de logiciels de haut niveau sera une compétence recherchée.

« Alors que les LLM continuent d'améliorer leur capacité à la fois à générer du code et à aider avec des tâches de codage agent de bout en bout, les compétences qui seront valorisées par les employeurs (et utiles aux entrepreneurs) sont la conception de logiciels de niveau supérieur. que Codecrafters enseigne à travers ses cours », a-t-il déclaré.

A lire également