پرش به مطلب اصلی

Backend

سلام!😊

یکی از مشکلات اساسی در فضای آکادمیک اینه که بیشتر دانشگاه‌ها فضایی برای یادگیری مهارت‌های عملی در پروژه‌های IT فراهم نمی‌کنن و تمرکزشون بیشتر روی مطالب تئوریه. اما دنیای واقعی فناوری اطلاعات نیاز به ترکیبی از دانش تئوری و مهارت‌های عملی داره. برای همین، تصمیم گرفتیم با کمک افراد حرفه‌ای در حوزه مهندسی نرم‌افزار، یه مسیر یادگیری طراحی کنیم که تو بتونی مهارت‌های لازم رو به صورت خودخوان کسب کنی و به رشد فردی و حرفه‌ای خودت کمک کنی.🚀

انتخاب زبان برنامه‌نویسی

اولین قدم، انتخاب زبان برنامه‌نویسیه. پیشنهاد ما زبان‌های OOP مثل Java یا #C هستن. این زبان‌ها به دلیل شیءگرایی و ساختارمند بودن، در پروژه‌های بزرگ و سازمانی استفاده می‌شن. یادگیری اصول برنامه‌نویسی با این زبان‌ها به شما کمک می‌کنه تا پایه‌ای قوی برای یادگیری زبان‌های دیگر و مفاهیم پیشرفته‌تر داشته باشین.

فاز اول: تسلط بر زبان Java یا #C 👨‍💻

برای شروع، می‌تونین با Java یا #C کار کنین. اگه تصمیم به یادگیری Java گرفتی و بعدا خواستی به #C مهاجرت کنی، اصلا جای نگرانی نیست؛ مفاهیم OOP و بسیاری از اصول برنامه‌نویسی در هر دو زبان مشترکن. فقط کافیه سینتکس‌ها و کتابخانه‌های مخصوص #C رو یاد بگیری که با تمرین و استفاده از منابع آموزشی مثل مستندات مایکروسافت به راحتی ممکنه.

منابع پیشنهادی:

جاواکاپ: مجموعه‌ای از ویدیوها و تمرین‌های آموزشی به زبان فارسی. ویدیوها رو ببین و تمرین‌ها رو انجام بده تا از میزان پیشرفتت مطمئن بشی.

جاواکاپ

برنامه‌نویسی پیشرفته شریف (AP شریف): این دوره شامل منابع متنوعیه که پایه و اساس دانش یک مهندس نرم‌افزار رو تشکیل می‌ده. تمرین‌ها و پروژه‌ها رو انجام بده و کیفیت کارت رو بررسی کن.

AP شریف

ثبت‌نام در دوره

توصیه ما 🌟

اول جاواکاپ رو ببین و تمرین‌هاش رو حل کن، بعدش برو سراغ AP شریف و تمرین‌ها و پروژه‌های اون رو انجام بده. برای دسترسی به تمرین‌های بیشتر می‌تونی از سایت کوئرا یا موارد مشابه کمک بگیری.

سایت‌های مشابه کوئرا:

برای ارزیابی کدها و بررسی میزان پیشرفت، علاوه بر کوئرا، می‌تونین از سایت‌های مشابهی مثل Codeforces، HackerRank، و LeetCode استفاده کنین. این سایت‌ها بستری عالی برای تمرین و ارزیابی مهارت‌های برنامه‌نویسی فراهم می‌کنن.

فاز دوم: ساختمان داده و الگوریتم‌ها 📚

ساختمان داده و الگوریتم‌ها یکی از مهم‌ترین بخش‌های برنامه‌نویسی هستن. تسلط بر این مفاهیم به شما کمک می‌کنه تا مسائل پیچیده رو بهینه‌تر و کارآمدتر حل کنین. برای شروع، می‌تونین از پلی‌لیست یوتیوب GeeksForGeeks استفاده کنین و سپس سوالات الگوریتمی مختلف رو حل کنین تا این مفاهیم به خوبی در ذهنتون جا بیفته.

پلی‌لیست GeeksForGeeks

تمرینات الگوریتمی کوئرا

فاز سوم: فریمورک‌ها و تکنولوژی‌های کاربردی 🔧

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

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

مستندات کارآموزی کداستار

ممکنه یه جاهایی نیاز به ویدیو پیدا کنی. برای این کار میتونی از یوتیوب و آپارات کداستار کمک بگیری.

آپارات کداستار

فاز چهارم: پروژه‌های عملی و همکاری در تیم‌ها 👥

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

فاز پنجم: یادگیری مستمر و به‌روز رسانی دانش 📖

دنیای فناوری اطلاعات دائما در حال تغییر و به‌روزرسانیه. برای موفقیت در این حوزه، باید همواره به‌روز باشی و مفاهیم جدید رو یاد بگیری. مطالعه مقالات، کتاب‌ها و دوره‌های آنلاین مرتبط و شرکت در کنفرانس‌ها و وبینارهای حوزه IT بسیار مهمه.

منابع پیشنهادی:

دوره‌های Coursera: این پلتفرم دوره‌های متنوعی در حوزه مهندسی نرم‌افزار ارائه می‌ده که می‌تونی ازشون استفاده کنی.

کتاب‌های مرجع: کتاب‌هایی مثل "Clean Code" نوشته Robert C. Martin و "Design Patterns" نوشته Erich Gamma و همکارانش می‌تونن منابع بسیار خوبی باشن.

کنفرانس‌ها و وبینارها: شرکت در این رویدادها باعث می‌شه با جدیدترین تکنولوژی‌ها و روش‌ها آشنا بشی.

سخن‌آخر 🎓

امیدواریم این نقشه راه بهت کمک کنه تا مهارت‌های ضروری در حوزه مهندسی نرم‌افزار رو کسب کنی و به رشد فردی و حرفه‌ای خودت برسی.

موفق باشی، تیم کداستار⭐