۱۲ قانون ساده برای یادگیری یک زبان کدنویسی (بخش۱)

چند وقتی بود تصمیم گرفتم یک زبان برنامه نویسی جدید یاد بگیرم. در وبسایت هایی که دوره‌های آنلاین برنامه‌نویسی دارند گشت زدم، چند تایی را انتخاب کردم و از بین اونها یکی را که بنظرم محتوای بهتری داشت را شروع کردم. دو سه ماه بعد من چیزی یاد نگرفته بودم! چرا؟ چون زمانی برای وقت گذاشتن برای یادگیری نداشتم و حتی زمانهایی که صرف می‌کردم چیزی در من تغییر نمی‌کرد. مفاهیم گنگ یا سنگین بود. با بیشتر شدن سن نه تنها احساس میکنم قدرت یادگیری کم میشود بلکه چالش‌های دیگری هم این یادگیری را تضعیف میکنند.شاید زمان، شاید دغدغه‌های روزمره و ...این احساس ناامیدی در من بود تا اینکه با یک دوره‌ی دیگر یکی از وبسایت‌ها روبرو شدم، قبل از شروع دوره یک فایل pdf بود با عنوان "۱۲قانون ساده برای یادگیری کدنویسی"، که کمک بزرگی برای من کرد تا بتونم به یادگیری ادامه بدم. در ادامه سعی میکنم در ۱۲ پست، مختصری از مطالبش رو با شما به اشتراک بگذارم.این سری نوشتار ترجمه ای کاربردی از 12 Simple Rules for Learning to Code Dr. Angela YuHead of iOS Course Development at London App Brewery www.londonappbrewery.com میباشد.بخش ۱ . مغزتون رو با قانون ۲۰دقیقه‌ای گول بزنیدیادگیری کدنویسی چیزی شبیه به رفتن به باشگاه هست. حتی اگر زیاده روی کنید و کل آخر هفته رو در باشگاه باشید، تغییر قابل محسوسی در بدن خودتون حس نمی کنید. در عوض هر چقدر منظم‌تر کدنویسی رو یاد بگیرید، بیشتر احساس میکنید که عضله‌های کدنویسی‌تون! داره خودش رو نشون میده!اما مشکل از جایی شروع میشه که ما این زمان رو از کجا پیدا کنیم؟ ما بین کار کردن‌های تمام وقت، بودن کنار خانواده و دوستان و یا رسیدگی روزمرگی های زندگی؟ واقعا کی برای اینکه بشینیم و تمرین کدنویسی روازنه رو انجام بدیم؟زمانی که من به عنوان پزشک فعالیت می‌کردم، روزانه ۱۲ ساعت را در بیمارستان بودم، ۱ ساعت رفت‌وآمد و تقریبا ۲ ساعت روزمرگی‌هایی مثل غذا خوردن و ... . خب پس فقط ۹ ساعت از روز باقی مانده است. به صورت تئوری می‌توان گفت ۲ ساعت برای یادگیری کدنویسی و ۷ ساعت برای خواب کنار گذاشت. اما هیچ چیزی سخت‌تر از این نیست یک مغز اشباع شده از کار روزانه رو قانع کنید که بعد از یک روز تمام بتونه روی یادگیری کدنویسی تمرکز کنه وقتی به جای اون میشه سریال مورد علاقه‌تون رو با یک کاسه بستنی ببینید.اما من یک راهکار پیدا کردم!به عنوان انسان، ما نیز خاصیت اینرسی بسیار زیادی داریم و در مقابل تغییرات مقاومت خواهیم داشت و خب این خاصیت خوبی نیست و هر طور شده باید این مورد را به مزیتی برای خود تبدیل کنیم. من این رو وقتی فهمیدم که شروع به کدنویسی و ساختن پروژه ای کردم،‌ به قدری در پروژه غرق شدم که اهمیتی به برنامه‌های تلویزیون، غذاخوردن و خواب نمی‌کردم. حتی آخر هفته‌ها تا صبح کدنویسی رو ادامه میدادم.خب چطور این قدرت را خاصیت اینرسی خود بیرون بکشیم؟ اولین نکته، باید توجه کنید که سوئیچ کردن بین کارها کار آسانی نیست و یا به عبارتی حتی خیلی سخت هم هست و نیاز به انگیزه بالایی دارد.اگر به محض اینکه خانه می‌رسید، روی کاناپه لم بدید و تلویزیون رو روشن کنید، مطمین باشید شما اون روز رو از دست دادید،‌ دلیل این مورد هم این هست که واقعا انگیزه‌ی خیلی بالایی نیاز هست برای دست کشیدن از کارهایی که با نیازهای اولیه انسان مربوط هست مانند غذاخوردن، استراحت کردن و خوابیدن میشه... . لحظه‌ای که از در وارد میشید و محیط‌تون رو تغییر می‌دهید مهمترین لحظه است. اگر در همین لحظه به خودتون بگید که به مدت فقط ۲۰ دقیقه قرار هست که کدنویسی کنید،‌شما به احتمال زیاد موفق می‌شوید و اینرسی خودتون رو صرف یادکیری به مدت یک‌ساعت یا بیشتر میکنید. هیچ مغزی ۲۰ دقیقه را زمان زیادی برای تلاش تصور نمی‌کند و شما در نهایت مغز خودتون رو گول زدید تا از روزتون به بهترین شکل استفاده کنید.قدم بعدی، به وجود آوردن یک عادت است. تحقیقات نشان داده‌اند که برای شکل گرفتن یک عادت، شما باید کاری رو هر روز به مدت یکماه انجام بدید. من این روش رو برای چیزهای زیادی استفاده کردم از ورزش گرفته تا کدنویسی و این روش بدون استثنا مثل یک جادو عمل کرده است.برای شروع کار من از شما میخواهم یک دیوار با ۵ نقاشی روی آن را تصور کنید. چهار تا از نقاشی‌ها کاملا صاف روی دیوار هستند اما یکی از آنها کج شده است. حالا واقعا آن را تصویر کنید، آیا بخشی از شما می‌خواهد که آن را درست کند؟حالا بیایید یک تقویم ماهیانه تصور کنیم با باکس‌های که نشان‌دهنده‌ی روزهای ماه هستند. اگر شما آن عادت جدید را روز خاصی انجام دادید،‌ یک خط روی آن روز بکشید. اگر شما این راه را روز بعد هم ادامه دادید،‌ خط را همانطور ادامه دهید. همیشه چیزی در مورد ادامه دادن و شکستن آن خط ممتد وجود دارد که به افراد این انگیزه را میدهد تا عادت را ادامه دهند (ترک نکنند). یا اینکه عجیب به نظر می‌رسد، دفعات متعددی پیش آمده است که من خواسته‌ام تسلیم شوم ولی مجبور شده‌ام ادامه دهم به خاطر یک خط طولانی و ممتد.این چالش را با یک تقویم خطی امتحان کنید.مطالعه کنید :‌ بخش ۲ . برای هدفی کدنویسی کنید. یک پروژه تعریف شده داشته باشید.پ.ن: ایرادات نگارشی ممکن است در نوشتار باشد که لطفا اگر مشاهده کردید گوشزد کنید تا اصلاح کنم.پ.ن: همیشه با بحث و تبادل نظر راهکارهای خاصی میتوان یافت و از تجربیات یکدیگر بهره برد پس حتما نظر خودتون رو به اشتراک بگذارید.