در طول سالها، فشار زیادی برای یادگیری فناوریهای جدید، زبانهای برنامهنویسی، فریمورکها و سایر مهارتها بهسرعت به من وارد شده است. اغلب این فشار ناشی از اشتباهات خودم بوده است، به این دلیل که به کارهایی وارد میشدم که از توانم فراتر بود، اما صرفنظر از منبع آن، این فشار من را مجبور به توسعه یک سیستم قابل تکرار برای خودآموزی کرده است. در چند فصل آینده، قصد دارم شما را از طریق یک سیستم ۱۰ مرحلهای که برای یادگیری هر چیزی بهسرعت ایجاد کردهام، هدایت کنم. بیایید ابتدا در مورد این سیستم صحبت کنیم و ببینیم که چگونه کار میکند.
ایده پشت این سیستم
اوایل کارم، عمدتاً با پیدا کردن یک کتاب در مورد موضوعی که میخواستم یاد بگیرم و خواندن آن از اول تا آخر، یاد میگرفتم. فقط وقتی کتاب را تمام میکردم، سعی میکردم آنچه را یاد گرفتهام بهطور واقعی پیادهسازی کنم. با استفاده از این فرایند، متوجه شدم که دارم یاد میگیرم، اما با سرعت بسیار کندی، و اغلب مجبور میشدم دوباره کتاب را مرور کنم تا شکافهایی که در دانش خود در مورد یک موضوع داشتم، پر کنم. وقتی زمان کافی داشتم و بدون هدف مشخصی در حال یادگیری بودم، این روش خوب بود. در نهایت آنچه را که میخواستم یاد میگرفتم و خواندن یک کتاب از اول تا آخر دشوار نبود—فقط زمان میبرد. اما وقتی شروع به داشتن دلایل نیازمندتر برای یادگیری کردم—و باید این کار را سریع انجام میدادم—متوجه شدم که روش قبلی من جواب نمیدهد. اغلب اوقات وقت کافی برای خواندن کامل یک کتاب نداشتم و متوجه شدم که بسیاری از مطالب یک کتاب بهتر است برای مراجعه بهطور سریعتر مورد استفاده قرار گیرد، نه برای یادگیری واقعی. نیاز، مرا مجبور کرد که به دنبال روشهای بهتر برای آموزش خود در زمانهای فشرده باشم. در برخی موارد، فقط یک هفته یا کمتر وقت داشتم که اطلاعات کافی در مورد یک موضوع را جذب کنم تا بتوانم آن را به شخص دیگری آموزش دهم. متوجه شدم که در این شرایط، کار طبیعی برای من این بود که دقیقاً آنچه را که باید یاد بگیرم تعریف کنم و بهترین منابعی که میتوانستم پیدا کنم را برای بهدست آوردن اطلاعات مورد نیازم جستجو کنم و هرگونه اطلاعات اضافی که برای رسیدن به هدفم لازم نبود را نادیده بگیرم. متوجه شدم که سه چیز اصلی وجود دارد که باید بدانم تا بتوانم یک فناوری را یاد بگیرم: ۱. چگونه شروع کنم—چه چیزهایی باید بدانم تا بتوانم شروع به استفاده از چیزی که دارم یاد میگیرم کنم؟ ۲. دامنه موضوع—چقدر موضوعی که دارم یاد میگیرم بزرگ است و با آن چه کارهایی میتوانم انجام دهم؟ برای شروع نیازی به دانستن تمام جزئیات ندارم، اما اگر یک دید کلی از آنچه میتوانم انجام دهم و چه چیزهایی ممکن است داشته باشم، میتوانم جزئیات بیشتری را بعداً پیدا کنم. ۳. مبانی—فراتر از فقط شروع، چه موارد اصلی و رایجی وجود دارد که برای استفاده از یک فناوری خاص باید بدانم؟ آن ۲۰٪ که میتوانم یاد بگیرم تا ۸۰٪ استفاده روزمرهام را پوشش دهم، چیست؟ با داشتن فقط این سه چیز، میتوانم با یک فناوری مؤثر باشم بدون اینکه نیاز به دانستن تمام جزئیات آن از ابتدا داشته باشم. متوجه شدم که اگر میدانستم چگونه شروع کنم، چه کارهایی میتوانم انجام دهم و مبانی آن را میدانستم، میتوانم بقیه اطلاعات مورد نیاز را در حین پیشرفت یاد بگیرم. وقتی سعی میکردم از ابتدا همهچیز را یاد بگیرم، فقط وقتم را تلف میکردم، زیرا آنچه واقعاً مهم بود با تمام جزئیات کوچک دیگر مخلوط میشد. این رویکرد جدید به من این امکان را داد که فقط بر آنچه مهم است تمرکز کنم. میتوانستم به مواد مرجع تکیه کنم تا هر زمان که واقعاً به جزئیات بیشتری نیاز داشتم، شکافها را پر کنم. چند بار یک کتاب فنی را از ابتدا تا انتها میخوانید و متوجه میشوید که فقط از بخشی کوچک از فناوریای که در کتاب آمده استفاده میکنید؟ من از این تکنیک برای یادگیری زبان برنامهنویسی Go در مدت زمان بسیار کوتاهی—فقط چند هفته—استفاده کردم. من تمرکز کردم بر اینکه هرچه زودتر یاد بگیرم چگونه با Go کد بنویسم. سپس یک دید کلی از اندازه زبان برنامهنویسی و نوع کتابخانههای موجود بهدست آوردم. میخواستم احساس کلی از آنچه زبان میتواند انجام دهد، پیدا کنم. در نهایت، مبانی را یاد گرفتم. فقط وقتی نیاز داشتم که به عمق بیشتری بروم، آن مبانی را گسترش دادم.
سیستم ۱۰ مرحلهای
ظاهراً بهدست آوردن آن سه قطعه اطلاعات، کار آسانی نیست. یادگیری چگونگی شروع با یک فناوری میتواند چالشبرانگیز باشد و اغلب پیدا کردن ۲۰٪ اطلاعاتی که باید بدانید تا ۸۰٪ مؤثر باشید، دشوار است. علاوه بر این، من اغلب در پیدا کردن یک توضیح فشرده از دامنه یک فناوری مشکل داشتم. اغلب این اطلاعات در سرتاسر یک کتاب یا چند کتاب مختلف پراکنده بود. برای حل این مشکلات، مجبور شدم کمی پیش از شروع تحقیق کنم تا مطمئن شوم که میتوانم اطلاعات مورد نیازم را پیدا کنم و آن را بهگونهای سازماندهی کنم که برای پیشرفت منطقیتر باشد. ایده اصلی این فرآیند ۱۰ مرحلهای این است که ابتدا یک درک پایه از آنچه که میخواهید یاد بگیرید بهدست آورید—کافی است تا بدانید چه چیزهایی را نمیدانید. سپس آن اطلاعات را بگیرید و از آن برای تعریف دامنه آنچه میخواهید یاد بگیرید و اینکه موفقیت چگونه به نظر خواهد رسید، استفاده کنید. با آن دانش مسلح، میتوانید منابع—و نه فقط کتابها—را پیدا کنید تا به شما در یادگیری آنچه که میخواهید بدانید کمک کنند. در نهایت، میتوانید یک برنامه یادگیری ایجاد کنید تا مسیرهایی را که قرار است برای یادگیری موضوع خود طی کنید، ترسیم کنید و مواد را فقط به بهترینها که به شما در رسیدن به هدفتان کمک میکنند، فیلتر کنید. پس از انجام این تحقیقات و دانستن اینکه چه چیزی را قرار است یاد بگیرید و چگونه قرار است آن را یاد بگیرید، میتوانید هر نقطه عطفی در برنامه یادگیری خود را بردارید و فرآیند “یاد بگیرید، انجام دهید، یاد بگیرید، آموزش دهید” (LDLT) را برای درک عمیق از موضوع بهکار ببرید تا به هدفتان برسید. بخش اول این فرآیند ۱۰ مرحلهای، بخش تحقیقاتی است و فقط یکبار انجام میشود. اما مراحل ۷ تا ۱۰ برای هر ماژولی که در برنامه یادگیری خود ایجاد میکنید، تکرار میشود. این تکنیک مؤثر است زیرا شما را مجبور میکند که هدفی روشن برای آنچه که میخواهید یاد بگیرید، تعریف کنید و شما را بهطور مداوم به سمت آن هدف حرکت میدهد، با انجام دادن بهجای فقط خواندن یا گوش دادن به سخنرانیها. من توانستهام زبانهای برنامهنویسی کامل را با استفاده از این تکنیک، در مدت چند روز یاد بگیرم. هزاران توسعهدهنده دیگر که در دوره ویدیویی من در مورد این فرآیند ۱۰ مرحلهای ثبتنام کردهاند، نتایج مشابهی داشتهاند (http://simpleprogrammer.com/ss-10steps). آیا این تنها راه برای یادگیری سریع است؟ آیا این یک سیستم جادویی است؟ نه. این فقط یک روش عملی برای یادگیری سریع است، با کاهش حجم محتوا به فقط آنچه که مهم است و واقعاً به یاد گرفتن آن محتوا با مجبور کردن شما به یادگیری از طریق کشف خود و قدرت تقویتشده آموزش. همانطور که از مراحل واقعی در فصول آینده عبور میکنیم، میتوانید سیستم را طبق خواسته خود تغییر دهید، آنچه را که دوست ندارید یا مؤثر نمییابید دور بریزید و آنچه که برای شما کار میکند نگه دارید. در نهایت، شما باید بفهمید چگونه خودتان را بهروشی که برای شما کار میکند، آموزش دهید—آینده شما به آن بستگی دارد.

