کدکرفترز میخواهد توسعهدهندگان باتجربه را با پروژههای دشوار به چالش بکشد
پلتفرمهای زیادی برای توسعهدهندگان آنلاین وجود دارند که به شما کمک میکنند تا مهارتهای جدید بیاموزید یا با یک زبان جدید شروع کنید، مانند CodeCademy، Leetcode و CodeSignal. برخی توسعهدهندگان را مرحله به مرحله از طریق فرآیند آموزش میدهند و اصول اولیه را آموزش میدهند، در حالی که سایرین ویدیوهای آموزشی دقیق ارائه میدهند.
Codecrafters یک پلتفرم است که نمیخواهد به توسعهدهندگان ویدیو نشان دهد یا دست آنها را هنگام یادگیری زبانهای جدید بگیرد. بلکه میخواهد چالشهای سختی برای توسعهدهندگان پیشرفته ارائه دهد تا یک پروژه بسازند، به زبان برنامهنویسی مسلط شوند و در طول مسیر مفاهیم دیگر را بیاموزند.
این استارتآپ مورد حمایت Y Combinator توسط ساروپ بانسکوتا و پل کوروویلا در سال 2022 تأسیس شد. این دو در مدرسه آمادهسازی IIT در چنای با هم آشنا شدند.
پس از تکمیل دانشگاه، کوروویلا مدیر شرکتی شد که در آن کار میکرد و برای ارتقای مهارت و انگیزه اعضای تیم خود چالش ساخت یک نسخهپرداز Redis از ابتدا را برای خود قرار داد — Redis یک مخزن ساختار داده منبع باز است — و تجربهای از این کارگاه ساخت و در یک وبسایت با دستورالعملها قرار داد. بانسکوتا به TechCrunch گفت: این اساساً Codecrafters v0 بود، اما برای کارگاههای کوروویلا.
پس از آنکه بانسکوتا شغل خود را در Vercel کنار گذاشت، این دو شروع به ساختن Codecrafters کردند. آنها فکر میکردند که مردم به سایت میآیند تا از درونیات Git، Docker یا Redis یاد بگیرند. اما به جای آن، مردم میآمدند تا به زبان برنامهنویسی مسلط شوند.
زمانی که استارتآپ به Y Combinator پیوست، درآمدی نداشت و این دو مجبور شدند تا محصول را برای همخوانی بهتر با بازار تغییر دهند.
بانسکوتا گفت: "در روزهای اول YC، مشاوران از ما در مورد درآمدزایی پرسیدند. ما یک صفحه قیمتگذاری در سایت خود افزودیم. اما کاربران ما خیلی از ما خوششان نیامد زمانی که شروع به دریافت هزینه کردیم. ما مجبور بودیم ویژگیهایی را بسازیم تا درآمدزایی خود را توجیه کنیم و تجربه استفاده از پلتفرم را بهتر کنیم."
این شرکت 1.8 میلیون دلار در دور بذری از افرادی مانند مایک کریگر، همبنیانگذار اینستاگرام، آرش فردوسی همبنیانگذار دراپباکس، کوین ون گاندی مدیر عملیات سابق Vercel، پل کاپلستون مدیرعامل Supabse، آلانا گوئال سرمایهگذار BaseCase، و جیتندرا ویدیا همبنیانگذار PlanetScale جذب کرد.
کریگر که اکنون مدیر محصول اصلی Anthropic است، به TechCrunch در ایمیلی گفت که همیشه مهارتهای جدید را با ساخت پروژهها یاد گرفته است.
او گفت: "من ساخت نرمافزار از ابتدا تا انتها را تجربهای بسیار رضایتبخشتر از تنها یادگیری سینتکس میدانم. آنچه من در مورد Codecrafters دوست دارم این است که همه یادگیریها در ساخت چیزهای واقعی پایهگذاری شده است — چالشها، مانند ساخت Redis یا SQLite از ابتدا — هم درک دانشجویان را از زبانی که مطالعه میکنند عمق میبخشد، هم از مفاهیم اساسی مانند عملکرد سیستمهای توزیعشده و طراحی API."
پلتفرم
هدف اصلی Codecrafters پروژههایی است که با عنوان "ساخت X خود را بسازید" ارائه میشوند، مانند یک کلاینت BitTorrent، Git، Redis، Docker، Shell، ویرایشگر متن و بیشتر.
هنگامی که یک حساب کاربری در Codecrafters ایجاد میکنید، میتوانید از میان این چالشها انتخاب کنید. پلتفرم این چالشها را به مراحل مختلف تقسیم کرده و سطح سختی را در هر مرحله تعیین کرده است، همراه با جزئیات چگونگی کار پروژه.
شما میتوانید زبان برنامهنویسی مورد نظر خود را برای آن پروژه انتخاب کنید و همچنین مهارت خود را با همان زبان تعیین کنید. اگر تازهکار هستید، پلتفرم شما را به منبعی میبرد که میتوانید از آنجا شروع کنید و وقتی بیشتر با زبان آشنا شدید، به چالش بازگردید.
پس از تنظیم اولیه، Codecrafters یک مخزن برای شما میسازد که میتوانید آن را در سیستم خود کلون کنید. مخزن اولیه کدی دارد که برای شروع پروژه در نظر گرفته شده است. میتوانید از محیط توسعه (IDE) انتخابی خود برای ساخت پروژه استفاده کنید و کد را به مخزن ارسال کنید.
هر مرحله دارای صفحهای است که وظیفه را توضیح میدهد، زبانه بحثی با نظرات و نکات سایر افرادی که چالش را امتحان کردهاند، برخی راهحلهای کدنویسی برای سازندگان جهت مقایسه منطق اصلی، و توضیحات مفاهیم و منابع. شرکت همچنین چتباتی تعبیه کرده است که کد راهحلها را به کاربران در زمینه همان مرحله توضیح میدهد.
بهطور محدود برای مشتریان پولی، شرکت یک لایه یکپارچهسازی مداوم (CI) ارائه میدهد تا بتوانند سریع کد خود را آزمایش کرده، بازخورد خودکار دریافت کنند و به کار بر روی پروژه ادامه دهند.
توسعهدهندگان میتوانند چالشها را به صورت رایگان دسترسی داشته باشند، اما تنها به محتوای دو مرحله اول (یا همه مراحل برای پروژه ماه) دسترسی خواهند داشت. آنها میتوانند برای دسترسی به محتوای نامحدود، استفاده ناشناس، بهرهبرداری از ویژگیهای CI و دریافت پشتیبانی اولویتدار پرداخت کنند. در حال حاضر، Codecrafters یک برنامه سهماهه برای 120 دلار، یک برنامه سالانه 360 دلار و یک برنامه زندگی 990 دلار ارائه میدهد.
فرصت و طرح
در حال حاضر، اکثر افرادی که با Codecrafters کار میکنند قراردادکاران هستند. تیم به طور مداوم در حال ایجاد افزودنیها و گسترشهایی به چالشهای فعلی است و درباره چالشهای جدید برای کدنویسان فکر میکند.
علاوه بر رباتی که کد را توضیح میدهد، شرکت همچنین در حال کار بر روی ویژگیای برای ارائه نکات AI به کاربران است. بانسکوتا گفت که مزیت آنها نسبت به چتباتهای دیگر این است که شرکت مدلها را در زمینه راهحلها برای چالشهای مختلف آموزش میدهد.
وی گفت: "هر چتباتی قادر خواهد بود راهحلهایی برای یک بلوک کد یا یک مشکل به شما بگوید. با این حال، ما ارسالهای کد را از توسعهدهندگان مختلف برای همان مسئله داریم. بنابراین ما مزیت خلق نکات زمینهای بهتری داریم."
سرمایهگذار Codecrafters و مدیر عملیاتی سابق Vercel کوین ون گاندی گفت که بسیاری از ابزارها برای مبتدیان وجود دارد، اما شرکتهای زیادی نیستند که راهحلهایی برای توسعهدهندگان باتجربه برای یادگیری مهارتها یا قابلیتهای جدید ایجاد میکنند.
وی گفت: "ویدیوهای زیادی در یوتیوب، منابعی مانند Khan Academy و MIT برای مردم برای یادگیری وجود دارد. با این حال، لایه تعامل برای توسعهدهندگان ضروری است. مهم است که پلتفرمهایی مانند Codecrafters مراحل تکامل یافتهای برای توسعهدهندگان بسازند تا آنها را درگیر نگه دارند."
وی گفت: "پلتفرم به توسعهدهندگان این امکان را میدهد که به فرآیند ساخت تمامی اپلیکیشنها بپردازند. مهندسانی که از یک مجموعه مسئله کامل اینچنین عبور کردهاند تمایل دارند سازندگان بهتری باشند."
شرکتهای مانند OpenAI و Anthropic ابزارهایی میسازند که کد را تولید کرده و به مهندسان کمک میکنند تا برخی از فرایندهای خود را خودکار کنند. در این میان، کریگر بر این باور است که طراحی نرمافزار سطح بالا یک مهارت مطلوب خواهد بود.
وی گفت: "با ادامه پیشرفت LLMها در توانایی خود در تولید کد و همچنین انجام وظایف برنامهنویسی عاملی که بیشتر از پایان به پایان هستند، مهارتهایی که توسط کارفرمایان ارزشگذاری میشوند (و برای کارآفرینان مفید هستند) طراحی نرمافزار سطح بالاتر است که Codecrafters از طریق دورههای خود آموزش میدهد."