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

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

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

بررسی فرآیند یادگیری

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

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

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

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

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

خودآموزی

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

ممکن است عجیب به نظر برسد، اما تعجبی ندارد که بازی کردن یک ابزار قدرتمند برای یادگیری است. این را در سراسر قلمرو حیوانات نیز مشاهده می‌کنیم. بچه‌حیوانات معمولاً زیاد بازی می‌کنند و از طریق آن، مهارت‌های مهمی را برای بقا یاد می‌گیرند. تا به حال بچه‌گربه‌ای را دیده‌اید که نحوه‌ی شکار را یاد می‌گیرد؟ ما هم به همین شکل یاد می‌گیریم—از طریق بازی کردن، از طریق انجام دادنِ فعالانه بدون آنکه دقیقاً بدانیم چه کار می‌کنیم.

برای مثال، زمانی که جوان‌تر بودم، یک بازی کارتی به نام Magic the Gathering انجام می‌دادم. من ساعت‌ها این بازی را انجام می‌دادم، زیرا برایم جذاب بود. از استراتژی‌های لازم برای پیروزی در برابر حریف، که ترکیبی از هوش، شانس و خلاقیت بود، لذت می‌بردم.

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

دسترسی به این توانایی که بتوانیم با چیزی بازی کنیم، نه تنها انگیزه‌ی ما را افزایش می‌دهد، بلکه فرآیند یادگیری را به طرز چشمگیری تسریع می‌کند. قبل از خواندن یک کتاب درباره‌ی یک موضوع، آن را ورق بزنید و مستقیماً وارد عمل شوید و شروع به آزمایش کنید. نگران نباشید که دقیقاً نمی‌دانید چه می‌کنید—فقط سرگرم شوید و ببینید ذهن شما چه سؤالاتی ایجاد می‌کند.

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

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

این همان مفهومی است که فرآیند ۱۰ مرحله‌ای‌ای را که در فصل‌های بعدی بررسی خواهیم کرد، شکل داده است. این روش، ساده‌ترین و طبیعی‌ترین راه یادگیری است—روشی که در همه‌ی ما وجود دارد، اما متأسفانه اغلب از ما گرفته می‌شود.