این سالها با بیشتر شدن پهنای باند و سرعت انتقال داده و ارزان شدن اینترنت دیدن محتوای ویدیویی برای ما خیلی سادهتر و بصرفهتر شده است. برای یادگیری هر چیزی میتوانیم آموزش تصویری خوبی در اینترنت پیدا کنیم و مرحله به مرحله پیش برویم و کار خود را پیش ببریم. گاهی برای یک موضوع مشخص هزاران دورهی آموزشی پیدا میکنیم که از ترس از دست دادن چند نکته ساعتها و شاید روزها وقت خود را صرف دیدن ویدیوهای طولانی و با جزعیات یا ویدیوهای کوتاه و مختصر میکنیم و بیشتر اوقات فقط با تکرار مطالب تکراری و گاهی چند نکتهی جالب روبرو میشویم. اما آیا این کار بهینه است؟ خیر!
البته شاید این روش برای کارهای ساده جوابگو باشد، کارهایی که جزعیات کمی دارند و خیلی دیر تغییر خاصی در روش انجامشان رخ میدهد. من علاقهی خاصی به هنر نجاری دارم و از آموزشگاه بزرگ یوتوب چیزهایی خیلی مفیدی یاد گرفتم، نکته اینجاست که آموزشهایی که در چندین سال گذشته، ۱۰ یا ۲۰ سال گذشته درست شده بودند، همین امروز هم کاملن قابل استفاده هستند و اگر آنها را با آموزشهای امسال مقایسه کنید تفاوت چندانی مشاهده نمیکنید. دیگر اینکه آموزشهای ویدیویی بیشتر برای کارهایی عملی که برای شما بهتر است روند فیزیکی حرکت ابزارها و روند پیشرفت کار را مشاهده کنید به کار میآید. کاری که ابتدا و انتهای مشخصی دارد، مثل مراحل رنگ کردن دیوار اطاق شما
مخاطب این نوشته دوستانی است که علاقمند به یادگیری برنامهنویسی هستند. همانطور که قبلن هم گفتم اولین قدم برای یادگیری برنامهنویسی یادگیری زبان انگلیسی است. منابع بیشمار با تنوع فراوان به زبان انگلیسی وجود دارد که شما میتواند در روند یادگیری خود از آنها بهرمند شوید، منابع موجود به زبان فارسی اصلن با انگلیسی قابل مقایسه نیست، چه از نظر کمیت یا کیفیت یا به روز بودن. مهمتر از همه تمام مستندات همهی زبانها، فریمورکها، کتابخانهها و تمام ابزارهای مورد نیاز شما به زبان انگلیسی نوشته شدهاند.
در رشتههایی که در دنیای مدرن به سرعت در حال حرکت رو به جلو و پیشرفت هستند مثل علم کامیپوتر و... اگر یک آموزش متعلق به مثلن ۲ سال گذشته باشد به احتمال زیاد تاریخ مصرف آن گذشته است، درست است که میتوان از آن چیزهای مفیدی یاد گرفت اما معمولن در نسخههای جدیدتر کارها به روش دیگری انجام خواهد شد که در آینده موجب سردرگمی شما میشود.
هیچ مرجعی بهتر و به روز تر از مستندات نیست، شما اگر همین امروز یک آموزش را تولید کنید ممکن است فردا تغییراتی در زبان یا فریمورک ایجاد شود یا باگ جدیدی کشف شود و... که تغییرات مهمی در روش انجام کارها ایجاد میکند. پس برای ما بهتر است هرچه زودتر به خواندن و یادگیری از طریق مستندات عادت کنیم.
حرفهای من به این معنی نیست که اصلن از آموزشهای ویدیوی استفاده نکنید. اتفاقن برای شروع بهترین روش یادگیری برای خود من دیدن ویدویهای آموزشی بود و به دیگران نیز این را توصیه میکنم که با دیدن یک دورهی ویدیوی خوب(نکتهی مهم با کیفیت بودن این دوره است) شروع کنند.
اما نکتهی کار اینجاست که شما در انبوهی از آموزشهای مختلف غرق نشوید و پس از اتمام یک دوره به دورهی دیگر نروید. این کار باعث تلف شدن وقت شما خواهد شد. در کل چیز جدیدی از این ویدیوها یاد نخواهید گرفت. دنبال کردن یک دوره و انجام دادن کارهای استاد به شما این توهم را خواهد داد که در حال یادگیری هستید، اما اینطور نیست. شما مثل طوطی فقط قدمهای استاد را تکرار میکنید. برای امتحان خود سعی کنید پس از اتمام دوره دوباره از اول بدون نگاه کردن به آموزش همان برنامه را بنویسید، متوجه خواهید شد که این کار برای شما چقدر سخت است.
گاهی ممکن است به مشکلی برخورد کنید که نتوانید آن را حل کنید. برای پیدا کردن پاسخ سوال خود در گوگل جست و جو میکنید و اولین دوست شما stackoverflow.com و دومین دوست شما مستندات زبان یا فریمورک شماست. اما چندین ویدیو وجود دارد که به مشکل شما اشاره کرده اند، خب چه چیزی بهتر از دیدن ویدیو؟ همه میدانیم که خواندن کار سختی است؟ اما مشکل اینجاست که شما با دیدن چندین ویدیوی تاریخ گذشته و طولانی و چند ساعت تلف کردن وقت خود دست آخر به سمت دو دوست خود برمیگردید و آنجاست که کم کم مشکل خود را حل میکنید. البته این کار اشکالی ندارد و گاهی میتوان ویدیوهای مفید و سرراستی هم پیدا کرد، ولی به ندرت این اتفاق میافتد و باور کنید تعداد مشکلاتی که درگیرشان میشوید بسیار بیشتر از ویدیوهای مفید است. پس وقت خود را تلف نکنید.
با تمام این صحبتها من هم معتقدم برای شروع، آموزشهای ویدیوی یکی از بهترین روشهای یادگیری هستند. اما چکار کنیم که بیش از اندازه وقت خود را صرف این مرحله از یادگیری نکنیم.
۱ - هر زبان یا فریمورکی را که قصد یادگرفتن آن را دارید با دوستی که در آن موضوع تجربه دارد مشورت کنید که یک دورهی ویدویی به روز و با کیفیت را به شما معرفی کند. دوستان با تجربه معمولن با دیدن چند دقیقه از یک دورهی آموزش متوجه باکیفیت بودن یا نبودن آن میشوند.
۲ - فقط و فقط همین یک دوره را بینید و تمرینات آن را انجام دهید و دوباره درگیر ویدیوها و دورههای دیگر نشوید. هرطور شده این دوره را کامل به پایان برسانید و اگر لازم شد دوباره آن را انجام دهید تا برای شما جا بیفتد.
۳ - پس از پایان دوره، انگار شما یک بوتکمپ را به پایان رساندهاید و باید شروع به انجام پروژههای خود کنید. چندین پروژه را برای خود تعیین کنید و شروع به کدنویسی کنید، نکته اینجاست که در این مرحله وقتی با مشکلات مواجه میشوید دیگر لازم نیست یک دورهی ویدیوی جدید را از نو شروع کنید!! به دوست خود گوگل پناه ببرید و به دنبال جواب باشید. در متنها و مستندات و stackoverflow به دنبال جواب خود باشید. حتمن جواب را پیدا خواهید کرد.