این پاسخ رو دارم مبتنی بر بهترین مقاله ای که در این حوزه منتشر شده براتون مینویسم. مقاله ای که میگه چطور میتونیم در یک زبان برنامه نویسی مستر بشیم؛ با عنوان Six Steps to Learn and Master a Programming Language
چطور میتونم در یک زبان برنامه نویسی مسلط بشم؟
برای اینکه بتونیم در یک زبان برنامه نویسی خیلی خوب پیشرفت بکنیم و حرفه ای بشیم؛ این 6 مرحله رو باید طی بکنیم:
1. انتخاب یک زبان برنامه نویسی مبتنی بر نیازی که دارید
همونطور که میدونید، صدها زبان برنامه نویسی مطرح در حال حاضر موجود هست و هر کدوم به منظور خاصی طراحی شده. اگه شما بتونید زبانی رو که دقیقا مناسب نیازتون هست انتخاب کنید، در اون صورت تایم زیادی رو براش میگذارید و چون به رفع نیازتون کمک میکنه کاملا روش متمرکز میشید و خیلی خوب درش رشد میکنید.
2. شفاف سازی کلیات و ساختار اصلی زبان برنامه نویسی
بعد از انتخاب زبان برنامه نویسی که قصد دارید یادش بگیرید، باید کلیات و ساختارش رو لیست کنید در یک مقیاس high level و سعی کنید که تو ذهنتون باشه که دقیقا قابلیت ها، مزایا و معایب، سینتکس و ... اون زبان به چه صورت هست.
3. حرکت کردن از سطح پایه به سمت سطح پیشرفته در زبان برنامه نویسی
الان وقت این رسیده که از کلیات عبور کنید کنید و توی جزئیات ریز بشید. سعی کنید best practices ها رو برای اون زبان پیدا کنید. روش و ابزارهای دیباگینگ، فرمت کردن کد هایی که مینویسید، نوشتن و خوندن لاگ ها به طور کلی و در قالب چارت ها برای بررسی از بیرون، مدل و ساختار استفاده زبان از منابع سخت افزاری و روش های بهینه سازی، دسترسی ها و لایه ارتباطی و پردازشی اون زبان.
4. تمرین، تمرین، و باز هم تمرین
چیزی که در این مرحله بهش نیاز دارید، تمرین خیلی زیاد هست، به قدری که کاملا به ساختار و سینتکس مسلط بشید و اصطلاحا دستتون روی کد بخوابه. سعی کنید یک مورد رو از چندین روش مختلف پیاده سازی بکنید و بنچمارک بزنید که عملکرد هر کدومش رو به صورت جداگونه بررسی کنید.
5. شروع به ساختن یک پروژه کنید
الان شما یک زبان رو انتخاب کردید و کلی باهاش کار کردید، نکات خیلی زیادی ازش یاد گرفتید و آماده ساختارمند کردن دانشتون هست و نیاز دارید که از نظر عملیاتی (و حتی ساختن رزومتون) به یک مرحله رو به جلو پیش برید و یک پروژه مشخص و تعریف شده رو پیاده سازی بکنید.
در این مرحله یک مقدار نیاز به برنامه ریزی ضمنی هم دارید. باید در ابتدا یک پروژه رو تعریف کنید، اون رو فازبندی بکنید و براش زمان بندی و برنامه ریزی بکنید. نیازمندی ها و وابستگی های فنیش رو مشخص کنید و برید سراغ اجراش. خیلی مهمه که بتونید یک پروژه رو از 0 تا 100 پیش ببرید و طی این مسیر نکات خیلی زیادی به صورت عملیاتی دستتون میاد و باعث حرفه ای شدنتون میشه. از init کردن پروژه گرفته تا لانچ اون روی سرور production یک مسیر طولانی و پر فراز نشیب هست که فراخور پیشرفته بودن پروژه تعریف شده، شما رو واقعا به کلیات مسلط میکنه.
6. دانش خودتون رو با بقیه به اشتراک بگذارید
تا به اینجا، شما روی مهارت های خودتون کار کردید، بعد از مرحله 5، به یک برنامه نویسی با تجربه و همراه با دانش زیادی تبدیل شدید که میتونه از کارفرما پروژه بگیره و انجام بده، یا برای استخدام شدن در شرکت ها اپلای کنه.
نکته ای که در این قسمت حائز اهمیت هست، اشتراک گذاری و کمک به دیگران هست موقع دیباگ کردن. کامیونیتی های پرسش و پاسخ تخصصی مثل سایت stackoverflow به شما کمک میکنه تا علاوه بر به اشتراک گذاری دانشتون، مهارت ها و تسلط خودتون رو به شدت افزایش بدید. هروقت که شما به یک تکه کد نگاه میکنید و سعی میکنید که اون رو دیباگ کنید، توی ذهنتون به صورت ناخودآگاه یک سری موارد دیگه رو تصور میکنید و سعی میکنید حدس بزنید که پروسه به چه شکلی بوده که الان این ارور رو داره خروجی میده. این تمرین و تکرار خیلی به تسلط شما کمک میکنه.
همچنین باید بگم که هر وقت شما یک مبحث رو برای کسی توضیح میدید، یک مرحله به مسلط شدن خودتون در اون مبحث جلوتر میرید.