فروش ویژه سرور اختصاصی
ماکرونت: چرا اغلب افراد در یادگیری برنامه نویسی شکست می خورند؟
- مرداد 1, 1402
- 0
- ملیحه ایزی
آیا هنگام یادگیری یک زبان برنامه نویسی جدید، فریمورک، فناوری و … به مشکل برخورده اید؟ آیا از اینکه در آموزش ها گیر کرده اید، فرآیندها را تکرار می کنید و همچنان پروژه خود را به پایان نمی رسانید یا درک نمی کنید، خسته شده اید؟ آیا احساس می کنید که روی چرخ همستر می دوید، بی وقفه همان فرآیندها را تکرار می کنید و هیچ پیشرفتی نمی کنید؟ خوب، نترسید، زیرا اغلب افراد در یادگیری برنامه نویسی با این اشتباهات برخورد می کنند.
به هر قیمتی از جهنم آموزشی اجتناب کنید
احتمالا برای شما هم پیش آمده که تمام اینترنت را بالا و پایین کرده اید تا یک مجموعه فیلم آموزشی خوب در حوزه برنامه نویسی پیدا کنید و زمانی که مطمعن شدید آن مجموعه بهترین است شروع به دیدن فیلم ها کرده اید. در حال تماشا همه چیز خیلی خوب پیش می رود شما احساس یک نابغه را دارید که همه چیز را خیلی خوب متوجه می شود و احتمالا به خودتان هم گفته اید پس برنامه نویسی همینقدر ساده بود. پس از تماشای پشت سر هم فیلم ها سپس، شما سعی می کنید در واقع آنچه را که آموخته اید به کار ببرید و این مانند اتصال کوتاه مغز شما است. چه چیزی رخ می دهد؟
فرض کنید در حال یادگیری نحوه ساخت اپلیکیشن موبایل با استفاده از React Native هستید. شما به طور تصادفی با آموزشی مواجه می شوید که شما را در ساخت یک برنامه ساده فهرست کارها راهنمایی می کند. شما دنبال می کنید، همه چیز منطقی است، شما نسبت به خودتان احساس خوبی دارید. اما پس از آن، هنگامی که زمان آن فرا می رسد که خودتان آن را کدنویسی کنید، مغز شما به یک کاسه پوره سیب زمینی تبدیل می شود. ناگهان، شما نمی توانید چیزی را که به تازگی تماشا کرده اید به یاد آورید.
اینجاست که جهنم آموزشی وارد میدان میشود، مثل این است که در یک فیلم ترسناک بیپایان گیر کرده باشید. مجدد می گردید و یک مجموعه دیگر فیلم آموزشی پیدا می کنید و باز آنها را می بینید و همان احساسات قبلی نابغه بودن، فهمیدن و سپس کدنویسی و مواجه با شکست. به خودتان که می آیید می بینید یک درایو کامل از فیلم های آموزشی برنامه نویسی نیمه تمام دارید که گاها هزینه های گزافی هم بابت آنها پرداخت کرده اید ولی هنوز به برنامه نویسی مسلط نشده اید.
آموزش ها راه بسیار خوبی برای شروع یادگیری کدنویسی هستند، زیرا مفاهیم اولیه برنامه نویسی را به شما آموزش می دهند. اما دیدن آموزش و شرکت در دوره ها کافی نیست. اما با دیدن یک دوره جدید می بینید که مجددا همان اصول برنامه نویسی را که قبلاً می دانستید به شما آموزش داده می شود. با این حال، از آنجایی که شما هیچ یک از این مفاهیم را در عمل به کار نمی برید مشکلتان حل نمی شود.
اما واقعا راه حل این مشکل و موضوع چیست؟ نکته کلیدی این است که به طور فعال و همزمان آنچه را یاد می گیرید به کار ببرید شما نباید فقط آموزش را تماشا کنید و سپس به آموزش بعدی بروید. برای کدنویسی همراه با آن وقت بگذارید همزمان با دیدن هر قسمت از ویدیو همان را کدنویسی کنید. بهتر است بگویم مثل خواندن ریاضی دوران مدرسه است با خواندن متوجه همه مسائل پیچیده می شدید اما زمانی که قرار بود مسئله ای را حل کنید تمام ذهنتان بسته می شد. نباید با برنامه نویسی مثل هر درس دیگری در مدرسه برخورد کنید، یادگیری خیلی سریع ممکن است برای شما بازدارنده باشد. در انجام این کار، فراموش نکنید که یک منحنی یادگیری وجود دارد.
در ابتدای یادگیری تنها کافیست همان ویدیو را عینا کدنویسی کنید، شاید بار اول مجبور شوید چندین بار به ویدیو برگردید مشکلی نیست چندین بار همان کد را بنویسید تا هنگامی که کاملا به آن مسلط شوید. وقتی که مطمعن شدید به آن مبحث و کدهایش کاملا مسلط شدید سعی کنید به همان برنامه ویژگی های جدیدی را اضافه کنید. مثلا به برنامه لیست کارها(job list)، چرا سعی نمی کنید برخی از ویژگی های جدید را اضافه کنید؟ شاید بتوانید سیستمی را پیاده سازی کنید تا به شما یادآوری کند که واقعاً وظایف لیست خود را انجام داده اید یا خیر. بتوانید لیست جدید را ویرایش کنید و یا، اگر واقعاً احساس ماجراجویی میکنید، میتوانید یک ویژگی اضافه کنید تا لیست کارهایتان را با دوستانتان به اشتراک بگذارد.
به یاد داشته باشید، تمرین مهمترین عامل موفقیت در یادگیری برنامه نویسی است، از اشتباه کردن نترسید و از همه آنها درس بگیرید.
طرز فکر خود را تغییر دهید
یادگیری کدنویسی مانند دوچرخه سواری است. قبل از اینکه در نهایت به آن مسلط شوید، باید چندین بار زمین بخورید. وقتی برای اولین بار شروع به یادگیری کدنویسی می کنید پس از چند ساعت وقت گذاشتن برای یادگیری یک مفهوم برنامه نویسی جدید، انتظار دارید بتوانید آن را با موفقیت عملی کنید. اما هربار که با خطا مواجه می شوید احتمالا ناامید و ناامیدتر و گاها تسلیم می شوید. ما در دنیایی زندگی می کنیم که در آن بیشتر نتایج آنی هستند، ما انتظار نتایج سریع را داریم ولی در فرآیند آموزش فراموش می کنیم که منحنی یادگیری وجود دارد.
اشتباه دیگری که در فرآیند یادگیری ممکن است انجام دهید این است که همیشه خود را با دیگران مقایسه کنید. وقتی کدهای برنامه نویس دیگر را می خوانید که درک آنها پیچیده و دشوار است، اغلب احساس می کنید شاید من بتوانم برنامه های ساده را کدنویسی کنم اما این کدها خیلی پیچیده است و من هرگز به آنجا نخواهم رسید. و این موضوع مجددا اعتمادبنفس شما را کاهش خواهد داد.
اما در نهایت باید به ذهن خود بقبولانید که هیچ راهی برای تبدیل شدن به یک کدنویس ماهر جز تمرین زیاد، درست و اصولی وجودت ندارد. هر برنامه نویس خوبی که می شناسیم سال ها در این زمینه تجربه داشته است. آنها هر روز ساعتهای طولانی جلوی صفحه کامپیوتر میگذرانند. و در صحبت با آنها، یقینا متوجه خواهید شد که همه آنها با همان مسائلی که شما برخورد کرده اید مواجه بوده اند. حتی با وجود سالها تجربه در این زمینه، هنوز با خطاهایی مواجه میشوند که حل آنها ممکن است تا چند روز یا حتی هفتهها طول بکشد. آنها همچنین هنگام تغییر به یک چارچوب متفاوت با مشکل مواجه می شوند و هنگام خواندن کدهای افراد دیگر با مشکلاتی مواجه می شوند.
کدنویسی آسان نیست حتی برنامه نویسان باتجربه با مشکلاتی روبرو هستند که حل آنها به ظاهر غیرممکن است. آنها نیز هنگام کدنویسی ناامید می شوند. با افزایش میزان تجربه آنها، پیچیدگی کارهایی که باید انجام دهند نیز افزایش می یابد.
یک زبان را به طور کامل یاد بگیرید
موضوع حائز اهمیت دیگری که وجود دارد و افراد به آن توجهی نمی کنند این است که ابتدا زمان زیادی از خود را صرف این می کنند که کدام زبان بهتر است و یا بازار کار بیشتری دارد، درست است که این موضوع بی اهمیت نیست اما باید به این توجه داشته باشید که دم دست ترین زبان برای یادگیری قطعا بهترین زبان است. اگر زمان زیادی را صرف فهمیدن زبان بهتر کنید شاید زمان خود را از دست دهید و به طور کل از یادگیری منصرف شوید. پس بهتر است کمالگرایی انتخاب زبان را کنار بگذارید و از یکی از زبانهای شی گرا شروع کنید و سعی کنید به آن مسلط شوید سپس اگر خواستید به سراغ زبان بعدی بروید. بدترین کار در برنامه نویسی این است که شما هنوز مسلط نشده به زبان اول به سراغ زبان دوم بروید این کار مانند یادگیری نصف و نیمه زبانهای انگلیسی، فرانسه و … است. شاید در بعضی موارد کار راه انداز باشد و افراد احساس کنند شما به چندین زبان مسلط هستید اما در نهایت اینکار از شما یک فرد متخصص نمی سازد.
تایپ شخصیتی خود را بشناسید
میدانیم که آدمها تایپ های شخصیتی متفاوتی دارند و بر اساس آنها علاقمندی ها، سرگرمی ها، تفریحات و … متفاوت است. در یادگیری برنامه نویسی تایپ شخصیتی افراد خیلی مهم است بهتر است اول تست MBTI را انجام داده و تایپ شخصیتی خود را مشخص کنید. این تستها به شما کمک میکنند تا خصوصیات فردی و درونی و نقاط ضعف و قوت خود را بهتر بشناسید تا بتوانید مسیر شغلی و آیندهی خود را به درستی تعیین کرده و به موفقیت برسید.
شخصیت های مناسب برنامه نویسی بر اساس شخصیت شناسی MBTI :
INTJ این تیپ شخصیتی از توانایی درک سیستم های پیچیده و منطق برخوردار است. او می تواند با کمک خلاقیت خود سیستم های جدید ایجاد کند.
INTP این تیپ شخصیتی در تحلیل مسایل و ارائه راه حل های مبتکرانه (که از لازمه های این شغل است) تبحر زیادی دارد. او از کار در زمینه های فنی و حل مسایل پیچیده لذت می برد.
ISTJ این تیپ شخصیتی از دقت بالایی برخوردار است و دارای مهارت های فنی خوبی می باشد. او معمولا زمان زیادی را برای کار خود می گذارد و از کارهای فردی و نیازمند به تمرکز بالا لذت می برد.
ISTP این تیپ شخصیتی به تکنولوژی و پیچیدگی های آن علاقه دارد. او توان تحلیل منطقی خوبی داشته و به جزئیات توجه زیادی می کند.
ویژگی های یک برنامه نویس خوب
خلاق و توانایی حل مسئله: یک برنامه نویس خوب و ایده آل، بدون اینکه بخواهد احتمالات را در نظر بگیرد، به دنبال راه حل هایی جدید برای حل مسائل است.
اشتیاق: اشتیاق دقیقا همان چیزی است که می تواند شما را برای حل مسئله ای شب تا صبح بیدار و مشغول به کار نگه دارد.
صبر: اگر آنقدر صبور نباشید و با مشکلاتی که در هنگام کد نویسی به وجود می آید با صبر و حوصله برخورد نکنید، علاقه شما به این کار کم کم از بین می رود.
توجه به جزئیات: اصولا برنامه نویسانی که به جزئیات توجه دارند، کد هایی با کیفیت بالا می نویسند.
کنترل استرس: یک برنامه نویس ایده آل، حتی در استرسی ترین شرایط هم می تواند کار را کنترل کرده و به راحتی از عهده کار بر بیاید؛ در واقع توانایی کنترل شرایط را دارد.
به دنبال آموزش هایی باشید که از شما می خواهند با آنها پروژه ای بسازید
مبارزه دیرینه برای یافتن آموزش های برنامه نویسی که با توضیحات اولیه متغیرها و حلقه ها شروع نشود ادامه دارد. اما اشتباه نکنید، اینها مفاهیم مهمی برای درک هستند، اجازه دهید با آنها روبرو شوید درست است که آنها هیجان انگیز نیستند اما مفاهیم مهم و عمیقی هستند.
درست است چیزی که واقعاً به آن نیاز داریم آموزشی است که ما را به اعماق زمین می برد و وادار می کند تا با انجام کار و پروژه مفاهیم و مباحث را یاد بگیرید. فرض کنید در حال تلاش برای یادگیری نحوه ساخت یک برنامه چت با استفاده از Node.js هستید. به جای آموزشی که یک ساعت برای توضیح اینکه متغیر چیست را ببینید، به دنبال آموزشی باشید که از ابتدا با ساخت یک برنامه مفاهیم را یاد بگیرید.
بطور مثال این را سرچ بزنید و با ویدیو مربوطه روبرو شوید “Learn Go Programming by Building 11 Projects — Full Course” توسط FreeCodeCamp به محض اینکه شروع به تماشای ویدیو کنید، متوجه می شوید که ویدیو خوب در آموزش چه ویدیویی است. در پایان این دوره، 11 پروژه مختلف از جمله API CRUD، سیستم مدیریت کتاب MYSQL و حتی یک پشته کامل بدون سرور می توانید بسازید.
نکته این است که آموزشهایی را بیابید که فقط اصول اولیه را توضیح نمیدهند، بلکه میخواهند از همان ابتدا چیزی بسازید و شما را به عمق مفاهیم می برند. شما با ساخت پروژه و کدنویسی کردن بیشتر یاد خواهید گرفت تا تماشای ویدیو که البته بسیار جذاب تر و به یاد ماندنی تر نیز هست.
به یاد داشته باشید که برنامه نویسی گاهی اوقات می تواند خسته کننده باشد، اما در کنار آن وقتی می بینید می توانید برای یک مشکل راه حلی ارائه دهید و یا خلاقیت شما شکوفا می شود، بسیار لذت بخش می شود.
نتیجه
یادگیری کدنویسی مستلزم تمرین، صبر و توانایی مواجه با شکست است. بسیاری از مردم از خود انتظار دارند که پس از گذراندن دوره های آنلاین به کدنویسان خبره تبدیل شوند. وقتی احساس میکنند که گیر میکنند، خیلی سریع از مشکل دست میکشند و احساس میکنند که برای یادگیری برنامهنویسی به اندازه کافی باهوش یا آماده نیستند.
این احساس “خیلی سخت است” بسیاری از دانشمندان مشتاق برنامه نویسی را به ترک شغل و تغییر مسیر شغلی متفاوت سوق داده است. برای غلبه بر این موضوع، باید بدانید که هیچ راهی برای تبدیل شدن به یک برنامه نویس خوب بدون صرف زمان زیاد برای کدنویسی وجود ندارد. شما نیاز به تمرین زیاد دارید و باید یاد بگیرید که چندین بار شکست بخورید. برای پلتفرم های چالشی کدنویسی وقت بگذارید. اگر احساس می کنید گیر کرده اید، به راه حل های موجود ارسال شده توسط برنامه نویسان دیگر نگاه کنید سعی کنید روند فکری آنها را تکرار کنید. این کار را تا زمانی که به توانایی خود در کدنویسی مطمئن نشدید، ادامه دهید.
در نهایت، پروژه های تمرینی خود را از ابتدا ایجاد کنید. مطمئن شوید که به خودتان زمان کافی برای یادگیری، شکست و رشد می دهید. اگر دوستانی دارید که در همان سفر هستند، با آنها در یک پروژه همکاری کنید. به این ترتیب، می توانید ایده ها را به اشتراک بگذارید و به یکدیگر انگیزه دهید تا به طور مداوم یاد بگیرید.
در پایان، یادگیری یک فناوری جدید می تواند یک کار ترسناک باشد، اما لازم نیست که خیلی به خودتان بیفتید. با اجتناب از جهنم آموزشی، جستجوی آموزش های مبتنی بر پروژه و تسلط بر هنر سرچ در گوگل، می توانید در زمان و ناامیدی خود صرفه جویی کنید. به یاد داشته باشید که برنامه نویسی فقط به خاطر سپردن دستورات نیست. بنابراین، از واردشدن در اولین پروژه خود و شروع کدنویسی نترسید. هرچه بیشتر کدنویسی کنید، بهتر خواهید شد.
در اخر ورودتان به دنیای جذاب کد نویسی مبارک!
«ملیحه ایزی»، فارغالتحصیل مقطع کارشناسی ارشد مهندسی کامپیوتر، گرایش نرم افزار است.
تمامی حقوق برای ماکرونت محفوظ است.