مقاله

مسیر واقعی یادگیری فول‌استک در ایران: HTML تا Laravel، پروژه‌های تمرینی، رزومه، حقوق و آمادگی مصاحبه — بر اساس ۷+ سال تجربه در تیم‌ها و پروژه‌های فریلنس.

رودمپ یادگیری برنامه‌نویسی وب از صفر تا استخدام — نقشه راه ۱۴۰۵

رودمپ یادگیری برنامه‌نویسی وب از صفر تا استخدام — نقشه راه ۱۴۰۵

هر هفته چند پیام می‌گیرم: «از کجا شروع کنم؟»، «چند ماه طول می‌کشد تا استخدام شوم؟»، «Laravel بخوانم یا React؟». جواب کوتاه این است که مسیر خطی وجود ندارد؛ اما یک ترتیب منطقی هست که در بازار کار ایران — به‌خصوص برای پروژه‌های شرکتی، فروشگاهی و API — بیشترین بازده را دارد. این مقاله همان نقشه‌ای است که اگر امروز از صفر شروع می‌کردم، برای خودم می‌کشیدم؛ با زمان‌بندی واقع‌بینانه، نه وعده «سه ماهه فول‌استک شو».

چرا رودمپ شخصی‌سازی‌شده از لیست دوره‌های پراکنده مهم‌تر است؟

گوگل و کارفرماها به دنبال شواهد مهارت هستند: ریپازیتوری Git، پروژه deploy شده، توانایی توضیح تصمیم‌های فنی. رودمپ خوب فقط نام فریم‌ورک نیست؛ پل بین مفاهیم پایه، پروژه‌های قابل نمایش و نیاز بازار است. در ایران بسیاری از موقعیت‌های فول‌استک mid-level هنوز روی PHP/Laravel، MySQL، REST API و یک لایه فرانت (Vue، Livewire یا jQuery در سیستم‌های قدیمی) متمرکز است — قبل از عمیق شدن در ده فریم‌ورک JS، این واقعیت را در نظر بگیرید.

فاز صفر — آماده‌سازی ذهنی و ابزار (هفته ۱)

انگلیسی فنی را جدی بگیرید: مستندات Laravel، خطاهای Stack Overflow و RFCهای PHP عمدتاً انگلیسی‌اند. روزی ۳۰ دقیقه کافی است. VS Code یا PhpStorm نصب کنید، Git را نصب کنید، یک دفترچه (Notion یا Obsidian) برای یادداشت خطاها و الگوها داشته باشید.

محیط توسعه: اگر ویندوز دارید، نصب Laravel با XAMPP نقطه شروع مناسبی است. اگر لینوکس یا macOS دارید، Laravel Herd یا Sail گزینه‌های تمیزتری هستند.

فاز یک — پایه‌های وب (هفته ۲ تا ۸)

HTML5 و معناشناسی

نه فقط div؛ تگ‌های semantic مثل header، nav، main، article، footer را یاد بگیرید. فرم‌ها، label، accessibility پایه (alt تصویر، tabindex). خروجی: یک صفحه رزومه استاتیک با ساختار معتبر HTML.

CSS3 و Responsive

Box model، Flexbox، Grid، media query. یکی از Bootstrap 5 یا Tailwind را انتخاب کنید — برای سرعت در پروژه‌های واقعی Bootstrap هنوز در پروژه‌های شرکتی ایران زیاد دیده می‌شود؛ Tailwind در استارتاپ‌ها و پروژه‌های جدیدتر. خروجی: همان صفحه رزومه را موبایل‌فرندلی کنید.

JavaScript مدرن

متغیرها (let/const)، توابع، آرایه و object، async/await، fetch API، DOM manipulation پایه. TypeScript را فعلاً اختیاری بگذارید مگر پروژه‌تان بخواهد. خروجی: فرم تماس با validation سمت کلاینت و ارسال mock به JSONPlaceholder.

اشتباه رایج: ماه‌ها روی CSS انیمیشن بدون نوشتن یک خط JS. تعادل لازم است.

فاز دو — Backend و PHP (هفته ۹ تا ۲۰)

PHP 8 بدون فریم‌ورک

سینتکس، آرایه‌ها، توابع، OOP (کلاس، interface، trait)، namespace، Composer، autoload PSR-4. یک CRUD ساده با PDO و MySQL بسازید — بدون Laravel. این کار درک request/response و SQL را عمیق می‌کند.

MySQL عملی

CREATE TABLE، JOIN، INDEX، EXPLAIN ساده، transaction. طراحی جدول برای «مقالات وبلاگ» یا «محصولات فروشگاه» را خودتان انجام دهید.

Laravel 12

ترتیب پیشنهادی داخل Laravel:

  • Routing، Controller، Blade
  • Migration، Model، Eloquent روابط
  • Validation (Form Request)
  • Authentication (Breeze)
  • API Resource + Sanctum
  • Queue و Mail
  • Testing با Pest

خروجی فاز دو: وبلاگ شخصی یا سیستم مدیریت محتوای ساده با نقش admin/user، deploy روی هاست اشتراکی یا VPS.

فاز سه — فول‌استک و مهارت‌های شغلی (هفته ۲۱ تا ۳۶)

Git و GitHub

commit، branch، merge، pull request، resolve conflict. مقاله آموزش Git برای برنامه‌نویس‌ها را همزمان بخوانید. هر پروژه روی GitHub public باشد مگر NDA.

REST API و یکپارچه‌سازی

طراحی endpoint، status code، pagination، error handling یکدست. یک API برای اپ موبایل فرضی بسازید و با Postman تست کنید.

فرانت در کنار Laravel

یکی را عمیق کنید: Livewire (سریع‌ترین مسیر برای monolith) یا Vue/Inertia (تجربه SPA-like). مقایسه در یکپارچه‌سازی Vue با Laravel.

DevOps سبک

SSH، Nginx یا Apache basic، deploy با Git pull، SSL با Certbot، env production. Docker را در سطح docker-compose برای Laravel بشناسید.

پروژه‌هایی که در رزومه اثر می‌گذارند

به‌جای todo list بی‌نهایت:

  • وبلاگ فنی با SEO و دسته‌بندی (همین نوع پروژه)
  • فروشگاه کوچک با سبد، درگاه تست، پنل ادمین
  • API عمومی با مستندات و rate limit
  • سیستم رزرو یا تیکت با نقش‌های کاربری

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

زمان‌بندی واقع‌بینانه

با ۱۵–۲۰ ساعت مطالعه و کد در هفته: حدود ۹ تا ۱۲ ماه تا سطح junior قابل استخدام برای Laravel در ایران. با ۴۰ ساعت (bootcamp style): ۶ تا ۸ ماه. کیفیت تمرین مهم‌تر از ساعت خام است.

بازار کار ایران ۱۴۰۵ — انتظارات کارفرما

آگهی‌های mid-level اغلب می‌خواهند: Laravel 2+ سال، MySQL، Git، API، آشنایی فرانت، تجربه پروژه واقعی. حقوق بسته به شهر و remote متفاوت است؛ مقاله جداگانه حقوق ۱۴۰۵ در تقویم انتشار است. برای فریلنس، پورتفولیو و ارتباط مهم‌تر از مدرک است.

اشتباهات مرگبار مبتدیان

آموزش بدون پروژه. پرش بین ده منبع. نادیده گرفتن امنیت و validation. کپی‌پیست بدون فهم. ننوشتن تست حتی ساده. نداشتن حضور آنلاین (GitHub، LinkedIn، وبلاگ فنی).

منابع معتبر (رایگان و پولی)

مستندات رسمی Laravel و PHP، Laracasts (پولی، ارزشمند)، MDN برای JS. از دوره‌های فارسی بی‌کیفیت که فقط ویدیو ضبط کرده‌اند بدون تمرین عملی دوری کنید.

معماری و کیفیت کد از همان وسط مسیر

وقتی به CRUDهای بزرگ رسیدید، معماری لایه‌ای و اصول Laravel در پروژه واقعی را اعمال کنید. بعداً بهینه‌سازی کوئری و چک‌لیست قبل از انتشار.

برنامه هفتگی نمونه — ۱۶ هفته اول

هفته ۱–۲: HTML/CSS، یک صفحه استاتیک. هفته ۳–۴: JS پایه + DOM. هفته ۵–۶: PHP سینتکس + PDO CRUD. هفته ۷–۸: نصب Laravel و routing. هفته ۹–۱۰: Eloquent و migration. هفته ۱۱–۱۲: auth و validation. هفته ۱۳–۱۴: API ساده. هفته ۱۵–۱۶: deploy روی VPS یا هاست.

این برنامه فشرده است؛ اگر هفته‌ای ۱۰ ساعت وقت دارید، هر بلوک را دو برابر کنید.

مصاحبه فنی — چه انتظاری داشته باشید

Junior Laravel در ایران اغلب سوال می‌گیرد: تفاوت hasMany و belongsTo، lifecycle request در Laravel، نحوه جلوگیری از N+1، تفاوت @csrf و API token، و یک تمرین کد ساده (مثلاً فیلتر لیست). جواب‌های حفظی کمتر از توضیح تجربه پروژه ارزش دارد — «در پروژه فروشگاهی order را با relation به user لود کردم تا…»

ساخت پورتفولیو که convert می‌کند

وب‌سایت شخصی روی دامنه خودتان (مثل همین پورتفولیو) بهتر از PDF است. بخش‌های: درباره، مهارت، ۳ پروژه با لینک GitHub و دمو، وبلاگ فنی (حتی ماهی ۲ مقاله)، تماس واضح. در مقاله بعدی «چطور پورتفولیو بسازیم» جزئیات بیشتر می‌آید.

جمع‌بندی

رودمپ موفق = پایه وب محکم + PHP/Laravel عمیق + Git + یک پروژه deploy شده + مستندسازی.public. هر هفته قابل اندازه‌گیری باشد: یا فیچر جدید، یا باگ حل‌شده، یا مقاله فنی که یاد گرفته‌اید را توضیح دهید. اگر می‌خواهید مسیر را برای پروژه کسب‌وکار خودتان کوتاه‌تر کنید، مشاوره فنی بگیرید.