توسعه دهنده اندروید | هم تیمی در coursee.org | در تلاش برای تبدیل رویا به واقعیت
پنج مهارت برتر برای یک برنامهنویس موفق
همیشه باید به کسانی که قرار هست برنامهنویسی یاد بگیرند یا اینکه در مسیر یادگیری هستند بگوییم که برنامهنویسی فقط نوشتن چند خط کد که یاد گرفتید نیست، و یا اینکه چند دستور را پشت سرهم اجرا کنید که یک برنامه بسازید هم نیست.
یک برنامهنویس موفق لزوما دارای مدارک آموزشی و یا تحصیلی خاص نیست. بلکه کسی هست که با سرعت بالا و دقت کامل یک محصول را ایجاد و ارائه کند.
همیشه در ابتدای مسیر، کسانی هستند که ناامید و سرخورده و بیانگیزه میشوند و فکر میکنند که از پس برنامهنویسی بر نخواهند آمد ولی بعد از مدتی خیلی فعال و قوی پیش میروند و استعداد و ابتکار خود را به درستی به کار میگیرند.خب چرا اینطور شد؟ چه اتفاقی افتاد؟! حتما روی مهارتهای خود کار کردهاند. ولی کدام مهارت؟!
با من همراه باشید که با پنج مهارتی که یک برنامهنویس موفق باید داشته باشد، آشنا شوید.
اگر که این مهارتها را به درستی یاد بگیرید و مثل کد نوشتن به آنها اهمیت دهید، به مرور شما تبدیل به یک برنامهنویس خبره و موفق خواهید شد که شرکتهای بزرگ به دنبال شما خواهند بود و به شما و مسیر شما کمک شایانی میکنند.
بسیاری از افراد یادگرفتن کدنویسی را برتر از فرا گرفتن این پنج مهارت میدانند که باید بگویم برای تبدیل شدن به یک برنامهنویس خوب و موفق کافی نیست!
۱. مهارت جستجو کردن و یا Search:
مهارت سرچ کردن، اولین مهارتی هست که یک برنامهنویس خوب باید بداند. خیلیا فکر میکنند که یک برنامهنویس تمامی کدها و دستورات را حفظ کرده و یا آنها را یادداشت کرده و از آنها استفاده میکند. شاید این حرف در دهه هشتاد و نود میلادی درست بوده باشد ولی امروزه اینطور نیست.
تا وقتی که اینترنت هست و گوگل چه نیازی به حفظ کردن هست!
این یک موضوع بود، موضوع بعدی این هست که شما روزانه با چالشها و مشکلات متعدد و جدیدی رو به رو میشوید و به جای اینکه سریع بروید و در انجمن و گروه بپرسید، سریعا به گوگل مراجعه کنید اگر بعد از مدتها تلاش کردن به نتیجه نرسیدید از کسی که ممکن است به این مشکل برخود کرده باشد، سوال بپرسید و اگر باز هم نشد شما خلاقیت به خرج بدهید (رجوع به گیتهاب و یا داکیومنتهای خاص) و تبدیل به کسی شوید که این موضوع را حل کرده است و آن را در StackOverFlow برای دیگران هم به اشتراک بگذارید.
مسئله مهم این است که وقتی به مشکلی برخوردید از دنیا نبرید و فاز غم و غصه نگیرید. چیزی نیست که حل نشود چون گوگل و سرچ کردن هست و حتما هستند کسانی که قبل از شما به این مشکل برخورد کرده باشند و مهم این هست که خوب سرچ کنید. مثلا اگر Java کار میکنید، توی جملهایی که در مرورگر مینویسید کیوورد جاوا باشد. مثلا :
Java how to print message?!
و یا اگر به ارور خوردید، کافیست ارور را کپی و در مرورگر جایگذاری (paste) کنید.
اگر که در اول مسیر هستید و نمیدانید مشکل خود و یا خواسته خود را چگونه برای گوگل بیان کنید، کافیست به زبان نیتیو خود (فارسی) در google translate بنویسید و انگلیسی آن را برداشته و به کمک نوشتن اسم زبانی که کار میکنید در کنار جمله به یک سری نتیجه دست پیدا کنید که ممکن است شبیه به سوال شما باشد، پس به دنبال همان تیتر خواهید بود. یعنی تیتر درست را در مرورگر کپی کنید و نتایج درست را داشته باشید.
۲. آنالیز و تحلیل کردن و یا Analysis:
مشکل دیگری که یک برنامهنویس ممکن است مواجه شود، تحلیل کردن و پیدا کردن راهحل هست. ممکن است syntax را کاملا بداند و با تمامی دستورات آشنا باشد ولی دقیقا نداند باید چیکار کند.منطق و لاجیک را نداند. از کس دیگری میخواهد که تحلیل را برای آن انجام دهد و فقط به عنوان یک تسک آنها انجام دهد.
بهتر هست مهارت تحلیل را بدانید و تسک را ریز کنید و به راهحل برسید. سیستمهای دیگر و نمونههای مختلف را ببنید که به تحلیل و بررسی و ساختار به شما کمک کنند. که باید به مهارت اول یعنی سرچ برگردید و از آن به خوبی استفاده کنید. در اینجا شما مشکلی با زبان برنامهنویسی مدنظر ندارید، بلکه مشکل با پیادهسازی دارید، که با رجوع به نمونه سورسهای موجود روی گیتهاب و ... ، میتوانید ایده داشته باشید.
به علاوه وقتی جلوتر میروید و با سیستمهای پیچیدهتر و بزرگتر کار میکنید، اهمیت این موضوع بیشتر و روشنتر میشود.
مثلا مهارتی مثل Database Design بسیار مهم است. پس به دنبال یادگیری انالیز و تحلیل کردن باشید.
۳. خطایابی یا Debugging:
یکی از مهمترین مهارتهایی که باید به آن اهمیت دهید و آن را یاد بگیرید. هیچ سیستم و برنامهایی بدون مشکل و باگ نیست. هیچ برنامهنویسی نیست که روزی را بدون حل کردن و فیکسکردن باگ و مشکل پشت سر بگذارند.
پس مهم آن است که متوجه شوید که مشکل از کجا هست و آن را trace کنید و حل کنید. به این کار خطایابی گفته می شود. مثلا در Android به کمک Break Point ها، در html/css به کمک Inspect Element , ...! کلا به کمک Logging و خطایابی سطر به سطر میتوانید متوجه مشکل شوید. و نکته مهم آن است که شما IDE ایی که با آن کار میکنید را به خوبی بشناسید و بتوانید روش دیباگینگ آن را یاد بگیرید.
پس اگر به مشکل خوردید و بدون دیباگینگ به دنبال کمک گرفتن بودید، مسیر درستی را پیش نگرفتهاید.
۴. نوشتن با صفحه کلید یا Keyboard Typing:
تایپ کردن سریع و استفاده از شورتکاتها به شما برای تسریع و سرعت بخشیدن به انجام تسک کمک می کند. یک برنامهنویس خوب به مرور تایپ سریع با دقت بالا را فرا میگیرد. یکسری سایت وجود دارند که به شما در این زمینه کمک میکنند.
و نکتهی مهم تایپ کردن به زبان انگلیسی هست. دوستان برای برنامهنویسی یاد داشتن زبان انگلیسی برای حل کردن مشکلاتتون و خواندن داکیومنت و سرچ کردن، از نان شب هم واجبتر است. پس به آن اهمیت دهید.
۵. کتابخانه کد یا Code Library:
مهارتی است که شما به مرور با کسب تجربه کافی به آن خواهید رسید ولی چه خوب است که در ابتدای مسیر آن را یاد بگیرید.
استفاده از کدهایی که قبلا نوشتید به این صورت که به شکل پکیج و یا کلاس مستقل و ماژولی میتوانید آنها را به پروژههای جدیدی که ایجاد میکنید اضافه کنید که این کار باعث بالا بردن سرعت شما در کار میشود. پس همیشه به این فکر کنید که فایل و ماژولهایی را آماده کنید که ساختار را داشته باشید.
پس به صورت یک کتابخانه قابل حمل و پرتابل آنها را در جایی که نیاز دارید، اضافه کنید. اگر این مهارت را داشته باشید همیشه از دیگران جلوتر هستید.
و در آخر باید بگویم که هیچ عامل منحصر به فردی وجود ندارد که به کسی در موفقیت و رسیدن به خواستههایش، کمک کند. همه چیز تناسب و درصدی هست. هیچ چیز صددرصد درست و یا غلط نیست.
برای اینکه در کار خاصی و یا زندگی موفق باشید، نیاز به عوامل زیادی هست که بخشی از آنها تکنیکال و فنی هستند و بخش دیگری Soft Skills ها هستند. پس تنها راه موفقیت استفاده از تمامی امکانات موجود و یادگیری و دنبال کردن مهارتهای مورد نیاز هست. انگیزه و تلاش را فراموش نکنید.
موفق و موید باشید.
سنا عبادی | جمعه ساعت ۲۲:۱۱ شب , بیست و هشت آبان ماه سال ۱۴۰۰
مطلبی دیگر از این انتشارات
شروع برنامه نویسی اندروید
مطلبی دیگر از این انتشارات
آموزش Retrofit 2 در اندروید - قسمت ۲
مطلبی دیگر از این انتشارات
نکات کاربردی در استفاده از scope functions در اندروید