در دنیای امروزه که تکنولوژی به سرعت در حال پیشرفت است مهندسان نرم افزار باید بتوانند تکنولوژیهای جدید را به تنهایی یاد بگیرند و از آنها استفاده کنند. در این بخش کتاب Soft Skills به بررسی یک پروسهی 10 قدمی برای یادگیری یک مبحث و سپس به منتور داشتن، منتور بودن و یاددهی پرداخته شده است.
منطق این پروسه بر اساس یادگیری فعال بنا شده است. کودکان با حس کنجکاوی خود بسیاری از چیزها را یاد میگیرند. وقتی بزرگتر میشویم این حس کنجکاوی در ما کاهش پیدا میکند. در این پروسه با فعال کردن حس کنجکاوی سعی میکنیم بهتر یاد بگیریم.
1. یک تصویر کلی بساز.
با جستجو در گوگل یا خواندن بخش مقدمهی یک کتاب باید بفهمی این موضوع چیه؟ چقدر وسیعه؟ برای مثال اگر میخواهید عکاسی دیجیتال یاد بگیرید اول با جستجوی گوگل و خواندن چند پست و مقاله شروع کنید. این کار برای درک وسعت موضوع و اینکه چه زیر موضوعاتی دارد انجام میشود. زیاد برای این بخش وقت صرف نکنید. حداکثر یک یا دو ساعت. یادتون باشه قرار نیست موضوعات رو یاد بگیرین قراره بفهمین چه چیزی نمیدونین.
2. محدوده را مشخص کن.
مبحثی که قصد یادگیری آن را داریم خیلی برزرگه و باید به یک محدودهی خاص اکتفا کنیم. این محدوده میتونه براساس زمان تنظیم بشه. مثلا شما نمیتوانید تمام مباحث عکاسی دیجیتال را یاد بگیرید و تمرکز خود را روی عکاسی پرتره میگذارید. یا برای مثال اگر قصد یادگیری C# را دارید، روی نوشتن یک برنامهی کنسولی تمرکز کنید.
3. موفقیت را تعریف کن.
تعریف موفقیت برای شما میتونه بسته به دلیلی که مشغول یادگیری این مبحث هستیم، متفاوت باشه. دقت کنید که باید جمله واضح باشه. برای مثال اگر قصد یادگیری عکاسی دیجیتال را دارید نگویید: میخواهم بتوانم عکسهای خوبی با دوربین دیجیتالم بگیرم. بگویید: میخواهم بتوانم امکانات دوربینم را بشناسم و کاربردشون رو بیان کنم. یا برای مثال در یادگیری C# نگویید: میخوام بتونم مقدمات C# رو یاد بگیرم. بگویید: میخوام بتونم یک اپلیکیشن ساده با C# بنویسم که اکثر امکانات زبان C# رو شامل بشه.
4. منبع پیدا کن.
هر چقدر میتوانید منبع پیدا کنید. منابع میتونن وبلاگ، ویدئوهای آنلاین، افرادی که این حرفه رو بلدن، پادکست، سورس کد، پروژههای نمونه و مستندات باشه.
5. برنامهی یادگیری بریز.
براساس منابعی که پیدا کردید، نقشهی راه طراحی کنید. هر قسمت کوچکی که در نقشهی راه ذکر میکنید یک ماژول است.
6. فیلتر منابع
در قدم 4 منابع زیادی پیدا کردیم ولی نمیتونیم همه رو مطالعه کنیم. همهی این منابع رو بررسی میکنیم که کدام یک مباحثی که ما در برنامهی یادگیریمون مد نظر داریم را پوشش میدهد. همچنین برای بررسی کیفیت میتوان نقدها و نظرات را مطالعه کرد.
قدمهای یک تا 6 یک بار و برای مشخص کردن هدف و برنامه انجام میشوند. قدمهای 7 تا 10 برای یادگیری هر ماژولی که در قدم 5 تعریف شده تکرار میشود.
7. به اندازهای یاد بگیر که شروع کنی.
باید در حدی یاد بگیرین که خودتون شروع کرده و درگیر بشین و بقیه چیزها رو کشف کنین. مثلا برای یادگیری یک زبان برنامه نویسی یا فریمورک یاد بگیرین چطور hello world رو چاپ کنین و محیط برنامه نویسیتون (مثل VS Code) را راه اندازی کنید. یکی از راهها مطالعهی خلاصهی فصل کتابه برای گرفتن یک ایدهی کلی.
8. با موضوع درگیر شو.
این قدم هیچ قانونی نداره و به خودتون بستگی داره. چیزایی که از قدم هفتم یاد گرفتین اینجا استفاده کنین. برای مثال اگر یک زبان برنامه نویسی یا تکنولوژی جدیدی یاد میگیرین یک پروژهی کوچیک تعریف کنین و انجام بدین. سوالاتی که براتون ایجاد میشه یادداشت کنین تا بعدا بهشون پاسخ بدین.
9. به اندازهای یاد بگیر که بتوانی کار مفیدی انجام دهی.
برای یادگیری ماژولی فعلی قسمتایی از منابع که مرتبط هستن رو بخونین و همزمان تلاش کنین به سوالات ایجاد شده در بخش قبل پاسخ بدین. میتونین به قدم 8 برگردین و با توجه به پاسخ سوالات و چیزای جدیدی که یاد گرفتین، موارد جدیدی رو امتحان کنین. حواستون باشه که فقط قسمتهای مرتبط رو مطالعه کنین.
10. یاد بده.
ممکنه از یاد دادن بترسین و فکر کنین آیا به اندازهی کافی یاد گرفتم که بتونم یاد بدم؟ در واقع اگر یک قدم از فردی که بهش یاد میدین جلوتر باشین خیلی راحتتر بهش آموزش میدین چون افرادی که خیلی از سطح مقدماتی دور هستن، یادشون نمیاد که مقدماتی بودن چطوریه و چه چیزهایی رو باید ذکر کنن و ممکنه از یه سری نکات پایه رد بشن. پس از منطقهی امنتون خارج بشین و به یک نفر دیگه یاد بدین. راهش هم فقط پای تخته ایستادن نیست. میتونین پست وبلاگ بنویسین، ویدئوی یوتیوب درست کنین، با یکی از دوستانتون دربارش صحبت کنین یا به سوالات در یک انجمن آنلاین مثل Stackoverflow پاسخ بدین. این قدم خیلی مهمه و بهتون کمک میکنه یادگیری شما عمیق بشه. پس هیچ وقت ازش رد نشین.
این پروسهی ده قدمی میتونه بهتون کمک کنه ولی لزومل نباید همین اقدامات برای شما هم مفید باشه پس میتونین تغییرش بدین فقط کافیه اصلش که میگه باید به جای خوندن و عمل نکردن، خوند و سوال کرد، یاد داد و انجام داد رو حفظ کنین.
داشتن کسی که این راه رو طی کرده میتونه خیلی مفید باشه و راه رو راحتتر و سرعت شما رو بیشتر کنه.
منتور خوب همیشه اونی نیست که در این زمینه خیلی موفقه. برعکس، بعضی از بهترین منتورها نمیتونن زندگی خودشون رو سامان بدن.
دنبال کسی بگردین که قبلا این کار رو انجام داده یا به افرادی، مثل شما، برای انجامش کمک کرده.
از کجا منتور پیدا کنم؟
از بین دوستان یا فامیل کسی رو پیدا کنین یا ازشون بخواین بهتون معرفی کنن. یه گروه از مهندسای نرم افزار پیدا کنین و از اون افراد کمک بخواید. از بین همکارانتون منتور پیدا کنید. اگر این گزینه رو انتخاب کنین، منتور میتونه در پیشرفت کاری هم بهتون کمک کنه.
منتور داشتن خوبه ولی گاهی اوقات منتور بودن بهتره. مهم نیست کجای مسیرتون هستید، کسی هست که بتونه از توصیههای شما استفاده کنه.
خب احتمالا با خودتون فکر میکنین چرا باید منتور باشین در حالی که خودتون هنوز چیزی نمیدونین. در واقع شما میتونین منتور کسی باشین که حداقل یک قدم از شما عقبتره. برای منتور بودن فقط کافیه با ملاحظه و صبور باشین. بهش گوش بدین و بهش انگیزه بدین.
البته توجه کنید که کسی رو بپذیرین که ارزش وقتی که براش صرف میکنین رو داشته باشه. کسی که واقعا بخواد یاد بگیره، نه کسی که از تنبلی اومده سمت شما و نمیخواد تلاش کنه. کسی که راهنمایی شما رو میخواد برای اینکه کمتر به بیراهه بره و از تجارب شما استفاده کنه.
در این نوشته سعی کردیم یک خلاصهی مفید از قسمت سوم کتاب Soft Skills داشته باشیم که به نحوه یادگیری و روشهایی برای آسانتر کردن آن میپردازد.