دلتان می خواهد برنامه نویس بشید تا حالا شاید بیشتر از 10 تا دوره آموزشی دیده اید. چندین مقاله در مورد زبان یا فریمورک مورد نظرتان هم خوانده اید ولی سؤال اینجاست که تا الان چند تا پروژه شخصی و واقعی از صفر نوشته‌اید که به درد رزومه شما بخورد؟ منظورم پروژه هایی نیست که در دوره ها قدم به قدم انجام داده‌اید بلکه پروژه هایی که خودتان ایده آن را داده‌اید و از صفر شروع به نوشتن آن کرده اید.

اگر جواب صادقانه شما «هیچی» است شما در جهنم آموزش (tutorial hell) گیر افتاده اید. البته این فقط برای شما نیست و خیلی از تازه کاران مثل شما هستند. اتفاقاً جهنم آموزش برخلاف اسم ترسناکش خیلی هم بد نیست. شما با دیدن آموزش‌ها حس پیشرفت دارید و جایی که دارید راحت هم هست. ولی باید به خودتان تکانی بدهید و از مصرف کننده آموزش به یک خالق پروژه تبدیل شوید. در این مقاله به شما می‌گویم که چطور این کار را بکنید.

جهنم آموزش (tutorial hell) چیست؟

به چرخه بینهایت تماشای دوره های آموزشی و خواندن مقاله های آموزشی و ویدیوهای مربوطه جهنم آموزش گفته می‌شود که شما هیچ وقت خود را آماده برای ساختن یک پروژه به تنهایی نمی بینید.

شما دوره را می‌بینید و قدم به قدم با مدرس کد می نویسید و کدتان هم کار می‌کند. یک پروژه مثل to-do list و یا وبلاگ ساده هم ساخته‌اید از روی دست مدرس و خوب هم کار می‌کند. اما به محض اینکه آموزش تمام می‌شود و می‌خواهید یک پروژه از صفر شروع کنید انگار دنیا روی سر شما خراب می‌شود و مغز شما ازکار می‌افتد حتی نمی‌دانید که از کجا باید شروع کنید و چه کاری باید انجام بدهید. شما هستید و یک پروژه خالی.

از کجا بفهمیم که در جهنم آموزش گیر افتاده ایم؟

زمانی که پوشه دوره های آموزشی (tutorials) همه فضای هارد شما را گرفته است و در حال ترکیدن است ولی پوشه ای که برای پروژه های خودتان ساخته‌اید مثل (projects) خالی است شما در جهنم آموزش گیر افتاده اید

  • شما فقط زمانی که در حال دیدن دوره آموزشی یا خواندن مقاله هستید می‌توانید کد بنویسید و زمان های غیر از آن نمی‌توانید و حوصله ندارید در جهنم آموزش افتاده اید.
  • اگر همیشه حس می‌کنید که باید یک دوره X را هم ببینید تا آماده شوید برای کار در جهنم آموزش گیر افتاده اید.
  • اگر می‌توانید ساعت‌ها درباره ی مفاهیم تئوری حرف بزنید ولی زمان عمل و پیاده‌سازی که می‌رسد حتی نمی‌توانید یک API ساده تعریف و پیاده‌سازی کنید. یا پروژه خودتان را به API متصل کنید.

چرا در جهنم آموزش گیر می افتیم؟ (بخش روانشناسی)

فرار کردن از جهنم آموزش سخت است زیرا که باید از حاشیه امن خارج شوید و خودتان به تنهایی به جنگ باگ و آموزش و مسائل بروید. زیرا که در جهنم آموزش شما پشتتان به دوره یا مقاله گرم است و مغز شما اینطوری گول خورده است. همچنین در چنین حالتی حس کاذب پیشرفت دارید و این حس خیلی خوب و جذاب است.

همچنین وقتی شما یک دوره را تمام می‌کنید مغز شما به شما پاداش می‌دهد که شما یک مفهوم جدید را به صورت کامل یاد گرفته‌اید. اما خبر بد این است که این یادگیری یک یادگیری passive و غیرفعال است زیرا که شما فقط اطلاعات را مصرف کرده‌اید و چیزی خلق نکرده اید.

همچنین شروع کردن یک پروژه از صفحه خالی و از صفر ترسناک است و کلی نگرانی در پی دارد و اگر انسان کمال گرایی هم که باشید این وضع بدتر خواهد بود. سؤالاتی مثل اینکه اگر خطا داشته باشد چه کنم؟ اگر نتوانم تمامش کنم چه می شود؟ برای شما پیش خواهد آمد. اما در آموزش این نگرانی‌ها و اضطراب‌ها وجود ندارد. قبل از شروع پروژه شما از شکست می ترسید.

نکته خیلی مهم: برنامه نویسی واقعی از 90٪ شکست خوردن و 10٪ درست کردن آن شکست ها تشکیل شده است.

یک مورد دیگر که ما در این جهنم گیر می‌افتیم سندروم ایمپاستر (Impostor syndrome) است. این سندروم به این شکل است که شما همیشه با خودتان می‌گویید که هنوز به اندازه کافی خوب نیستید و دارید بقیه را گول می‌زنید به خاطر همین به دنبال مدرک و گواهی و آموزش بیشتر می‌روید تا این حس ناکافی بودن را از خودتان دور کنید.

چطور از جهنم آموزش فرار کنیم (استراتژی فرار)

فرار از جهنم آموزش یک استراتژی ساده 5 مرحله‌ای دارد که می‌توانید از این جهنم خلاص شوید و به سمت پروژه واقعی حرکت کنید. که در ادامه آن‌ها را بررسی می‌کنیم.

قدم اول: ایده فقط یک چیز کوچک

مشکل این است که ما به عنوان ایده به دنبال یک کار بزرگ هستیم اما سنگ بزرگ نشانه نزدن است. به دنبال یک ایده کوچک و احمقانه بروید. مثل یک ماشین حساب ساده یا یه برنامه بنویسید که با هر بار رفرش کردن یک جمله بزرگان یا یک بیت شعر به شما نشان دهد (استفاده از API) یا یک ابزار ساده باشد که مثلاً لینک های یوتیوب را در خود ذخیره کند.

ایده ای که می‌دهید باید به‌قدری ساده و کوچک باشد که بتوانید در یک آخر هفته تمامش کنید (البته شاید اولش کل آخر هفته را با سختی برای آن بگذارید ولی ارزشش را دارد)

قدم دوم: کپی نکنید ترکیب کنید

این قدم خیلی مهم است. فرض کنید که یک آموزش دیده‌اید که در بک بخش آن آموزش ساخت برنامه آب و هوا گفته شده است و در بخش دیگری برنامه یادداشت برداری آموزش داده شده است. حال این دوتا پروژه را با هم ترکیب کنید و مثلاً برنامه‌ای بسازید که با توجه به آب و هوا لباس مناسب را به شما پیشنهاد دهد. اگر این کار را انجام دهید شما دیگر کپی نمی‌کنید بلکه یک مسأله جدید را با مطالب یادگرفته حل می‌کنید و این با‌ارزش است.

قدم سوم: اصل یادگیری در لحظه (just-in-time learning)

بیشتر آموزش‌هایی که ما در جهنم آموزش می‌بینیم برای روز مبادا هستند و شاید از آن‌ها به این زودی‌ها استفاده نکنیم. یعنی با خود می‌گویید این را یاد بگیرم شاید یک روزی به دردم بخورد یا این را یاد بگیرم خیلی در موردش صحبت می‌کنند شاید لازمم شود. این کار را نکنید. بلکه یادگیری در لحظه را انجام دهید مثلاً می‌خواهید برای پروژه خود سیستم احراز هویت راه اندازی کنید در همان لحظه به سراغ آموزش آن بروید و آن را یاد بگیرید و در پروژه خود از مطالب یاد گرفته شده استفاده کنید.

قدم چهارم: پروژه را تا حد ممکن به بخش‌های کوچک تقسیم کنید

یک پروژه بزرگ را وقتی می‌خواهید پیاده‌سازی کنید ذهن شما به همه جوانب فکر می‌کند و مشوش می‌شود و آخر هم با کلی نگرانی آن‌ را رها می‌کنید. پس سعی کنید که آن را به بخش‌های کوچک تقسیم کنید و هر بار به یک بخش آن فکر کنید و بقیه را برای بعداً بگذارید. مثلاً بگویید که امروز فقط می‌خواهم یک صفحه html ساده بسازم که داخل آن خوش آمد گویی باشد. فردا یاد بگیرید که چطور از API اطلاعات لازم را می‌گیرید. پس فردا اطلاعات گرفته شده را در html بدون قالب بندی نمایش دهید و روز بعد آن را قالب بندی کنید و …. اگر این کار را انجام دهید هر روز حس پیشرفت دارید و ترسناک هم نخواهد بود.

قدم پنجم: شروع کنید حتی اگر افتضاح باشد

اولین پروژه شما قرار نیست که شاهکار باشد برعکس قرار است پر از باگ و کد کثیف باشد. اما این عالی است چون پروژه ای است که خودتان آن را ساخته‌اید پس فقط شروع کنید و ادامه دهید.

وسط پروژه گیر کرده‌ام حال چه کنم؟ (تکنیک های نجات)

بخش بزرگی از ترس‌های ما برای فرار از جهنم این است که اگر وسط پروژه گیر کردیم چه کنیم؟ جواب این است که شما حتماً گیر خواهید کرد. اما خبر خوب این است که گیر کردن یعنی یادگیری و این خیلی خوب است. برای اینکه هر بار گیر کردید بتوانید ادامه دهید باید راه‌های زیر را انجام دهید

به سرچ (search) کردن مسلط شوید.

هیچ برنامه نویس ارشدی همه چیز را حفظ نیست. تفاوت یک برنامه نویس ارشد و تازه کار این نیست که برنامه نویس ارشد سینتکس بیشتری بلد است بلکه برنامه نویس ارشد به راحتی می‌تواند سرچ کند و جواب مشکل را پیدا کند. امروزه می‌توانید از گوگل و چت های هوش مصنوعی استفاده کنید و به راحتی جواب مشکلات خود را پیدا کنید و به کارتان ادامه دهید پس یاد بگیرید که چطوری می‌توان راه حل مشکلات را پیدا کرد. دقت داشته باشید که این کار یک مهارت اصلی است و تقلب نیست.

قانون 20 دقیقه برای کمک گرفتن

وقتی به مشکلی برخورد کردید حداقل ۲۰ دقیقه تلاش خودتان را بکنید که مشکل را خودتان حل کنید. سرچ کنید و همه راه‌هایی را که بلد هستید امتحان کنید. اگر بعد از حداقل ۲۰ دقیقه نتوانستید مشکل را حل کنید از همکار یا دوستتان کمک بگیرید.

دیباگ کردن بخشی از کار برنامه نویسی است است نه یک شکست

برخورد به خطا و اررور یکی از چیزهایی است که برای برنامه نویسان عادی است و هیچ وقت به معنی شکست و نگرانی نیست. پس دیباگ کردن را به عنوان یک مهارت یاد بگیرید. پروژه های واقعی باعث می‌شود که بیشتر دیباگ کنید و در کار خود ماهر شوید.

جمع‌بندی

تنها راه خروج از جهنم آموزش این است که بسازید. از برنامه‌های کوچک و قدم به قدم به خودتان متکی باشید و بسازید و پیشرفت کنید. یک پروژه که خودتان آن را شروع کرده‌اید و صدها بار به خطا خورده‌اید و آن را حل کرده‌اید صدها برابر بیشتر از دوره های آموزشی که فقط از آن‌ها کپی کرده‌اید به شما مهارت و اعتماد به نفس می‌دهد. پس همین الان بعد از اینکه این مقاله را تمام کردید یک پروژه برای خودتان تعریف کنید و اولین قدم برای فرار از جهنم را بردارید.