نقشه‌ی راه فرانت‌اند: آنچه یک توسعه دهنده‌ی فرانت‌اند در تپسل می‌آموزد

یک نقشه‌ی راه کامل کمک می‌کنه یادگیری هدفمند باشه و سریع‌ترین و بهترین راه برای افزایش دانش و ارتقای سطح رو بهمون نشون میده. در این مطلب خصوصیات مهم یک Roadmap خوب رو یاد می‌گیریم و می‌بینیم که در تیم فرانت‌اند تپسل چالش‌های مربوط به یادگیری رو چطور با یک نقشه‌ی راه خوب حل کرده‌ایم.نقشه‌ی راه (Roadmap) چیست؟به طور کلی یک roadmap راه و مراحل اصلی رسیدن به یک هدف رو بهتون نشون می‌ده. به طور خاص اینجا منظورمون یک راهنماست که به شما بگه چه مهارت‌هایی رو باید بیاموزید. مسیر کلی که شما باید طی کنید تا از یک دولوپر تازه وارد یا جونیور، به یک دولوپر حرفه‌ای یا سینیور تبدیل شوید.چرا باید Roadmap داشته باشیم؟شما بدون داشتن roadmap ممکنه:به اشتباه فکر کنید که دیگه همه چیز بلدید صرفا چون مدتی‌ست که مطلب جدیدی نمی‌بینید!به صورت پراکنده مطالب رو یاد بگیرید. مثلا بعضی مباحث پیشرفته رو بلد باشید در حالی که از مباحث پایه‌ای اطلاعی ندارید.از مباحث به روز و جدید اطلاعی نداشته باشید. دنیای تکنولوژی هر روز داره تغییر می‌کنه و Roadmap ها هم باید به روز شونداولویت بندی مباحث رو ندونید. طبیعتا توی هر لحظه‌ای مجموعه‌ای از مباحث وجود داره که باید یاد بگیرید اما اینکه چه مطلبی اولویت داره رو ممکنه ندونید.پیشنهاد می‌کنم همیشه یک Roadmap برای خود داشته باشید. برای شروع می‌تونید از roadmap.sh کمک بگیرید که مجموعه‌ای از نقشه‌های راه برای حوزه‌های مختلف برنامه‌نویسی آماده کرده.نقشه‌ی راه تیم فرانت‌اند تپسل چگونه است؟در شرکت تپسل به همه‌ی افراد یک سطح از ۱ تا ۱۰ نسبت داده شده که شامل سطوح مختلف Junior، Middle و Senior است. فاکتورهای بسیاری برای تعیین سطح وجود داره که یکی از اون‌ها دانش فنی فرد هست که در هر حوزه (فرانت، بک و...) به صورت جداگانه مشخص شده است.به طور خاص در تیم فرانت، Roadmap شامل موارد زیر است:زبان‌های برنامه نویسی اصلی (HTML، CSS، JavaScript و TypeScript)اطلاعات کلی در مورد وب، امنیت وب و Policy های آنفریم‌ورک‌هایی که با آن‌ها کار می‌کنیم (در حال حاضر Angular، React و Svelte)دانش UI/UX و Accessibilityابزارهایی که با آنها کار می‌کنیم (Git، ESLint، Webpack و...)برای اینکه بهتر بتونیم این موارد در Roadmap مون نمایش بدیم، ابتدا کل مباحث قابل یادگیری در هر یک از این تکنولوژی‌ها رو به ۵ سطح تقسیم کردیم. به طور مثال در عکس زیر سطح‌های اول و دوم مربوط به فریم ورک Angular رو مشاهده می‌کنید.بخشی از Roadmap انگولارهمونطور که ‌می‌بینید هر سطح شامل تعدادی کلیدواژه هست. مثلا در سطح ۲ انتظار می‌ره که دولوپر مباحث Routing رو در انگولار بلد باشه. برای یادگیری این مباحث، لینک‌ها و مطالبی در آرشیو مون داریم که کمک خواهند کرد. این آرشیو به تفکیک سطح و تکنولوژی در اختیار همه قرار می‌گیره. توضیحات بیشتر در مورد این آرشیو رو در مطلب جلسات هفتگی سایلنت بخونید.بخشی از آرشیو مطالب در حوزه‌ی Angularبا در کنار هم گذاشتن تمام این موارد یک Roadmap کامل آماده شده که به اعضای تیم کمک می‌کنه همواره سطح خودشون رو بدونن و بتونن یادگیری بهتری داشته باشن.بخشی از جدول سطوح Roadmapالبته به جز مهارت‌های فنی، موارد دیگری هست که فقط مخصوص فرانت نیست. مانند:کیفیت و تمیزی کد و تمایل به Refactoringمهارت‌های Communication و Mentoring و Leadershipمهارت‌های Creation و Problem Solving و Innovation: اینکه بتونید مشکلات کمتر دیده شده رو پیدا کنید و تحقیق کنید و ایده بزنید برای حل مسائلی که حتی ممکنه کسی متوجه شون نشده باشه.این مهارت‌ها قابل اندازه گیری نیستند و معمولا به اسم Soft skill ازشون نام برده می‌شه.چطور می‌فهمیم هر کسی در چه سطحی هست؟این مسئله شاید در نگاه اول ساده به نظر برسه اما پیچیدگی‌های زیادی داره. مخصوصا اینکه به راحتی ممکنه سلیقه‌ای پیش بره و هر کسی نظر متفاوتی داشته باشه.به طور کلی می‌تونیم این مسئله رو به دو بخش تقسیم کنیم:تعیین سطح افراد در هنگام استخدام و جذب. برای این مسئله، در زمان مصاحبه یک تخمین سطح کلی داریم و بعد از استخدام در بازه‌ی آزمایشی مجددا ارزیابی دقیق‌تری انجام داده و در صورت نیاز سطح تخمین زده شده رو اصلاح می‌کنیم.ارتقای سطح اعضای کنونی. قبلا در مطلب روش‌های یادگیری مداوم، در مورد فعالیت‌هایی که به ارتقای افراد کمک می‌کند صحبت کردیم. اما حالا مسئله اینه که چطور بفهمیم افراد ارتقا داشته‌اند یا نه. برای این موضوع در طول سال هر فرد چند بار فرصت دارد درخواست بررسی سطح و ارتقا ارسال کند. این فرایند کمک می‌کنه تا همیشه افراد مورد ارزیابی قرار بگیرن.جمع بندیمهم نیست کجا کار می‌کنید یا شغل تون چیه، همیشه باید یک Roadmap توی ذهن تون داشته باشید برای آینده‌ی شغلی خودتون. در غیر این صورت کم کم یادگیری توی کار شما کم رنگ خواهد شد و در نتیجه کار برای شما تکراری خواهد شد. در انتخاب نقشه‌ی راه، از افراد با تجربه کمک بگیرید و با مطالعه‌ی منظم و روزانه، از مباحث جدید مطلع شوید.