اگر به تازگی یادگیری یک زبان برنامهنویسی را آغاز نمودهاید، مسلماً با مشکلات و موانع زیادی روبهرو شدهاید. به طور مثال ممکن است پیشرفت آهستهای داشته باشید، شاید گاهی احساس خستگی کنید و یا حتی ناامید شوید! خوب است بدانید تمام برنامهنویسان ماهر امروز، همان تازهکارهای دیروز هستند که دست از تلاش برنداشتند. در همین راستا، در این مقاله ۹ توصیه برای تازهکارها داریم که بهتر است بدون مقدمه به سراغ آنها برویم.
بیرحمانه تمرین کنید
اگر نهایت کاری که میتوانید بکنید این است که فقط بنشینید و از علاقۀ خود به برنامهنویسی حرف بزنید، به هیچکجا نخواهید رسید! به جای آن، بهتر است به سراغ پروژههای جدید و چالشبرانگیز بروید، روی آنها کار کنید و کد بزنید. ممکن است بپرسید روی چه پروژهای و چگونه کار کنم؟
در کارهای روزانۀ خود دقت کنید. به دنبال کاری باشید که بیش از یک بار در هفته باید آن را انجام دهید. حال سعی کنید این کار را به عنوان یک مسئله در نظر گرفته و راهحلی برای انجام اتوماتیک آن ارائه دهید. مهم نیست دیگران چه راهحلهایی ارائه دادهاند و مشکل را چگونه حل کردهاند. شما این مسئله -که حتی ممکن است یک موضوع کاملاً عادی در زندگیتان باشد- را خودتان شخصاً باید حل کنید.
مانند هر مهارت دیگری، برنامهنویسی نیز نیاز به تمرین دارد. تمرینهای سنجیده و حساب شده، تمرینهایی که شما را وادار کنند از منطقۀ امن خود خارج شده و کمی سختی بکشید، با جزئیات و پیچیدگیهای کار آشنا شده و در نهایت پیشرفت کنید.
شکست نباید شما را ناامید کند. کدنویسی عبارت است از شکست، اصلاح و یادگیری؛ یادگیری اینکه چهطور کارها را بهتر انجام دهید. اگر تمرین نکنید و روی نقاط ضعف خود متمرکز نشوید، هیچ وقت پیشرفت نخواهید کرد.
صبور باشید
اغلب تازهکارها به محض اینکه کارشان به نتیجه نمیرسد، ناامید میشوند اما این در حالی است که باید بدانند که آنها تنها نیستند. افراد زیادی مانند ایشان مشغول تلاشند و فعلاً پیشرفت چندانی ندارند. تبدیل شدن به یک برنامهنویس خوب، کاری زمانبر است. شبهای خستهکنندۀ زیادی را باید سپری کنید و فکر «یک شبه راه صد ساله طی کردن» را از سر خود بیرون کنید. باید دهها هزار خط کد نوشته باشید تا بالاخره زمان نوشتن کدهای خوب فرا برسد.
اگر بعد از مدتی هنوز پیشرفت چندانی نداشتهاید و گاهی سرتان را به دیوار میکوبید و با خود فکر میکنید که شاید من اصلاً برای برنامهنویسی آفریده نشدهام، بهتر است قبل از قضاوت کردن به این نکته توجه کنید که هر کسی روش یادگیری متفاوتی دارد. روشها و منابع آموزشی مختلف -کتاب، ویدئو و غیره- را امتحان کنید و روش مناسب خود را بیابید.
علاقۀ خود را حفظ کنید
اگر از پروژهای که روی آن کار میکنید خسته شدهاید، احتمالاً اهدافتان را باید دوباره به یاد بیاورید. این احتمال نیز وجود دارد که این پروژه برای شما مناسب نیست و یا اینکه منبع مناسبی را برای یادگیری انتخاب نکردهاید. روی هر پروژهای که کار میکنید، سعی کنید همواره انگیزه و علاقۀ خود را حفظ نمایید.
عاشق خطاها باشید
اگر باگها ذهن شما را درگیر میکنند و خطاها شما را میترسانند، بدانید که این احساس بسیاری از تازهکارها است. چارهای ندارید، باید خطاها را بپذیرید و پیام آنها را دریافت کنید. دیباگ کردن کد موضوعی است که تا آخر عمر برنامهنویسیتان با شما همراه خواهد بود. هرچه زودتر پیام خطاها را دریافت کنید، وقت کمتری را هدر میدهید و پیشرفت بیشتری خواهید داشت (برای آشنایی بیشتر با مفهوم باگ، به مقالهٔ آشنايى با دريابان گريس مارى هوپر، کسی که برای اولین بار اصطلاح Bug را باب کرد! مراجعه نمایید).
اگر وقت زیادی را صرف کنید و شخصاً خطاها را برطرف کنید، بسیار ارزشمندتر از این است که برای صرفهجویی در وقت، از شخص دیگری کمک بخواهید؛ زیرا در حین تلاش برای برطرف کردن خطاها، نحوۀ کار هر بخش از کد را بیشتر درک میکنید، با ساختار کدها بیشتر آشنا میشوید، ذهن آمادهتری پیدا میکنید و در آینده خطاهای کمتری مرتکب خواهید شد.
طرز کار کدها را درک کنید
فرقی نمیکند در چه سطحی هستید؛ در هر سطحی از مهارت که هستید، یک نکته را همیشه باید رعایت کنید و آن هم اینکه هیچ کدی را بدون آگاهی از اینکه چه کاری انجام میدهد ننویسید. در این زمینه به طور وسواس گونهای کنجکاو باشید که اگر کنجکاو نباشید، در این حرفه زیاد پیشرفت نخواهید کرد. اگر قصد دارید به یک توسعهدهندۀ زبردست تبدیل شوید، فقط علاقه کافی نیست، بلکه باید سعی کنید از طرز کار همه چیز سر در بیاورید. یعنی باید بتوانید در مورد تصمیماتی که میگیرید و انتخابهایی که انجام میدهید، توضیح دهید. باید بتوانید بگویید که چرا فکر میکنید انتخاب شما درست است.
همچنین باید بتوانید عیوب برنامه را پیدا کنید، بفهمید چرا آنطور که باید کار نمیکند و بتوانید اشکالات را برطرف کنید. این کار، در ایجاد یک الگوی ذهنی در مورد نحوهٔ کار کدها به شما کمک میکند. به این صورت، وقتی مشکلی پیش میآید، راحتتر میتوانید حدس بزنید که کدام بخش از برنامه درست کار نمیکند و نیاز به بهبود دارد.
همواره در حال یادگیری چیزهای جدید باشید
مهمترین مهارتی که باید یاد بگیرید، مهارت یادگیری است؛ یعنی اگر برای انجام کاری نیازمند مهارتی هستید، باید بتوانید در حین کار، آن مهارت را در سریعترین زمان ممکن بیاموزید. اما بهترین راه یادگیری مهارتهای جدید چیست؟
برای یادگیری هر مهارتی، ابتدا باید مطالعه کنید و سپس وارد فرآیند اجرا شوید. حتی اگر به خوبی قادر به انجام آن نیستید، آن را انجام دهید؛ مشکلات و نواقص کار خود را پیدا کنید و بر روی آنها متمرکز شوید. در نهایت برای مسلط شدن بر موضوع، بارها و بارها این مراحل را تکرار کنید. این روش، به تدریج سبب افزایش مهارتهای شما خواهد شد و نکات جدید در ذهنتان نهادینه میشوند.
یاد بگیرید که چهطور با دیگران کار کنید
در بسیاری از پروژهها باید با یک گروه کار کنید. بنابراین باید با دیگران کار کردن را بیاموزید. یعنی باید بتوانید یک مسئله را به بخشهای کوچکتری تقسیم کنید تا هر بخش توسط یک برنامهنویس حل شود. همچنین باید بتوانید بین قطعه کدهای مجزا ارتباط درستی برقرار کنید تا در نهایت یک ساختار یکپارچه حاصل شود.
کار کردن با گروه، سبب میشود تا با دیدگاهها و افکار مختلف آشنا شوید و تصمیمات درستتری بگیرید اما وقتی به تنهایی کار میکنید کمتر پیش میآید که چیز جدیدی یاد بگیرید و حتی ممکن است در دام تصمیمات اشتباه گرفتار شوید! نگران اشتباهات خود نباشید. همه اشتباه میکنند و این ماهیت شغل برنامهنویسی است. بنابراین خیلی روی اشتباهات خود حساس نباشید. اشتباه کردن باعث پیشرفت شما میشود؛ لذا اشتباهات خود را بپذیرید و از آنها درس بگیرید.
فقط کد ننویسید، سعی کنید مسئلهای را حل کنید
اینکه چه چیزی تولید شود، مهمتر از این است که چگونه تولید شود. برنامهنویسی فقط شامل کدنویسی نیست؛ بخش عمدهای از برنامهنویسی درک معیارها و استانداردهای مشاغل و موقعیتهای مختلف جامعه است. اگر درک درستی از مشکلات مشتری نداشته باشید، چگونه میتوانید آنها را حل کنید؟ نخست باید بدانید خود آنها مشکلاتشان را چگونه حل میکنند و سپس سعی کنید راهحل بهتری ارائه دهید. اگر راهحل در ذهن شما شکل گرفته باشد، کدنویسی کار سادهتری خواهد بود.
یادتان باشد که شما فقط برای کامپیوترها، موبایلها و سایر وسایل هوشمند کد نمینویسید، شما برای مردم کد میزنید. به نحوۀ تفکر انسانها و ارتباطات آنها با یکدیگر دقت نموده و سپس آموختههای خود را در طراحی و ساختار برنامه اعمال کنید.
چرخ را دوباره اختراع نکنید
حتی اگر مهارت کدنویسی شما در سطح بالایی باشد، باز هم هیچوقت نمیتوانید ادعا کنید که کدهایی که نوشتهاید پیش از این توسط شخص دیگری نوشته نشدهاند. زیرا تاکنون مسائل زیادی با استفاده از زبانهای مختلف برنامهنویسی حل شدهاند و شما اولین نفری نیستید که سعی میکنید مسائل را با استفاده از آن حل کنید. البته نیازی هم نیست تمام اجزاء مسئله را شخصاً حل کنید؛ بسیاری از بخشهای مسئله، پیش از این توسط افراد دیگری حل شدهاند. میتوانید از راهحلهای موجود استفاده کنید و به جای تکرار مکررات، به بخشهای حل نشدۀ مسئله بپردازید.
سخن پایانی
در این مقاله، از میان تجربیات برنامهنویسانی که به مراتب بالایی از مهارتهای کدنویسی دست یافتهاند، 9 توصیه برای تازهکارها استخراج و ارائه شد. این توصیهها میتوانند به کسانی که به تازگی وارد دنیای کدنویسی شدهاند کمک کنند تا بر موانع و مشکلات غلبه نموده و راه خود را به سوی پیشرفت بیابند.
حال نوبت به نظرات شما میرسد. به نظر شما تازهکارها چهطور باید بر مشکلات غلبه کرده و مهارتهای خود را افزایش دهند؟ نظرات، تجربیات و توصیههای خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.