در دیباگولی ما سعی میکنیم از دغدغهها حرف بزنیم و برای ادامه مسیر بینش کسب کنیم | لینک کانال تلگرامی ما: https://t.me/debugvalley
سختترین عوامل در یادگیری خودآموز برنامهنویسی و نحوه مقابله با آنها
در سالهای اخیر بسیاری از افراد به یادگیری برنامهنویسی علاقهمند شدهاند.
آنها یا از طریق دورههای آنلاین، یا از طریق دورهمیهای آفلاین راه خود را در دنیای برنامهنویسی پیدا میکنند، یا صرفا میخواهند شانس خود را در این زمینه امتحان کنند.
وبسایتهایی مانند code.org، codecademy و freecodecamp در حال معروفتر شدن هستند. تعداد بسیاری دوره آموزشی در سطح وب و مخصوصا یوتیوب وجود دارند.
اما برنامهنویسی آسان نیست. در اینجا برخی از چالشهایی که همه ما هنگام یادگیری برنامهنویسی با آن روبرو میشویم، آمده است.
1. پیدا کردن مقدار زمان مناسب برای برنامهنویسی روزانه
اگر به صورت خودآموز برنامهنویسی را یاد میگیرید، به احتمال زیاد مسئولیتهای دیگری هم در زندگی دارید.
ممکن است یک شغل نیمهوقت یا یک کار تماموقت داشته باشید یا والدین خانهنشین باشید. مسئله این است که همه در زندگی پرمشغله هستند. بنابراین چگونه میتوانید برای برنامهنویسی روزانه زمان پیدا کنید؟
برخی افراد ممکن است بگویند: خب، اگر به اندازه کافی متعهد باشید، همیشه میتوانید زمان پیدا کنید. درست است. من موافقم.
پس این سوال مطرح میشود: روزانه چقدر زمان باید به برنامهنویسی اختصاص دهیم؟ اگر روزانه بتوانم فقط نیم ساعت به این کار اختصاص دهم، آیا کافی است؟
این سوالی است که فقط خود شما میتوانید به آن پاسخ دهید. تخمین اینکه چند ساعت باید در روز برنامهنویسی کنید بسیار دشوار است. برخی افراد پیشنهاد میکنند که آن را کوتاه و لذتبخش نگه دارید. 15 دقیقه به اندازه کافی خوب است.
از طرفی دیگر، من افرادی را دیدهام که با روزی 9 یا 10 ساعت برنامهنویسی به مدت یک سال یا بیشتر، وارد حوزه توسعه شدهاند.
نتیجه نهایی این است: فقط خود شما میدانید که روزانه چقدر میتوانید برنامهنویسی کنید و بدون این که دچار خستگی و ملال شوید، آن را به یک عادت تبدیل کنید. بخش آخر بسیار مهم است. بنیانگذار freecodecamp یک بار در توییتر گفت:
مهم نیست که هر روز چقدر پیشرفت میکنید. مهم این است که هر روز پیشرفت کنید.
در اینجا ویدئویی از یک توسعهدهنده ارشد وجود دارد که دهها سال است در زمینه فناوری فعالیت میکند و در مورد مدت زمانی که برنامهنویسان به طور روزانه در حین کار برنامهنویسی میکنند صحبت میکند.
این استاندارد طلایی نخواهد بود اما به شما ایده میدهد که چگونه برای یادگیری روزانه برنامهنویسی، برای خود برنامهای واقعبینانه و مهمتر از آن پایدار تعیین کنید.
2. پیدا کردن تعادل بین "پیشرفت نکردن به اندازه کافی و خوب" و "خسته و ملول شدن"
من به شخصه، خیلی با این مسئله کلنجار رفتم.
روزهایی وجود دارد که من نمیتوانم یک مفهوم/قطعه کد را از کتابی که میخوانم درک کنم. انگار در مغزم فرو نمیرود. آنقدر خسته میشوم که مجبورم خودم را آرام کنم، به بالکن بروم و نفس عمیق بکشم.
از آن زمان به بعد، همواره به خودم یادآوری میکنم که بیش از حد در آن کار عمیق نشوم تا جایی که دیگر هیچ بازگشتی وجود نداشته باشد.
برنامهنویسی آسان نیست. نیاز به تمرکز دارد، مخصوصا هنگامی که در حال یادگیری مطالب جدید هستید.
از لحاظ ذهنی خستهکننده است و مواقعی وجود دارد که نمیتوانید بفهمید که چرا کد شما کار نمیکند، یا حتی چرا کار میکند!
من فهمیدم که هر زمان که واقعاً روی مشکلی که روی آن کار میکردم متمرکز بودم اما در عین حال واقعاً آرام بودم و از کلیت فرآیند لذت میبردم، بیشترین بهرهوری را داشتم.
این زمانی بود که من:
- مشکلی را پیدا میکردم که باید آن را رفع میکردم.
- راهحل را از طریق گروههای آنلاین پیدا میکردم.
- چندین راه مختلف را برای حل آن امتحان میکردم تا صرفا ببینم کدام یک جواب میدهد.
- مسئله را به طور کلی حل میکردم.
برای کنار آمدن با این واقعیت که بسیاری از مطالبی که میآموزیم بسیار خشک و پیچیده است (ساختار دادهها و الگوریتمها و موارد دیگر)، من این قانون 50/50 را برای زمانی که در حال یادگیری برنامهنویسی هستم ایجاد کردهام.
من از 50٪ زمان برای انجام کارهای دشوار، مطالعه اصول، مفاهیم، الگوریتمها و موارد دیگر استفاده میکنم. 50 درصد دیگر، پروژههای خودم را انجام میدهم، پروژههایی که واقعاً به آنها علاقه دارم. به طوری که در مطالعه روزانه من تعادل ایجاد میشود.
بنابراین، به طور صریح باید گفت: شما باید کاری را که انجام میدهید دوست داشته باشید. که ما را به نکته بعدی میرساند.
3. دوست داشتن آنچه انجام میدهید تنها راه گذر از همه این موانع است
هر چقدر هم کلیشه به نظر برسد، گاهی اوقات این یک حقیقت است. اگر راهی را که در پیش میگیرید دوست دارید، عاشق شغلی هستید که انجام میدهید، عاشق مسیری هستید که در حال حرکت هستید، شما نیازی به تایید دیگران ندارید.
این نوع تحقق بخشیدن به اهداف را نمیتوان به امانت گرفت یا جایگزین کرد یا حتی بدتر از آن جعل کرد.
ویدیو حرفهای استیو جابز در این مورد را میتوانید اینجا ببینید
4. همواره پس از انجام دادن سایر مسئولیتهای زندگی، به برنامهنویسی بازگردید
حقیقت این است که وقتی درمورد خودآموزی صحبت میکنیم، هیچوقت شما فقط در حال یادگیری نیستید. در زندگی همهی ما، مسئولیتهای متنوعی وجود دارد که باید به آنها متعهد باشیم.
ممکن است شما عهدهدار نقش همسر، پدر یا مادر باشید. شاید لازم باشد از خانوادهی خود مراقبت کنید، اگر شاغل هستید باید به امور کاری خود رسیدگی کنید، یا اگر دانشجو هستید باید درس بخوانید تا مدرک فارغالتحصیلی بگیرید.
با وجود تمام این وظایفی که بر دوش ماست، چه زمانی را برای پرداختن به برنامهنویسی پیدا کنیم؟
حقیقتا گاهی اوقات این کار امکانپذیر نیست. روزهایی بوده است که در آنها از برنامه نویسی صرفنظر کردهام. طولانیترین زمان دوری من از کدزنی دو ماه بوده است؛ اما بلافاصله بعد از آن، دوباره برنامهنویسی را از سر گرفتهام و متوجه شدم بسیاری از چیزهایی که یاد گرفته بودم را فراموش کردهام!
ممکن است ناامیدکننده باشد که وقتی همان کتاب را دوباره به دست میگیرید، هیچ ایدهای ندارید چطور آن را ادامه دهید:«خدایا! واقعا باید دوباره همهی فصلها را بخوانم و درموردشان جستجو کنم؟»
این همان لحظهایست که باید در آن پشتکار به خرج دهید، سرعت کار را کاهش دهید و باحوصله انجامش دهید.
باید به خود بگویید:«خب، ممکن است اولین ساعاتِ مطالعه کند پیش برود یا به اندازهی کافی مفید نباشد، اما فردا با یادگیری بیشتر جبران میکنم.»
راه دیگری برای آسان کردن این مقطع وجود ندارد، اما برای پیشرفت، به تلاش کردن ادامه دهید و همچنان ادامه دهید!
به جمع برنامهنویسان یا به توییتر بروید و ناامیدی خود را آنجا ابراز کنید اما به محض انجام این کار، دوباره به برنامه نویسی بازگردید.
5. انگیزهی خود را به هر روشی که میتوانید حفظ کنید
خودآموزی با حضور در مدرسه بسیار متفاوت است. وقتی خودآموز شروع به برنامهنویسی میکنید، کسی اطراف شما نیست. همکلاسیای وجود ندارد، خبری از تعامل اجتماعی با انسانها نیست و هیچ جشن بزرگی در انتهای تونل انتظار شما را نمیکشد.
در انجام این کار، اغلب تنهایید و باید تک نفره از پس آن بربیایید. پس باید انگیزههایی داشته باشید که همواره شما را به جلو حرکت دهند.
همچنین به خودتان جایزه دهید و این کار را به عادت تبدیل کنید!
جایزهی شما ممکن است کوچک یا بزرگ باشد. میتواند یک دوش آب گرم در انتهای روز یا یک نوشیدنی خنک باشد. لازم است هنگام برنامهنویسی به خودتان یادآوری کنید که در حال انجام کار بزرگی هستید.
تصویر زیر را از دیوار مقابل خود آویزان کنید، زیرا باید باور کنید میتوانید به فردی تبدیل شوید که اکنون در مقابل او نشستهاید.
6. در دام اشتباه «یادگیری برای یادگیری» نیفتید. مصاحبه کنید، با افراد ملاقات کنید و به دنبال کار بگردید.
ممکن است گاهی اوقات هنگام برنامهنویسی، تمرکزتان به وسیلهی امور جانبی کاهش یابد. حس میکنید لحظاتی وجود دارد که میخواهید فقط تنبل باشید؛ نه اینکه دیگر نخواهید به یادگیری ادامه دهید، بلکه با وجود نشستن جلوی مانیتور امیدوارید با چالش اصلی روبهرو نشوید: استخدام شدن به عنوان یک توسعهدهنده.
دچار این مغلطه که «همین که در حال یادگیری هستم به اندازهی کافی خوب است و بعدا، زمانی که آمادگی کافی پیدا کردم، به شغل فکر میکنم» نشوید. صادقانه بگویم این، چیزیست که باید بیشتر به آن بپردازم: تماس با مشتری و قبول پروژهی واقعی. حتی اگر آن، توسعهی یک وبسایت به صورت رایگان برای دوستان یا خانوادهام باشد.
همچنین دفعهی بعدی که به مصاحبه میروید، میتوانید نشان دهید قبلا چه نوع کارهایی را انجام دادهاید. این به رزومهی شما اعتبار میبخشد. برداشتن اولین قدم برای هر کار، سختترین بخش آن است؛ اما هر چه باشد، شما باید آن قدم را بردارید.
همهی چیزهایی که در بالا گفتیم، موقعیتها و چالشهاییست که در مسیر تبدیل شدن به یک توسعهدهنده با آنها مواجه خواهید شد. با شناخت کافی و نگرش درست با آنها روبهرو شوید. توجه داشته باشید موانعی که در مسیر خود به آنها برمیخورید، شما را به توسعهدهندهی قویتری تبدیل میکنند.
آخرین نکته که اهمیت زیادی دارد این است که با خوشحالی برنامه بنویسید. از چیزی که در حال ساخت آن هستید لذت ببرید. خواه پروژهتان باشد، خواه آیندهتان.
متنی که خواندید ترجمه این مقاله است
ما را در تلگرام دنبال کنید
مطلبی دیگر از این انتشارات
استفاده از pacman در آرچ لینوکس و manjaro
مطلبی دیگر از این انتشارات
کرنراستون، موضوعی مهم اما فراموش شده در سئو!
مطلبی دیگر از این انتشارات
اینفوگرافیک بررسی کامپایلر و مفسر