صفر تا صد کارآموزی (2) چطور دانشم رو زیاد کنم؟

می‌تونید پادکست رو یاد در ویدیو زیر یا در کست باکس یا هم در اینستاگرام گوش کنید و یا هم متن زیر که یادداشت برداری شده از پادکست هست رو مطالعه کنید. اگر می‌خواهید به همه محتواها دسترسی داشته باشید هم کانال تلگرام اول آموزش رو دنبال کنید.

https://www.aparat.com/v/tWMAm

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

این نهمین اپیزود اول آموزش هست و سایر اپیزودها رو میتونید در کانال‌های تلگرام و اینستاگرام اول آموزش بشنوید.

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

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

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

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

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

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

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

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

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

در نهایت وقتی از دانشت مطمئن شدی باید بگردی و ببینی شرکتی با شرایط بالا برای کارآموزی وجود داره یا نه اما اگر نداشت دو راه جایگزین برای انجام این کار هست.

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

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

چطور در شرکت‌های خوب کارآموزی کنیم؟
چطور در شرکت‌های خوب کارآموزی کنیم؟

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

برای جلب اعتماد اول باید نشون بدی دسترس پذیر هستی و در صورت مشکل می‌تونه تو رو پیدا کنه و نشون بدی که قرار نیست به کدهاش دست درازی کنی و قابل اعتمادی. باز هم بحث پرسونال برندینگ و کمکش به ما برنامه‌نویس‌ها به میون میاد.

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

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

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

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

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

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

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

به همون اندازه که برای تمرین وقت میذارید برای یادگیری هم وقت بذارید. اینطور نباشه که یک ساعت مطلبی رو بخونید و ده ساعت کد بزنید یا ده ساعت فیلم آموزشی ببینید و یک ساعت تمرین کنید. برنامه نویسی نه فلسفه هست که 90٪ بخونید و 10٪ عمل کنید و نه ریاضی هست که 10٪ بخونید و 90٪ تمرین کنید بلکه مثل شیمی هست باید 50٪ بخونی و 50٪ هم در آزمایشگاه وقت بذاری و تجربه کنی.

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

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

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

از طرفی انتظار نداشته باشید که بدون هیچ هزینه‌ای میلیون‌ها تومن درآمد داشته باشید و باید روی خودتون سرمایه‌گذاری کرده باشید. این هم یکی دیگه از دلایلی هست که باعث شده بیش از 80٪ برنامه نویسان ایرانی یا بیکار باشن یا درآمد ناچیزی داشته باشن.

به هیچ عنوان چند دوره آموزشی رو با هم تهیه نکنید. یکی رو شرکت کنید به پایان ببرید یا اگر خوب نبود حذف کنید و بعد برید سراغ مورد بعد. یکی از اصلی‌ترین موانع رشد داشتن پوشه‌ای پر از دوره‌ها و مطالب آموزشی هست و بتون تضمین میدم تا وقتی اون‌ها رو پاک نکنید و از روش بالا استفاده نکنید هیچ وقت نمی‌بینید!

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

محمد ابراهیمی اول هستم و ممنون که همراه بودید. لطفا کانال‌های تلگرام و اینستاگرام اول آموزش رو فالو کن تا به همه پادکست‌ها دسترسی داشته باشید. لطفا این پادکست رو برای دوستانتون هم بفرستین.

حال دلتون خوب و خدانگهدارتون