هدف و مسئله
یک مسئلهٔ کوچک و کاربر آن را مشخص کنید. در یک جمله بنویسید نرمافزار شما چه کاری انجام میدهد و نتیجهٔ موفق آن چیست.
محیط و ترمینال
ویرایشگر و ابزار اجرای زبان انتخابی را نصب کنید. یک برنامهٔ ساده را از ترمینال اجرا کنید و محل فایلها و پیامهای خطا را بشناسید.
مبانی یک زبان
متغیر، نوع داده، شرط، حلقه و تابع را در یک زبان تمرین کنید. چند برنامهٔ کوتاه بنویسید که ورودی بگیرند و خروجی درست تولید کنند.
حل مسئله و داده
مسئله را به تابعهای کوچک تقسیم کنید و با فهرستها و ساختارهای دادهٔ پایه کار کنید. راهحل را با ورودیهای معمول و مرزی بیازمایید.
گیت و مخزن
تغییرات پروژه را با Git ثبت کنید، نسخههای قبلی را ببینید و کد را در یک مخزن قرار دهید. برای پروژه توضیح کوتاهی بنویسید.
پروژهٔ اول
یک ابزار کوچک، مانند فهرست کارها یا ثبت هزینه، بدون دنبالکردن قدمبهقدم آموزش بسازید. برنامه باید قابل اجرا و استفاده باشد.
شبکه و API
درخواست و پاسخ HTTP، دادهٔ JSON و خطاهای رایج ارتباط را بشناسید. دادهای را از یک API دریافت و در برنامه نمایش دهید.
انتخاب شاخه
با یک نمونهٔ کوچک، فرانتاند، بکاند یا موبایل را مقایسه کنید. یک شاخه را برای پروژهٔ دوم انتخاب کنید و مهارتهای موردنیازش را فهرست کنید.
مهارت تخصصی
در شاخهٔ انتخابی یک قابلیت کامل بسازید؛ رابط تعاملی در فرانتاند، API در بکاند یا یک صفحهٔ کاربردی در موبایل.
ذخیرهسازی داده
داده را در حافظهٔ محلی یا پایگاه داده ذخیره و بازیابی کنید. بررسی کنید که اطلاعات پس از بستن و بازکردن برنامه باقی میماند.
پروژهٔ دوم
چند قابلیت مرتبط را در یک محصول کوچک کنار هم قرار دهید. شخص دیگری باید بتواند پروژه را اجرا کند و کار اصلی آن را انجام دهد.
تست و دیباگ
یک خطای واقعی را بازتولید کنید، علتش را پیدا کنید و پس از اصلاح، دوباره آن بخش را بیازمایید. بخشهای مهم پروژه را تست کنید.
کیفیت و امنیت
ورودی نامعتبر، حالت خالی و خطاهای قابل پیشبینی را مدیریت کنید. نکات امنیتی مرتبط با نوع پروژه را پیش از انتشار بررسی کنید.
انتشار پروژه
پروژه را در محیط مناسب منتشر کنید یا فایل نصب آن را بسازید. لینک نسخهٔ اجراشده یا فایل قابل دریافت را در مخزن قرار دهید.
مستندات و همکاری
در README قابلیتها، روش اجرا و محدودیتهای پروژه را توضیح دهید. از فرد دیگری بخواهید طبق راهنما پروژه را اجرا و بازبینی کند.
آمادگی استخدام
دو پروژهٔ قابل نمایش و رزومهای کوتاه آماده کنید. برای توضیح مسئله، تصمیمهای فنی، خطاهای رفعشده و نقش خود در هر پروژه تمرین کنید.