چرا زمان یادگیری برنامه نویسی احساس ناامیدی به سراغمون میاد و حس ناکافی بودن و احمق بودن بهمون دست میده ؟ چی باعث میشه اکثر افراد از یادگیری برنامه نویسی منصرف بشن و برن سراغ یه کار راحت تر ؟
توی این مقاله قراره با هم 4 تله ی مهم رو با هم بررسی کنیم ، بدون معطلی بریم سراغ اولین مورد :
یه داستانی هست که میگه مغز ما مثل یه مجموعه ای از سخت افزاره و طرز فکر ما و طوری که باهاش برخورد میکنیم همون سیستم عامل یا OS محسوب میشن. ممکنه یه سخت افزار خفن داشته باشیم ولی تا وقتی سیستم عامل و درونیات ( بذار بهش بگیم نرم افزار ) درست حسابی نداشته باشیم اون سخت افزار پشم نمی ارزه.
اینکه به مسائل چجوری نگاه میکنیم و چجوری باهاشون کنار میایم تاثیر بسیار زیادی توی درک و یادگیری ما داره، تمرکز کردن و فکر کردن به اینکه الان در چه سطحی از دانش قرار دارین کمکی بهتون نمیکنه به جاش به این فکر کنین چند روز پیش یا هفته پیش چه فرقی با الان داشتین، اینکه مثلا تو چند روز گذشته تونستین کار با Array ها و Object ها رو توی JS یا هر زبون دیگه ای یاد بگیرین پیشرفت بزرگیه ولی اگه بخواین تو همون نقطه هی با خودتون بگین نه چیزی یاد نگرفتم فقط باعث ناامیدی میشه.
موفقیت هاتون رو نسبت به گذشته خودتون بسنجین نه حال حاضر خودتون یا هر فرد دیگه ای.
مورد دوم Tutorial Hell یا Tutorial Treadmill نام داره. اسمش به اندازه کافی گویای قضیه هست ولی بذارین بیشتر بازش کنیم.
حس میکنم شاید 98 درصد افراد باهاش آشنا باشن، با اینکه میشینی 30 ساعت ویدیو آموزشی میبینی ولی به محض اینکه میخوای دست به کیبورد شی و یه خط کد بزنی میبینی هیچی بارت نیست و صفر مطلقی.
احساس میکنم اگه یکم بشینین با خودتون فکر کنین مشکل قضیه رو متوجه میشین، اینکه به جای انجام دادن فقط نشستین تماشا کردین.مثل اینه که بخوای رانندگی یاد بگیری بشینی تو یوتیوب ویدیوی How to Drive a Car for Beginners نگاه کنی. درسته تو دو قضیه کاملا جدا داریم بحث میکنیم ولی واقعا همینه، تماشای کد زدن یکی دیگه هیج چیزی جز یه مشت تئوری که نیم ساعت دیگه از مغزتون میپره به شما اضافه نمیکنه. باید مرتبا دست به کیبورد باشین و هر چیزی که یاد گرفتین رو یجا به کار ببرین. راحت ترین راه حل ؟ در نظر گرفتن یه پروژه شخصی و کار کردن روی اون! بشین فکر کن چه چیزی رو میتونی درست کنی که میتونه به حداقل 1 نفر غیر خودت کمک کنه، لازم نیست دیجی کالای بعدی رو درست کنی یا حتی هاست بگیری یا Deploy کنیش صرفا اینکه یه چیزی رو بسازی حتی یه ماشین حساب ساده یا یه سایت ساده هم خیلی خوبه.
پس دیدن ویدیو پشت ویدیو پشت ویدیو هیج کمکی قرار نیست بهت بکنه. به قول معروف :
Get your hands on the keyboard !
کلمه Niche رو احتمالا زیاد شنیدین تو زبون اونایی که یوتیوب رو آموزش میدن، یعنی یه مسیر رو مشخص کنین و فقط توی اون مسیر قدم بردارین و توی اون مسیر بهترین بشین.
اینجا هم همینه شما یه مسیر رو مشخص میکنی یا Front-end یا Back-end و زبون و استک مورد نظر رو پیدا میکنی و شروع میکنی یادگیری. حالا خیلی بحث هست که دقیقا از کجا باید شروع کرد آیا باید حتما ریاضیم خوب باشه یا الگوریتم رو خوب بلد باشم که بتونم برنامه نویسی شم که به نظرم یه مشت چرت و پرته. از هرجا که دوست داری شروع کن و همون مسیر رو ادامه بده. از شاخه به شاخه پریدن تا یه جایی اوکیه ولی اگه کش پیدا کنه چیز جالبی نیست ( سخنان یه میمون درختی قهار رو میخونین که کل زندگیش از این شاخه به اون شاخه پریده ).
و یادتون باشه قرار نیست اول مسیر یهو DevOps یا یه Full Stack Developer بشین. کسی توسعه دهنده فول استک زاده نشده و این مسیری نیست که بخواین تو شیش ماه طی کنین. به جاش یه مسیر مشخص رو پیدا کنین مثلا
HTML-CSS-JS-React-NextJS-...
به ترتیب یاد بگیرین و برین جلو ، بعدا میشه یه تکنولوژی بک اند رو چسبوند بهش و گسترده تر کار کنین، حالا این یه مسیر از ده ها مسیر فرانت اند بود واسه بک فرق داره که اگه دوس دارین رود مپ ها رو با هم بررسی کنیم تو کامنت ها یا هرجای دیگه بهم بگین سراغ اونا هم بریم.
اگه دارین فریلنس کار میکنین یکم اوضاع فرق داره بالاخره شما تو شرکت بزرگی نیستین که چند پست رو داشته باشه و ممکنه نیاز باشه چد چیز رو توی بک و فرانت بلد باشین ولی وقتی توی یه شرکت میخواین کار کنین و اون ها دنبال یه توسعه دهنده React میگردن طبیعتا دنبال کسی هستن که React رو خوب بلده نه کسی که یکم پایتون زده یکم جاوا بلده حالا این وسطا مسیرش خورده یکم ری اکت هم یاد گرفته.
لب کلام : یه مسیر رو مشخص کنین و مرور زمان استک های مختلف اون مسیر رو یاد بگیرین.
برای اکثر افراد یادگیری و انجام دادن به تنهایی سخته ( مثل خودم ) ممکنه ترجیح بدین گروهی کار کنین یا یکی که طرز فکرش مثل خودتونه و داره تو مسیر مشابه پیش میره رو کنارتون داشته باشین و از هم یاد بگیرین.
توصیه من بهتون اینه که اصلا از Reach Out کردن و مکالمه و کانکشن و ارتباط برقرار کردن با بقیه نترسین، یه اصطلاحی این وسط هست که میگه مهم نیست چی بلدی ، مهم اینه کی رو میشناسی یکم فارسیش تخمیه ولی انگلیسیش منطقی تر میشه :
"It's not about WHAT you know, it's about WHO you know."
هرچی کانکشن بیشتر داشته باشین و بیشتر خودتون رو نشون بدین به دنیای بیرون، در های بسته سریع تر و بهتر به روتون باز میشه.
واسه همینه که من تصمیم گرفتم کامیونیتی خودمو داشته باشم و شروع کردم به نوشتن و تولید محتوا در کنار یادگیریم، اینکه هم مسیر رو برای افراد مثل خودم که اول راه هستن هموار بکنم هم بتونم خودم با بقیه آشنا بشم و داستانشون رو بدونم و ازشون یاد بگیرم.
اگه تا اینجای متن با من همراه بودی پس صد در صد آدم باحالی هستی و جای آدمای باحال هم تو کامیونیتی من خالیه و خوشحال میشم که دور هم جمع بشیم و دانشمون رو به اشتراک بذاریم و بتونیم به بقیه افراد هم کمک کنیم ، توی کانال و گروه و دیسکورد ما که همین الان که دارم اینو مینویسم میخوام برم درستش کنم ، جوین بده ، یه سری لینکا رو میذارم اینجا :
-DeeVamp