خانه توسعهدهنده توسعهدهنده موفق جهنم آموزش یا چگونه توسعهدهنده نشویم
جهنم آموزش یا چگونه توسعهدهنده نشویم
آموزشها (Tutorial) یک روش عالی برای یادگیری مفاهیم جدید هستند، اما وابستگی و استفاده نادرست از آنها باعث میشود که شما در جهنم آموزش (Tutorial Hell) گرفتار شوید. هرچند بودن در آنجا به شما احساس امنیت و پیشرفت میدهد، اما یک جایی به این نتیجه میرسید که در یک حلقه گرفتار شدهاید. روزها و هفتهها میگذرد، ویدئوها یکی پس از دیگری، آموزشها یکی پس از دیگری تا زمانی که متوجه میشوید جهنم دقیقاً همین است.
فهرست مطالب
Toggleجهنم آموزش چیست؟
تصور کنید که شما بهتازگی یک آموزش را به پایان رساندهاید و هرآنچه که مدرس گفته و انجام داده است را دنبال کردهاید. اکنون زمان آن رسیده است که از این دانش استفاده کنید و خودتان چیزی بسازید. یک پروژه جدید را شروع و بهتنهایی درمورد نوشتن کدها فکر میکنید، اما نمیدانید که چهکاری باید انجام دهید یا چگونه شروع کنید. بنابراین آموزش بعدی را شروع میکنید و بهزودی متوجه میشوید که 83 دوره و آموزش را گذراندهاید، اما هنوز نمیدانید که چه زمانی آماده هستید.
جهنم آموزش چیزی نیست جز گرفتار شدن در این حلقه بیپایان تماشای آموزشهای برنامهنویسی یکی پس از دیگری. تکمیل آموزشها به شما یک احساس موفقیت کاذب میدهد و شما فکر میکنید در حال یادگیری برنامهنویسی هستید. این احساس کاملاً اعتیادآور است و باعث میشود دنبال آموزشهای بیشتری بروید، اما بهمحض اینکه بخواهید بدون راهنمای آموزش چیزی بسازید، متوجه میشوید که واقعاً چیزی یاد نگرفتهاید. بنابراین، احساس میکنید که آموزش قبلی بهاندازهی کافی خوب نبوده است و بهدنبال آموزش دیگری میگردید و با دیدن آموزشهای بیشتر به این حلقه بیپایان ادامه میدهید. این قضیه آشنا به نظر نمیرسد؟
مشکل بزرگ در اینجا این است که شما فقط آنچه که قبلاً ایجاد شده است را دنبال و همزمان با آن کدنویسی میکنید. بهعبارت دیگر در حین آموزش فکر نمیکنید و در حال تجزیهوتحلیل مشکل و نحوه رفع آن نیستید، زیرا این کار قبلاً توسط سازنده آموزش انجام شده است. بنابراین، وقتی سعی میکنید چند خط کد را بهتنهایی بنویسید و در کمال تعجب میبینید که نمیتوانید، فکر میکنید که بهاندازهی کافی آماده نیستید و آموزش بعدی را با این اعتقاد که بعد از آن آمادگی بیشتری خواهید داشت، شروع میکنید.
چرا در جهنم آموزش گرفتار میشویم؟
ما میدانیم جهنم آموزش چیست، اما چرا در آنجا میمانیم؟
- آموزشها ریسکی ندارند. شما توضیحات مدرس را دنبال و آنها را اجرا میکنید. حتی اگر جایی اشتباه کنید، آنها از قبل کد را در GitHub در اختیارتان گذاشتهاند. کد را کپی پیست میکنید و همهچیز درست میشود. به زبان سادهتر، به نظر میرسد که آموزشها یک خانه امن هستند.
- آموزشها به شما احساس یادگیری و پیشرفت میدهند. آنها همچنین به شما پیشرفت قابلاندازهگیری میدهند. مثلاً با خود فکر میکنید «این آموزش 10 ساعت است، بنابراین اگر روزی 2 ساعت وقت بگذارم، میتوانم C# را در یک هفته یاد بگیرم!» یا «یک آموزش 9 ساعته برای تسلط بر ReactJS! عالی است! میتوانم ReactJS را فقط در یک روز یاد بگیرم.»
- دلیل دیگر گرفتاری در جهنم آموزش سندروم ایمپاستر (Imposter Syndrome) است. سندروم ایمپاستر باعث میشود خود را قانع کنید که آماده نیستید بهتنهایی کدنویسی کنید. بنابراین تا زمانی که احساس آمادگی نکنید، آموزشها را ادامه میدهید.
پشتصحنه آموزشها
بیایید کمی دربارهاش فکر کنیم. وقتی یک آموزش را تماشا میکنیم، آنچه واقعاً مشاهده میکنیم یک محصول تمامشده است. یک فیلم آموزشی چیزی است که قبل از نمایش آن به مخاطبان، درست مثل سخنرانیهای معلمان در مدرسه یا دانشگاه، آماده شده و سازنده برای آن زحمت زیادی کشیده است. بزرگترین تفاوت بین سازنده یک آموزش و بینندهی آن این است که بیننده تلاشی نکرده و هفتهها یا شاید ماهها درمورد ساخت آن اپلیکیشن فکر نکرده است.
بنابراین هنگام تماشای یک آموزش، باید درک کنید که آنچه تماشا میکنید یک نسخه نهایی و شستهرفته است. قسمت گمشده تمام زحماتی است که سازنده برای آن کشیده است. این درست مانند توسعه front-end و back-end است. ما فقط آنچه را که توسعهدهنده front-end میخواهد میبینیم، اما در پشت کار (back-end) چیزهای بسیاری وجود دارد که نمیتوانیم ببینیم.
آیا باید دیدن برنامههای آموزشی را متوقف کنم؟
آموزشها میتوانند ابزار یادگیری خوبی باشند، بهشرط آنکه استفاده از آنها را به روش صحیح پیش ببرید، در غیر این صورت به آنها وابسته شده و نمیتوانید خودتان کدنویسی کنید. تماشای آموزشها بد نیست، آنچه بد است این است که بدون اینکه تلاش کنید پروژههای خودتان را بسازید، به تماشای آنها ادامه دهید.
ممکن است برخی از شما بگویید: «من نمیتوانم از تماشای آموزش دست بردارم، زیرا آماده نیستم که خودم کدنویسی کنم.» بگذارید این را به شما بگویم، هنگامی که یک مبتدی هستید، هرگز نمیدانید که چه زمانی آماده هستید تا بهتنهایی کدنویسی کنید. تنها راه این است که شروع به نوشتن کد و توسعه مهارتهای حل مسئله و تفکر انتقادی خود کنید. اینها مواردی هستند که باعث رشد شما بهعنوان یک توسعهدهنده میشوند و متأسفانه هیچ فیلم آموزشی این موارد را به شما نمیآموزد.
فقط زمانی که شروع به ساختن پروژههای خود کنید، احساس خواهید کرد که واقعاً دارید یاد میگیرید و البته که کار آسانی نخواهد بود، اما وقتی اولین پروژهتان را به پایان برسانید، به خودتان افتخار خواهید کرد.
مطلب مشابه: پنج عادت نامناسب توسعهدهندگان که باید هرچه زودتر ترکشان کنید
رهایی از جهنم آموزش
حالا که فهمیدیم جهنم آموزش چیست و دلایل گرفتاری در آن چه چیزهایی هستند، بیایید برخی از راههای اجتناب و رهایی از آن را بررسی کنیم. اولین چیزی که برای رهایی از آن لازم است این است که اعتراف کنید درگیرش هستید. شما باید فرایند یادگیری خود را ارزیابی کرده و با خود صادق باشید. این سؤال را از خود بپرسید:
آیا من بهطور مداوم مشغول تماشای برنامههای آموزشی هستم بدون اینکه واقعاً تلاش کنم پروژههای خودم را بسازم؟
اگر پاسخ شما به این سؤال مثبت بود، تبریک میگویم. شما اولین قدم را برای رهایی از جهنم آموزش برداشتهاید.
حال، بیایید برخی از روشها و نکاتی که ممکن است به شما برای رهایی از جهنم آموزش کمک کند، بپردازیم. دست برداشتن از تماشای آموزشها و شروع به ساخت پروژهها بهتنهایی، بسیار دشوار خواهد بود. بنابراین باید مرحلهبهمرحله پیش برویم.
قبل از دیدن آموزش به پروژه فکر کنید
بسیاری از مبتدیان بدون اینکه به پروژه فکر کنند، شروع به دیدن ویدئو آموزشی میکنند. قسمت مهمی از فرایند توسعه فکر کردن به مسئله، قبل از پیادهسازی آن، است.
فرض کنیم میخواهید یک آموزش درمورد نحوه ایجاد یک تغییردهنده تصادفی رنگ پسزمینه را مشاهده کنید. روند اصلی تفکر شما ممکن است چیزی شبیه به این باشد:
- مجموعهای از رنگهای مختلف ایجاد کنید.
- یک دکمه ایجاد کنید که با کلیک روی آن رنگ پسزمینه تغییر کند.
- نوعی تابع تصادفی برای انتخاب رنگ ایجاد کنید.
حتی اگر نمیدانید که چگونه میتوانید آنها را در کد پیادهسازی کنید، حداقل در مورد مسئله فکر میکنید.
سعی کنید ابتدا خودتان آن را بسازید
بسیاری از مردم بهدلیل ترس از نداشتن مهارت یا دانش از اینکه چیزی را بهتنهایی بسازند، میترسند، اما قبل از تماشای آموزش حداقل میتوانید برخی موارد را امتحان و تلاش کنید افکار خود را به کد ترجمه کنید.
اگر collection of colors JavaScript را گوگل کنید، یکی از نتایج یک آرایه خواهد بود و یا اگر random function JavaScript را گوگل کنید، اولین نتیجه () Math.random
خواهد بود.
با این روش بهآرامی شروع به ترجمه افکار خود به کد میکنید. هیچ ایرادی ندارد اگر کد شما کاملاً صحیح نباشد. هدف این است که یاد بگیرید چگونه درمورد مسئله تحقیق و تفکر کنید.
برای آموزش وقت بگذارید
اکنون که به پروژه فکر کرده و بهتنهایی شروع به امتحان برخی موارد کردهاید، آماده دیدن آموزش هستید، اما توصیه نمیشود بدون توقف بنشینید و کل فیلم را تماشا کنید. مغز شما نمیتواند این همه اطلاعات را بهطور همزمان مصرف کند.
پس عجله نکنید و همراه با فیلم آموزشی کد نزنید. برخی از سازندگان دورههای آموزشی (بهویژه افرادی که تجربه بیشتری دارند)، قبل از اینکه راهحلهایشان را به شما نشان دهند، شما را به چالش میکشند تا بخشهایی از پروژه را خودتان بهتنهایی پیادهسازی کنید. چند دقیقه وقت بگذارید و سعی کنید چالش آنها را حل کنید. هرچند احتمال شکست شما زیاد است (به هر حال شما در حال یادگیری هستید)، اما با این کار چه شکست بخورید و چه موفق شوید، بسیار بیشتر از کدزنی همزمان با فیلم آموزشی یاد خواهید گرفت.
کار دیگری که میتوانید انجام دهید این است که توجه کامل را به آموزش معطوف کنید (همزمان کد نزنید)، پس از دیدن قسمتی از آموزش (بهعنوان مثال 5-10 دقیقه)، فیلم را برای پردازش آنچه آموختهاید متوقف کرده و خودتان شروع به نوشتن کد کنید. به این ترتیب شما در هر زمان بر روی یک چیز تمرکز میکنید، ابتدا بر روی تئوری و سپس بر روی کد. این کار همچنین به شما فرصتی برای سرچ و تحقیق درمورد مفاهیمی که شما را در فیلم گیج کرده است، میدهد. پرسیدن سؤال و تحقیق مهارت مهمی برای تبدیل شدن به یک توسعهدهنده موفق است.
این استراتژیها به شما کمک خواهند کرد تا اعتمادبهنفس خود را تقویت کنید. خیلی زود اعتمادبهنفس بیشتری برای شروع پروژههای خود خواهید داشت.
سعی کنید آنچه را که آموختهاید برای یک نفر توضیح دهید
وقتی یک فیلم آموزشی را تماشا میکنید، سعی کنید آنچه را که آموختهاید برای دوست خود توضیح دهید. با توضیح دادن برای شخص دیگر متوجه خواهید شد که آیا واقعاً آن را یاد گرفتهاید یا نه.
بسیاری از توسعهدهندگان باتجربه، مبتدیان را تشویق میکنند تا بهعنوان راهی دیگر برای تمرین، آنچه را که میآموزند به دیگران توضیح دهند.
پروژهای که آموزش دیدهاید را خودتان بهتنهایی بسازید
پس از اتمام آموزش، مقداری زمان برای پردازش آموختههای خود بگذارید. سپس برگردید و سعی کنید همان پروژه را بسازید، اما این بار بدون دنبال کردن آموزش. با این کار مهارتهای حل مسئله را بدون اینکه پروژهای را از ابتدا و بهتنهایی بسازید، تمرین خواهید کرد.
حتی میتوانید روشهایی متفاوت از آنچه مدرس در آموزش استفاده کرده است را امتحان کنید. بهعنوان مثال، اگر مدرس از دستور if/else استفاده کرده است، شاید شما بخواهید از دستور دیگری استفاده کنید و یا اگر مدرس از حلقهای ساده استفاده کرده است، شاید حلقه foreach نیز کار کند. شما همچنین میتوانید یک ویژگی به پروژه اضافه کنید. مثلاً اگر آموزش ساخت یک وبسایت تکصفحهای را دیدهاید، میتوانید آن را به یک وبسایت چندصفحهای تبدیل کنید.
ساخت مجدد پروژه بهروش خود باعث ایجاد اعتمادبهنفس در شما برای ساخت پروژههای خودتان میشود. همچنین نحوه تحقیق، پرسیدن سؤال و دیباگ کردن کد را به شما آموزش میدهد.
فیلمهای کدنویسی زنده را تماشا کنید
بسیاری از توسعهدهندگان باتجربه بهصورت زنده کدنویسی میکنند. میتوانید هر از چندگاهی آنها را تماشا کنید (YouTube و یا شاید Twitch میتوانند گزینههای خوبی باشند). این کار به شما کمک میکند تا روند تفکر آنها را درک کنید. خواهید دید که حتی برای آنها همهچیز از ابتدا کار نمیکند، آنها نیز اشتباهات و باگهای زیادی دارند و همچنین از google و منابع دیگر بسیار استفاده میکنند. خواهید دید که آنها نیز در حال یادداشتبرداری هستند و راهحلهای مختلفی را امتحان میکنند. کارهایی که کاملاً طبیعی است و هر توسعهدهندهای صرفنظر از میزان تجربهاش انجام میدهد.
فیلمهای کدنویسی زنده یک روند واقعیتر از آنچه در آموزشها نشان داده میشود را به شما نشان خواهند داد و به شما کمک میکنند تا درک کنید که همهچیز به همان راحتی که در فیلمهای آموزشی به نظر میرسد، نیست.
و سرانجام پروژههای خودتان را بسازید
تمام نکاتی که قبلاً گفته شد به شما کمک میکند تا اعتمادبهنفستان را در کدنویسی تقویت کنید، اما در نهایت فقط زمانی که پروژههای خودتان را بسازید و برای مشکلاتی که قبلاً ندیدهاید راهحل پیدا کنید، یاد میگیرید. هیچ راه دیگری وجود ندارد. بنابراین باید از محدوده آسایشتان خارج شوید و پروژههای خودتان را بسازید. کاری که قطعاً آسان نخواهد بود و شما در طی آن با مشکلات زیادی دستوپنجه نرم خواهید کرد، ولی باور کنید، انجام این کار برای شما یک موفقیت بزرگ خواهد بود.
فقط سعی نکنید یکباره به سراغ پروژههای سنگین بروید، هیچکس نمیتواند این کار را انجام دهد. اگر چیزی خیلی بیشتر از سطح توانایی شما باشد، احتمال اینکه خیلی زود انگیزه خود را از دست داده و آن را ترک کنید، بسیار زیاد است. پس نیازی به ساخت Amazon یا Netflix بعدی نیست. از پروژههای کوچک شروع کنید. بهتدریج احساس توانایی بیشتری کرده و پروژههای بزرگتری را امتحان خواهید کرد.
اگر به مشکلی برخوردید، محض رضای خدا به دنبال آموزش دیگری نباشید! سؤال خود را در Stack Overflow یا Reddit بپرسید، افراد زیادی در آنجا هستند که میتوانند به شما کمک کنند. میلیونها توسعهدهنده نرمافزار در سراسر جهان در حال کار بر روی انواع محصولات هستند. بنابراین باید شخصی باشد که قبلاً با مشکلی بسیار مشابه مشکل شما روبرو شده باشد. به یاد داشته باشید که گوگل بهترین دوست شما در این مواقع است.
جمعبندی
فرار از جهنم آموزش احتمالاً یکی از ترسناکترین کارهایی است که در طول حرفه خود بهعنوان یک توسعهدهنده انجام خواهید داد، زیرا باید وابستگی به کار افراد دیگر را متوقف کرده و شروع به ایجاد کارهای خود کنید. شما باید بهتنهایی شروع به تفکر و تجزیهوتحلیل مشکلات کنید. بله، این کار بسیار ترسناک است، اما ارزشش را دارد. باید یاد بگیرید که به ترسهایتان غلبه کنید، زیرا در نهایت فقط با غلبه بر این ترسهاست که واقعاً رشد میکنید.
بهعنوان یک توسعهدهنده باید این را درک کنید که تقریباً هیچ پروژهای آسان نخواهد بود. شما با مشکلات زیادی روبرو خواهید شد که باید برای آنها راهحل پیدا کنید. به یاد داشته باشید که سازندگان فیلمهای آموزشی، دقیقاً مانند ما، مجبور به تمرین زیادی هستند و باید ساعتهای زیادی را صرف کار خود کنند تا بتوانند یک آموزش باکیفیت را بهصورت آنلاین ارائه دهند. آنها اولین ابزار برای تبدیل شدن به یک توسعهدهنده را در اختیار شما میگذارند، راهنماییها و روشهای خوبی را به شما ارائه میدهند، اما چیزی که نمیتوانند به شما نشان دهند، تمام ساعات تمرین و تلاش برای ساخت پروژهای است که به شما ارائه میدهند.
این آموزشها مانند یک جفت عصا هستند که به شما کمک میکنند تا راه بروید، اما اگر میخواهید بدوید، باید عصا را کنار گذاشته و یک قدم بردارید. ممکن است مشکل به نظر برسد که در واقع همینطور هم هست، اما صبور باشید. بهزودی از جهنم آموزش خارج خواهید شد.