یکی از سوالهایی که خیلی پرسیده میشه اینه که برای بکاند از کجا شروع کنیم و چه مسیری رو بریم که وسط راه گم نشیم؟
واقعیت اینه که خیلی از افراد از همون اول میرن سراغ فریمورکها، دورههای پیشرفته و تکنولوژیهای ترند؛ اما بعد از چند ماه میبینن هنوز نمیتونن حتی یک پروژه کامل بسازن.
اول برنامهنویسی، نه فریمورک
قبل از هر چیزی یک زبان انتخاب کنید. مهم نیست Python باشه یا JavaScript یا Java.
اشتباهی که خیلیها انجام میدن اینه که سریع میرن سراغ Django یا NestJS بدون اینکه هنوز منطق برنامهنویسی رو خوب بلد باشن.
اول یاد بگیرید:
شرطها
حلقهها
توابع
ساختمان دادهها
شیگرایی
مدیریت خطاها
تا وقتی نتونستید چند پروژه ساده مثل ماشین حساب، مدیریت دانشجو یا To-Do List بسازید، عجلهای برای رفتن به مرحله بعد نداشته باشید.
Git رو از روز اول یاد بگیرید
یکی از چیزهایی که کاش خیلی زودتر یاد میگرفتم Git بود.
خیلی از افراد چند ماه کدنویسی میکنن ولی هنوز نمیدونن Commit یا Branch چیه.
در حالی که تقریباً هیچ تیم حرفهای بدون Git کار نمیکنه.
حتی اگر تنها هستید، پروژههاتون رو روی GitHub منتشر کنید و عادت کنید تغییراتتون رو مدیریت کنید.
با Linux دوست بشید
دیر یا زود پروژه شما روی یک سرور لینوکسی اجرا میشه.
پس بهتره از همین الان کمکم با محیط لینوکس آشنا بشید.
لازم نیست متخصص لینوکس بشید؛ فقط یاد بگیرید:
چطور فایلها رو مدیریت کنید
چطور نرمافزار نصب کنید
چطور با SSH به سرور وصل بشید
همینها در شروع کار کافیه.
بفهمید اینترنت چطور کار میکنه
یکی از تفاوتهای یک بکاند دولوپر خوب با بقیه اینه که فقط کد نمیزنه؛ میفهمه پشت صحنه چه اتفاقی میفته.
یاد بگیرید:
HTTP چیه؟
HTTPS چطور کار میکنه؟
DNS چیه؟
Cookie و Session چه فرقی دارن؟
وقتی یک سایت رو باز میکنیم چه اتفاقی میفته؟
این مفاهیم شاید جذاب به نظر نرسن، اما بعدها خیلی به کارتون میان.
SQL رو جدی بگیرید
اگر از من بپرسید مهمترین مهارت یک بکاند دولوپر چیه، احتمالاً دیتابیس جزو سه گزینه اول خواهد بود.
بیشتر تازهکارها روی فریمورکها تمرکز میکنن اما روی SQL وقت کافی نمیذارن.
یاد بگیرید:
SELECT
JOIN
GROUP BY
Index
Relationship
هرچقدر SQL شما قویتر باشه، در پروژههای واقعی راحتتر خواهید بود.
بعدش سراغ Framework برید
حالا وقتشه که ابزارهای حرفهایتر رو یاد بگیرید.
مثلاً:
Python ( Django, FastAPI )
JavaScript ( Express, NestJS )
هدف این مرحله ساخت پروژههای واقعی هست، نه فقط دیدن آموزش.
یاد بگیرید API بسازید
تقریباً تمام بکاند مدرن حول API میچرخه.
باید بدونید:
GET
POST
PUT
DELETE
JSON
Status Code
و مهمتر از همه اینکه چطور یک API تمیز و قابل توسعه طراحی کنید.
امنیت رو دستکم نگیرید
یکی از اشتباهات رایج اینه که افراد امنیت رو میذارن برای بعد.
در حالی که از همون پروژههای اول باید با مفاهیمی مثل:
JWT
Hash Password
Authentication
Authorization
آشنا باشید.
Docker؛ ابزاری که زندگی شما رو راحتتر میکنه
شاید اولش عجیب به نظر برسه، اما وقتی Docker رو یاد بگیرید متوجه میشید چقدر در استقرار و اجرای پروژهها کمک میکنه.
امروزه در خیلی از شرکتها دانستن Docker یک امتیاز نیست؛ یک انتظار معمولیه.
از اینجا به بعد وارد دنیای حرفهای میشید
بعد از ساخت چند پروژه واقعی کمکم سراغ این مباحث برید:
Redis
Caching
RabbitMQ
Kafka
CI/CD
Clean Architecture
Microservices
Cloud
اینجاست که تفاوت بین یک جونیور و یک توسعهدهنده باتجربه مشخص میشه.
اگر این موارد رو خوب بلد باشید:
Git
Linux
SQL
Framework
REST API
JWT
Docker
برای خیلی از موقعیتهای Junior آماده هستید.
بزرگترین اشتباهی که میبینم اینه که افراد پشت سر هم دوره میبینن اما پروژه نمیسازن.
برای هر چیزی که یاد میگیرید، یک پروژه بسازید.
یک API بنویسید.
یک فروشگاه ساده بسازید.
یک سیستم وبلاگ پیادهسازی کنید.
یادگیری واقعی زمانی اتفاق میفته که با خطاها، باگها و چالشهای واقعی درگیر بشید.
دوره دیدن شما رو برنامهنویس نمیکنه؛ ساختن پروژه میکنه.