صنعت IT به سرعت در حال تغییر است. تکنولوژیها و زبانهایی که امروز با استقبال روبرو شدهاند، فردا قدیمی خواهند شد. ترندها دائماً در حال رفت و آمد هستند. بازار کار هم به طور مداوم در حال نوسان است. پس باید چه زبان برنامهنویسی را برای یاد گرفتن انتخاب کنیم؟ برای اینکه بتوانید به این سوال پاسخ دهید، باید موارد زیادی را در نظر داشته باشید. به عنوان مثال:
- ترندهای حاضر در صنعت
- بازار کار
- مجموعه مهارتهای فعلی شما
- الزامات پروژه شما
- در دسترس بودن منابع آموزشی
من در این مقاله به شما نکاتی را میگویم که به کمک آنها میتوانید زبان برنامهنویسی خود را آسانتر انتخاب کنید. این موارد اصلاً سختگیرانه نیستند. در عوض من آنها را دستورالعملهایی میدانم که میتوانید مطابق با نیازهای خود اعمال کنید.
اهداف خود را مشخص کنید
اولین گام مهم برای شروع این کار، تعیین کردن اهداف خودتان است. به این فکر کنید که چرا میخواهید یک زبان برنامهنویسی جدید را یاد بگیرید و چه نتایج دلخواهی مد نظرتان است. ابتدا باید از خودتان بپرسید که آیا میخواهید مهارتهایتان را به صورت افقی گسترش دهید یا عمودی؟
اگر میخواهید وارد بخش جدیدی شوید، باید دانش و معلومات خود را به صورت افقی گسترش دهید؛ دقیقا مثل زمانی که میخواهید از توسعه Frontend به Full Stack تغییر شغل دهید. یا مثلاً فرض کنید که تا به حال با زبان جاوا فعالیت میکردید اما حالا میخواهید کار خود را با زبان پایتون ادامه دهید. در چنین شرایطی باید یک مسیر یادگیری بسازید که از پایینترین سطح (مبتدی) شروع خواهد شد.
اما اگر میخواهید در بخش خاصی از یک حیطهی آشنا فعالیت کنید، باید مهارتهایتان را به صورت عمودی گسترش دهید. فرضاً شما یک توسعهدهنده پایتون هستید و میخواهید یادگیری ماشین را بیاموزید. در چنین موقعیتی دیگر لازم نیست برای یادگیری از سطح مبتدی شروع کنید. گاهی اوقات هم نیازی به یاد گرفتن یک زبان جدید نیست چون فقط باید روشها، فریمورکها، کتابخانهها و سایر ابزارهای مرتبط با آن حیطه را یاد بگیرید.
مجموعه مهارتهای فعلی خود را ارزیابی کنید
با مطلع شدن از اهداف ارزشمند خود، باید بهترین راه را برای رسیدن به آنها مشخص کنید. به واسطهی وجود زبانها و تکنولوژیهای برنامه نویسی مختلف در دنیا، میتوانید برای رسیدن به یک هدف واحد از روشهای یادگیری متفاوتی استفاده کنید.
به عنوان مثال اگر میخواهید به یک توسعهدهندهFull Stack تبدیل شوید، میتوانید یکی از زبانهای Backend مانند PHP، Java، Python یا NodeJS را انتخاب کنید. اگر از قبل با یکی از زبانهای خانواده C آشنا باشید، یاد گرفتن زبانهای دیگر آسانتر میشود. اگر یک متخصص جاوااسکریپت باشید، میتوانید NodeJS را خیلی سریعتر از یک زبان کاملاً جدید مثل پایتون یاد بگیرید.
با تهیه کردن لیستی از تمام زبانها، فریمورکها، ابزارها و تکنولوژیهای آشنا میتوانید به درک واقع بینانهای از دانش خود دست پیدا کنید. اگر برای استخدام شدن در شغل خاصی به دنبال یاد گرفتن یک زبان برنامهنویسی جدید هستید، لیست مهارتهای شما حکم رزومه را خواهد داشت.
در مورد بازار تحقیق کنید
حالا که از اهداف و مهارتهای فعلی خود مطلع شدیم، باید نگاهی به بازار کار بیاندازیم. گاهی اوقات شما اهداف درستی را تعیین کرده و زبانی مطابق با مهارتهای خود را انتخاب میکنید اما هیچ تقاضایی برای آن در بازار کار وجود ندارد.
برای پرهیز از اتلاف وقت و تلاش خود باید تحقیقاتی را در رابطه با بازار انجام دهید. در ادامه منابعی ارزشمندی را نام میبرم که بهتر است آنها را بررسی کنید.
1. Tiobe Index
این شاخص اغلب به عنوان یک استاندارد در تعیین محبوبیت زبانهای برنامهنویسی استفاده میشود. معمولاً هر ماه منتشر شده و میزان پیشرفت یا پسرفت هر زبان را در ماه گذشته نشان میدهد. آنها هر ماه یک آنالیز کوتاه از اوضاع صنعت را نیز منتشر میکنند که شامل خلاصهای از مهمترین تغییرات اتفاق افتاده است.
2. GitHub Octoverse
این گزارش سالانه، خلاصهای از ترندهای GitHub را به شما ارائه داده و اطلاعات زیادی را در اختیار شما قرار خواهد داد، مثلاً:
- محبوبیت زبانهای برنامهنویسی
- سریعترین زبانهای در حال رشد
- برترین پروژههای منبع باز
- فعالترین سازمانها
- محبوبترین تگها
- سریعترین موضوعات در حال رشد
این گزارش یک منبع خیلی خوب به حساب میآید، پس حتماً آن را بررسی کنید. GitHub علاوه بر انتشار سالانهی گزارش Octoverse، دارای یک صفحهی Explore هم هست. پرطرفدارترین مخازن، موضوعات، برنامهها و فریمورکها به طور روزانه در این صفحه منتشر میشوند.
3. Insights Stack Overflow
شما در این بخش میتوانید اطلاعات بسیار مفیدی را دربارهی زبانهای برنامهنویسی کسب کنید. بدون شک مهمترین بخش آن Annual Developer Survey بوده که دارای مطالب بسیار زیادی در مورد صنعت است.
به عنوان مثال در سال 2019 حدود 90 هزار توسعهدهنده در یک نظرسنجی 20 دقیقهای شرکت کردند و به موضوعاتی در رابطه با تکنولوژیهای محبوب و ترجیحات شغلی پاسخ دادند. شما علاوه بر نظرسنجیهای سالیانه میتوانید به گزارشها و مجموعه دادههای بایگانی شده در Stack Overflow Insights نیز دسترسی داشته باشید.
4. Google Trends
شما با کمک Google Trends میتوانید زبان برنامهنویسی خود را به 3 روش مختلف انتخاب کنید:
1. میتوانید دادههای تاریخی مربوط به 2004 را که بر اساس موقعیت مکانی مشخص شده بررسی کنید.
2. میتوانید محبوبیت دو یا چند زبان برنامهنویسی را مقایسه کنید. مثلاً میتوانید زبان C# را در کنار Java قرار داده و آنها را با هم بررسی کنید.
3. میتوانید محبوبیت تکنولوژیهای مرتبط مانند کتابخانههای جاوااسکریپت یا فریمورکهای تم وردپرس را نیز بررسی کنید.
در واقع Google Trends یک ابزار تحقیقاتی قدرتمند و رایگان است به شما اجازهی مقایسه کردن و گفتگو در مورد موضوع مورد نظر را میدهد.
5. سایتهای کاریابی برای برنامهنویسی
سایتهای کاریابی هم برای پیدا کردن شغل و هم برای تحقیق در مورد ترندهای موجود در صنعت مورد نظر شما کاربرد دارند. به عنوان مثال اگر میخواهید توسعه برنامههای ابری را یاد بگیرید، میتوانید مشاغل مربوطه را بررسی کرده و به زبانها، مهارتها و ابزارهای لازم پی ببرید.
علاوه بر وبسایتهای کاریابی قدیمی مثل Monster یا Indeed، میتوانید در مکانهای زیر نیز به دنبال مشاغل برنامهنویسی باشید:
- سایتهای دورکاری مثل We Work Remotely
- سایتهای کاریابی برای استارتاپها مثل AngelList
- نتورکهای حرفهای مثل LinkedIn
- سایتهای فریلنسری مثل Toptal
- بخشهای کاریابی در مجلات آنلاین برای توسعهدهندگان مانند Smashing Jobs
- خبرنامههایی حرفهای با بخش کاریابی مانند JavaScript Weekly
بعد از اینکه در مورد چند شغل مربوط به حیطه خود تحقیق کردید، میتوانید به اطلاعاتی دست پیدا کنید که نشان میدهد شرکتها واقعاً به دنبال چه چیزهایی هستند.
مطالب آموزشی را مشاهده کنید
حالا که با اهداف، مهارتها و شرایط بازار آشنا شدید، باید میزان دسترسی و کیفیت مطالب آموزشی مربوط به زبانهای برنامهنویسی یا تکنولوژیهای مورد علاقه خود را بررسی کنید. زبانهایی مانند جاوا و جاوااسکریپت، به خاطر محبوبیت بالای خود دارای منابع آنلاین زیادی هستند. این در حالی است که تکنولوژیها یا فریمورکهای جدیدتر همیشه به خوبی پوشش داده نمیشوند.
اگر زبان یا تکنولوژی دلخواه خود را انتخاب کردهاید اما نمیتوانید مطالب آموزشی مناسبی را برای یاد گرفتن آن پیدا کنید، منطقی باشید و یک گزینهی جایگزین (زبان یا فناوری دیگر) با پوشش گستردهتر آموزشی را پیدا کنید.
کدام زبان برنامهنویسی را برای یادگیری انتخاب کنیم؟
اینکه کدام زبان برنامهنویسی را یاد بگیرید، در درجه اول به اهداف حرفهای و مهارتهای فعلی شما بستگی دارد. شما باید ترندهای بازار و در دسترس بودن منابع آموزشی را نیز در نظر داشته باشید. اگر بعد از گذشت مدتی علاقهی خود را به یک زبان برنامهنویسی خاص از دست دادید، بهتر است یک زبان دیگر را انتخاب کنید. چیزی که برای من مفید بوده میتواند برای شما اینگونه نباشد. همه چیز به نیازهای شما بستگی دارد.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید