ویرگول
ورودثبت نام
Aydope
AydopeJunior Python & MERN Stack Developer
Aydope
Aydope
خواندن ۳ دقیقه·۷ روز پیش

رودمپ یادگیری بک‌اند؛ اگر بخوام دوباره از صفر شروع کنم

یکی از سوال‌هایی که خیلی پرسیده میشه اینه که برای بک‌اند از کجا شروع کنیم و چه مسیری رو بریم که وسط راه گم نشیم؟

واقعیت اینه که خیلی از افراد از همون اول میرن سراغ فریم‌ورک‌ها، دوره‌های پیشرفته و تکنولوژی‌های ترند؛ اما بعد از چند ماه می‌بینن هنوز نمی‌تونن حتی یک پروژه کامل بسازن.

اگر بخوام امروز دوباره از صفر شروع کنم، مسیرم تقریباً این شکلی میشه:

  1. اول برنامه‌نویسی، نه فریم‌ورک

قبل از هر چیزی یک زبان انتخاب کنید. مهم نیست Python باشه یا JavaScript یا Java.

اشتباهی که خیلی‌ها انجام میدن اینه که سریع میرن سراغ Django یا NestJS بدون اینکه هنوز منطق برنامه‌نویسی رو خوب بلد باشن.

اول یاد بگیرید:

  • شرط‌ها

  • حلقه‌ها

  • توابع

  • ساختمان داده‌ها

  • شی‌گرایی

  • مدیریت خطاها

تا وقتی نتونستید چند پروژه ساده مثل ماشین حساب، مدیریت دانشجو یا To-Do List بسازید، عجله‌ای برای رفتن به مرحله بعد نداشته باشید.


  1. Git رو از روز اول یاد بگیرید

یکی از چیزهایی که کاش خیلی زودتر یاد می‌گرفتم Git بود.

خیلی از افراد چند ماه کدنویسی می‌کنن ولی هنوز نمی‌دونن Commit یا Branch چیه.

در حالی که تقریباً هیچ تیم حرفه‌ای بدون Git کار نمی‌کنه.

حتی اگر تنها هستید، پروژه‌هاتون رو روی GitHub منتشر کنید و عادت کنید تغییراتتون رو مدیریت کنید.


  1. با Linux دوست بشید

دیر یا زود پروژه شما روی یک سرور لینوکسی اجرا میشه.

پس بهتره از همین الان کم‌کم با محیط لینوکس آشنا بشید.

لازم نیست متخصص لینوکس بشید؛ فقط یاد بگیرید:

  • چطور فایل‌ها رو مدیریت کنید

  • چطور نرم‌افزار نصب کنید

  • چطور با SSH به سرور وصل بشید

همین‌ها در شروع کار کافیه.


  1. بفهمید اینترنت چطور کار می‌کنه

یکی از تفاوت‌های یک بک‌اند دولوپر خوب با بقیه اینه که فقط کد نمی‌زنه؛ می‌فهمه پشت صحنه چه اتفاقی میفته.

یاد بگیرید:

  • HTTP چیه؟

  • HTTPS چطور کار می‌کنه؟

  • DNS چیه؟

  • Cookie و Session چه فرقی دارن؟

  • وقتی یک سایت رو باز می‌کنیم چه اتفاقی میفته؟

این مفاهیم شاید جذاب به نظر نرسن، اما بعدها خیلی به کارتون میان.


  1. SQL رو جدی بگیرید

اگر از من بپرسید مهم‌ترین مهارت یک بک‌اند دولوپر چیه، احتمالاً دیتابیس جزو سه گزینه اول خواهد بود.

بیشتر تازه‌کارها روی فریم‌ورک‌ها تمرکز می‌کنن اما روی SQL وقت کافی نمی‌ذارن.

یاد بگیرید:

  • SELECT

  • JOIN

  • GROUP BY

  • Index

  • Relationship

هرچقدر SQL شما قوی‌تر باشه، در پروژه‌های واقعی راحت‌تر خواهید بود.


  1. بعدش سراغ Framework برید

حالا وقتشه که ابزارهای حرفه‌ای‌تر رو یاد بگیرید.

مثلاً:

  • Python ( Django, FastAPI )

  • JavaScript ( Express, NestJS )

هدف این مرحله ساخت پروژه‌های واقعی هست، نه فقط دیدن آموزش.


  1. یاد بگیرید API بسازید

تقریباً تمام بک‌اند مدرن حول API می‌چرخه.

باید بدونید:

  • GET

  • POST

  • PUT

  • DELETE

  • JSON

  • Status Code

و مهم‌تر از همه اینکه چطور یک API تمیز و قابل توسعه طراحی کنید.


  1. امنیت رو دست‌کم نگیرید

یکی از اشتباهات رایج اینه که افراد امنیت رو می‌ذارن برای بعد.

در حالی که از همون پروژه‌های اول باید با مفاهیمی مثل:

  • JWT

  • Hash Password

  • Authentication

  • Authorization

آشنا باشید.


  1. Docker؛ ابزاری که زندگی شما رو راحت‌تر می‌کنه

شاید اولش عجیب به نظر برسه، اما وقتی Docker رو یاد بگیرید متوجه میشید چقدر در استقرار و اجرای پروژه‌ها کمک می‌کنه.

امروزه در خیلی از شرکت‌ها دانستن Docker یک امتیاز نیست؛ یک انتظار معمولیه.


  1. از اینجا به بعد وارد دنیای حرفه‌ای می‌شید

بعد از ساخت چند پروژه واقعی کم‌کم سراغ این مباحث برید:

  • Redis

  • Caching

  • RabbitMQ

  • Kafka

  • CI/CD

  • Clean Architecture

  • Microservices

  • Cloud

اینجاست که تفاوت بین یک جونیور و یک توسعه‌دهنده باتجربه مشخص میشه.


برای استخدام روی چه چیزهایی تمرکز کنیم؟

اگر این موارد رو خوب بلد باشید:

  • Git

  • Linux

  • SQL

  • Framework

  • REST API

  • JWT

  • Docker

برای خیلی از موقعیت‌های Junior آماده هستید.


نکته آخر

بزرگ‌ترین اشتباهی که می‌بینم اینه که افراد پشت سر هم دوره می‌بینن اما پروژه نمی‌سازن.

برای هر چیزی که یاد می‌گیرید، یک پروژه بسازید.

یک API بنویسید.

یک فروشگاه ساده بسازید.

یک سیستم وبلاگ پیاده‌سازی کنید.

یادگیری واقعی زمانی اتفاق میفته که با خطاها، باگ‌ها و چالش‌های واقعی درگیر بشید.

دوره دیدن شما رو برنامه‌نویس نمی‌کنه؛ ساختن پروژه می‌کنه.

شروع کارپروژه
۱
۰
Aydope
Aydope
Junior Python & MERN Stack Developer
شاید از این پست‌ها خوشتان بیاید