آیا برای شما هم اتفاق افتاده است که یک زبان برنامهنویسی را یاد گرفتهاید، به طور کامل به آن مسلط شدهاید، اما پس از چند سال تاریخ انقضای آن زبان برنامهنویسی فرا رسیده و به دست فراموشی سپرده شده است؟ پاسخ اکثر برنامهنویسان به این سوال، یک “بله” قاطعانه است. در حقیقت، تغییر پای ثابت دنیای توسعه نرمافزار است. زبانها، فریمورکها، الگوهای طراحی جدید با سرعت بالایی ظهور پیدا میکنند و این دنیای پر از کد و الگوریتم را با تغییر و تحول مواجه میکنند.
حال سوال اینجاست که در این دنیای پر از تغییرها و اخبار جدید، چگونه میتوان این تغییرات را به یاد سپرد و به سرعت زبانها و فریمورکهای جدید را یاد گرفت؟
جواب این سوال بسیار آسان است: “یادگیری موثر به عنوان یک توسعه دهنده”
یکی از مهمترین مهارتهایی که شما به عنوان یک توسعهدهنده نرمافزار باید آن را کسب کنید، مهارت یادگیری است. از آنجایی که یادگیری یکی از اصول پیشرفت و حرکت در مسیر موفقیت است، پس یک توسعهدهنده نرمافزار نیز برای موفقیت در حرفه خود باید هنر یا مهارت یادگیری را در خود پرورش دهد.
مشفق همدانی یکی از توسعهدهندگان موفق نرمافزار و مدرس در این حوزه است. او داستان زندگی حرفهای خود را اینگونه تعریف میکند:« من کار حرفهای خود را با عنوان توسعهدهنده C++ شروع کردم. پس از چند سال، عضو تیمی شدم که مشغول توسعه java بودند. اما پس از مدتی از این تیم جدا شدم و به یک استارتاپ پیوستم. در این استارتاپ فناوریهای جدید را ارزیابی کردیم و در نهایت React Native را برای ایجاد اپلیکیشنهای موبایل انتخاب کردیم.
میبینید؟ طی مدت ۵ سال، من از توسعه C++ به Java و سپس به کار توسعه JavaScript پرداختم. در واقع، من از یک توسعهدهنده desktop به یک توسعهدهنده وب و موبایل تبدیل شدم. و دلیل اینکه توانستم در تمام این نقشها موفق شوم این بود که من یاد گرفتم که چگونه مهارت یادگیری را کسب کنم».
داستان جالبی بود، نه؟ به احتمال زیاد حالا دارید با خود فکر میکنید که چگونه این کار را انجام دهم و این مهارت را یاد بگیرم؟ در این مطلب دقیقا میخواهیم به همین موضوع بپردازیم و نکات و ابزارهایی را معرفی کنیم که با استفاده از آنها میتوانید مهارت یادگیری را فرابگیرید.
یادگیری زبانهای برنامهنویسی، ابزارهای توسعهدهنده و الگوهای طراحی بسیار آسان میشود، زمانی که خودتان را عمیقا با آنها درگیر کنید. در این صورت است که به سرعت یاد میگیرید و پیشرفت میکنید.
اولین کاری که برای شروع مسیر یادگیری و درگیر کردن خودتان با مسائل و زبانهای جدید باید انجام دهید، خواندن و مطالعه است. کتابها و وبلاگها یک راه بسیار عالی برای شروع مرحله یادگیری است.
خواندن کتاب علاوهبراین که باعث یادگیری شما میشود، جرقه علاقهمندی را نیز در شما ایجاد میکند. به عنوان مثال، شما ممکن است بدون علاقه خاصی، تصمیم بگیرید که کتابی را با عنوان React Native بخوانید. پس از مطالعه آن، احتمال این وجود دارد که شما به این حوزه علاقهمند شوید و به دنبال یادگیری هرچه بیشتر آن بروید.
اما همواره این نکته را به یاد داشته باشید که صرف خواندن تنها راه تسلط بر یک زبان برنامهنویسی نیست. فقط آغازگر مسیر است.
[button class=”github-btn” href=”https://github.com/leonardomso/You-Dont-Know-JS”]سری کتابهای You Don’t Know JS[/button]
انگیزه مهمترین عامل موفقیت در مسیر یادگیری است. هنگامی که خودتان را متقاعد کردید که میخواهید چیز جدیدی یاد بگیرید، حال زمان آن فرا رسیده است که یک هدف را مشخص کنید و انگیزه لازم را در خود ایجاد کنید. برای ایجاد انگیزه نیز باید اهدافتان را به درستی انتخاب کنید. میبینید؟ همه چیز زنجیروار به هم وصل هستند و وجود یک عامل بسته به حضور عامل دیگری است.
پس برای اینکه شعله انگیزه را در خود روشن نگهدارید، بهتر است که اهداف کوتاهمدت و بلندمدت را برای خودتان تعیین کنید. وجود اهداف کوتاهمدت بسیار کاربردی و موثر است. زیرا زمانی که به هدف کوتاهمدتی که برای خود تعیین کردهاید میرسید، احساس موفقیت در شما ایجاد میشود. همین امر باعث میشود که شور و شوق بیشتری برای حل مسائل و رسیدن به اهداف بلندمدتتان داشته باشید.
همچنین اهداف کوتاهمدت به افزایش تمرکز کمک میکند و به شما یادآوری میکند که در مرحله بعد کدام هدف را باید نشانه بگیرید. این همان مدلی است که بسیار از بازیهای کامپیوتری از آن پیروی میکنند تا شما را درگیر بازی کنند و انگیزه ادامه دادن بازی را در شما ایجاد کنند.
برای اینکه بتوانید وظایف و اهدافتان را مدیریت کنید، میتوانید از نرمافزار Trello استفاده کنید. در این نرمافزار تمامی وظایف و اهداف مشخص میشوند. همچنین با ابزارهای مختلف میتوانید وضعیت و روند پروژه را برای خود مشخص کنید. این کار ذهنیت کاملی از پروژه در شما ایجاد کرده و مهارت تمرکز و یادگیری را در شما تقویت میکند.
بهترین راه برای یادگیری مهارت جدید به عنوان یک توسعهدهنده نرمافزار، یادگیری در حین تکمیل یک پروژه از ابتدا تا انتهاست. هنگامی در این زمینه مطالعه کردید و اهدافتان را تعیین کردید، زمان آن فرا رسیده است که انجام یک پروژه واقعی را در پیش بگیرید.
البته منظور از پروژه واقعی بدان نیست که به دنبال یک کسبوکار بزرگ باشید و توسعه نرمافزار آنها را برعهده بگیرید. نه! شما میتوانید از همین زندگی روزمره خود شروع کنید. به دور و اطراف خود نگاه کنید و ببینید چه نرمافزار یا ابزاری میتواند زندگی شخصی شما را آسانتر سازد. یا حتی میتوانید اپلیکیشنی را که از قبل ایجاد شده است و شما با استفاده از آن زندگی بهتری دارید، از نو طراحی کنید و آن را به صورت اختصاصی درآورید.
با این کار، علاوهبراین که بر روی یک پروژه واقعی کار میکنید، با فناوری یا زبان برنامهنویسی جدید بیشتر آشنا میشوید و آن را را عمیقتر یاد میگیرید. اینجاست که مرحله یادگیری شما رفتهرفته کاملتر میشود و یک قدم دیگر به سمت هدف نهایی برمیدارید.
[button class=”github-btn” href=”http://frontcast.ir/become-a-javascript-developer”]پادکست شماره ۵: تبدیل شدن به توسعه دهنده جاوااسکریپت[/button]
تصور کنید شروع به انجام یک پروژه واقعی با کتابخانه React.js میکنید و در این بین با یک ارور بزرگ روبرو میشوید. واکنش شما نسبت به این مسئله چگونه است؟ به نظر شما مرحله بعدی چیست؟
گیر کردن در یک مسئله یک مشکل عادی است که حتی توسعهدهندگان بزرگ نیز در زندگی حرفهای خود با آن روبرو هستند. پس نباید از بخش نمایش ارورها در محیط کدنویسی هراسی داشته باشید. تنها باید مجموعه کارهایی را در پیش بگیرید که توسعهدهندگان بزرگ نیز برای حل مشکل یا ارور آنها را انجام میدهند. در ادامه، این مجموعه فعالیتها را برای یافتن راهحل عنوان میکنیم:
اولین کاری که یک توسعهدهنده حرفهای برای رفع ارور انجام میدهد این است که کدهای خود را دیباگ میکند. برای این کار باید اطمینان حاصل کنید که در محیط برنامهنویسیتان امکان دیباگ وجود داشته باشد. در غیر این صورت باید به صورت دستی این کار را انجام دهید.
چرا که بعضی اوقات، ارورهایی وجود دارند که به هنگام نوشتن یا خواندن مجدد کد متوجه آن نمیشویم. تنها با دیباگ کردن است که ظاهر میشوند.
بسیاری از مواقع توسعهدهندگان با یک ارور بزرگ یا مسئلهای مواجه میشوند که منجر به دلسردی و ناامیدی آنها میشود. اگر این اتفاق برای شما هم افتاد، توصیه میکنیم که کدنویسی را رها کنید و فکر و ذهن خود را از آن موضوع دور کنید. کمی با خیال آسوده استراحت یا تفریح کنید. سپس دوباره پشت لپتاپتان بنشینید و شروع به یافتن راهحل کنید. اینجاست که متوجه میشوید راه حل این مشکل چقدر راحت و آسان بوده است. اما از آنجایی که خسته و ناامید بودید، نمیتوانستید به خوبی تمرکز کنید.
گاهی پرت کردن حواس از کدنویسی و دور شدن از مسائل مربوط به آن، کلید حل مشکلات است. چرا که به این ترتیب مغز و ذهن شما ایدههای جدیدی به شما میدهد و روشهای تازهای برای حل مشکل ارائه میدهد.
به جرئت میتوان گفت که گوگل بهترین دوست یک توسعهدهنده نرمافزار است. اگر در حال کار بر روی فناوریهای نرمافزاری هستید و در این میان با یک مشکل مواجه شدهاید، در گوگل جستجو کنید و به دنبال پاسخ یا راهحل مشکلتان باشید.
اجتماعات عظیمی در اینترنت و در انجمنهای آنلاین گرد هم جمع شدهاند و در مورد بسیاری از مشکلات بحث میکنند. بنابراین ممکن است قبلاً در همین تالارهای گفتگو درباره مشکل شما هم بحث شده و راهحل آن ارائه شده باشد. پس توصیه میکنیم قبل از اینکه سوالتان را از فرد دیگری بپرسید، ابتدا گوگل کنید.
Stack Overflow یک منبع بسیار عالی برای توسعهدهندگان است. در این تالار گفتگو سوالات و مشکلات برنامهنویسی پرسیده میشود و افراد متخصص به آنها پاسخ میدهند. بنابراین، همیشه میتوانید در این تالار گفتگو سوال موردنظر خود را جستجو و پاسخ خود را پیدا کنید. البته اگر در آنجا درباره مشکل شما بحثی نشده باشد، میتوانید سوالتان را ارسال کنید. سپس منتظر پاسخ از طرف متخصصان حاضر در آنجا باشید.
هنگامی که شما به صورت انفرادی به دنبال یادگیری باشید، ممکن است تاثیر آن بر روی یادگیری بسیار کم باشد. چرا که با هیچکسی در ارتباط نیستید و اطلاعات جدیدی کسب نمیکنید. توسعهدهندگان موفق توصیه میکنند که از انزوا فاصله بگیرید و در گروههای برنامهنویسی فعال باشید.
این کار با فواید زیادی همراه است. وقتی در کنار همنوعان خود قرار میگیرید، با بازخورد و نظرات آنها مواجه میشوید. ممکن است در حوزه برنامهنویسی نکتهای را آنها به شما گوشزد کنند و یا شما موردی را به آنها یادآور شوید. در نتیجه، تعامل با همنوعان و برنامهنویسان به روند یادگیری و پیشرفت شما سرعت میبخشد.
برای اینکه با همنوعان خود در ارتباط باشید و به صورت گروهی در پی یادگیری باشید، روشهایی وجود دارند که در زیر به آنها اشاره میکنیم:
صنعت نرمافزار یکی از فناوریهایی است که به سرعت در حال تغییر میباشد. برای ادامه فعالیت در این حوزه، باید یادگیری مداوم را سرلوحه کارتان قرار دهید.
همانطور که هنری فورد (Henry Ford) در این باره میگوید:« هر کسی که روند یادگیریاش را متوقف کند، به سرعت پیر میشود. حال چه بیستساله باشد و چه هشتاد ساله! تنها کسی همواره جوان میماند که همیشه در مسیر یادگیری حرکت کند و گام بردارد».
[button class=”github-btn” href=”http://frontcast.ir/successful-software-developers-habits”]۱۰ عادت توسعه دهندگان بزرگ[/button]
۵۰ درصد تخفیف ویژه زمستان فرانت کست تا ۱۴ دی
کد تخفیف: wnt