روندهای صنعت
بازار کار
مجموعه مهارتهای فعلی خود
الزامات پروژهیتان
در دسترس بودن منابع یادگیری
و بسیاری موارد دیگر
در این مقاله، ما چند نکته در مورد نحوه انتخاب زبان برنامهنویسی برای یادگیری را بیان میکنیم. اینها قوانین محکم و دقیقی نیستند، اما دستورالعملهای منعطفی هستند که میتوانید آنها را با توجه به نیاز خود به کار گیرید.
اهداف خود را تعیین کنید
قبل از انجام هر کاری، مهمترین کاری که باید انجام دهید تعیین هدف خود است. به این فکر کنید که چرا میخواهید یک زبان برنامهنویسی جدید یاد بگیرید و در نتیجه میخواهید به چه چیزی برسید. سوال شماره یک که باید از خود بپرسید این است که آیا میخواهید مهارتهای خود را به صورت عمودی یا افقی گسترش دهید.
اگر میخواهید در یک حوزه جدید قدم بگذارید، باید دانش خود را به صورت افقی گسترش دهید. نمونه معمول آن زمانی است که شما توسعهدهنده front-end هستید و میخواهید توسعهدهنده full-stack شوید. یا هنگامی که با یک زبان back-end مثل جاوا آشنا هستید و میخواهید زبان دیگری مثل پایتون را یاد بگیرید. در این حالت، شما باید مسیر یادگیری را تنظیم کنید که از سطح مبتدی شروع میشود.
با این وجود، اگر میخواهید دانش خاصی را در حوزهای که از قبل با آن آشنا هستید کسب کنید، باید به صورت عمودی فکر کنید. مثلا وقتی که شما توسعهدهنده پایتون هستید و میخواهید machine learning یاد بگیرید. در این حالت، شما نیازی به شروع از سطح مبتدی ندارید. در بسیاری مواقع، شما حتی نیازی به یادگیری زبان برنامهنویسی جدید ندارید، اما متدولوژی، فریمورکها، کتابخانهها یا ابزارهای جدید دیگری که بر اساس دانش قبلی شماست را میتوانید یاد بگیرید.
مجموعه مهارتهای فعلی خود را ارزیابی کنید
وقتی اهداف خود را مشخص کردید، مرحله بعدی تصمیمگیری در این زمینه است که چگونه میتوانید به بهترین وجه به آنها برسید. از آنجا که فناوریها و زبانهای برنامهنویسی زیادی وجود دارد، اغلب اتفاق میافتد که شما میتوانید از طریق مسیرهای مختلف به همان هدف یادگیری برسید.
مثلا اگر میخواهید توسعهدهنده full-stack شوید، میتوانید زبانهای مختلف back-end مثل PHP، Java، Python یا NodeJS را انتخاب کنید. با این حال اگر از قبل یک زبان مبتنی بر C را میشناسید، یادگیری یک زبان دیگر ساده است. یا اگر متخصص جاوااسکریپت هستید، میتوانید NodeJS را خیلی سریعتر از یک زبان کاملا جدید مثل پایتون یا جاوا یاد بگیرید.
بهترین راه برای گرفتن تصویر واقعی از دانش فعلی خود، تهیه لیستی از همه زبانها، فریمورکها، ابزارها و تکنولوژیهایی است که با آنها آشنا هستید. اگر میخواهید یک زبان برنامهنویسی جدید را بیاموزید تا شغلی را بیابید، لیست مهارتهای شما همچنین میتواند به عنوان پایهای برای رزومهیتان باشد.
اگر میدانید اهدافتان چیست و چه دانشی از قبل دارید، میتوانید به مرحله بعدی بروید: انجام یک تحقیق کامل در مورد بازار کار.
تحقیق در بازار
دانستن اهدافتان و آگاهی از مهارتهای فعلی خود یک چیز است، اما مساله بازار چیست؟ این اتفاق به راحتی میتواند بیفتد که شما اهداف درستی را تنظیم کرده باشید و زبانی را انتخاب کنید که مطابق با مجموعه مهارتهای شما باشد، اما تقاضای خوبی برای آن وجود نداشته باشد.
برای جلوگیری از هدر رفتن وقت باارزش خود در یادگیری یک زبان برنامهنویسی جدید که هیچ کس علاقهای به آن ندارد، باید تحقیقات لازم در رابطه با بازار را انجام دهید. در اینجا مهمترین منابعی که ارزش بررسی دارد آورده شده است:
TIOBE Index .1
انجمن برنامهنویسی TIOBE اغلب به عنوان استاندارد صنعت برای تعیین محبوبیت زبانهای برنامهنویسی مورد استفاده قرارمیگیرد. این فهرست هر ماه منتشر میشود و نشان میدهد که زبانهای برنامهنویسی مختلف چگونه محبوبیت خود را افزایش دادهاند یا از محبوبیت آنها کم شده است. آنها همچنین هرماه یک تحلیل صنعتی کوتاه منتشر میکنند که مهمترین تغییراتی که باید درمورد آن بدانید را بیان میکند.
2. GitHub Octoverse
GitHub Octoverse گزارشی سالانه است که مهمترین روندهای موجود در گیتهاب را خلاصه میکند. این مجموعه اطلاعات زیادی را ارائه میدهد، مانند:
محبوبترین زبانهای برنامهنویسی
سریعترین زبانهای در حال رشد
پروژههای منبع باز (open-source)
فعالترین سازمانها
سریعترین موضوعات در حال رشد
و بسیاری موارد دیگر
این یک منبع عالی است و قطعا قبل از اینکه تصمیم بگیرید چگونه برای یادگیری یک زبان پیش روید، نگاهی به آن بیاندازید.
3. دیدگاههای Stack Overflow
میتوانید اطلاعات مفیدی در رابطه با اینکه کدام زبان برنامهنویسی را انتخاب کنید را با توجه به دیدگاههای Stack Overflow پیدا کنید. بدون شک مهمترین مورد در اینجا بررسی سالانه آن است که شامل همه چیزهایی است که شما میخواهید در مورد صنعت بدانید.
4. Google Trends
Google Trends میتواند به شما کمک کند کدام زبان برنامهنویسی را به سه روش مختلف یاد بگیرید:
1. شما میتوانید دادههای تاریخی، که توسط مکان مشخص میشود را بررسی کنید.
2. میتوانید محبوبیت دو یا چند زبان برنامهنویسی را با یکدیگر مقایسه کنید.
3. علاوه بر زبانهای برنامهنویسی، میتوانید محبوبیت فناوریهای مرتبط مثل کتابخانههای جاوااسکریپت یا فریمورکهای تم WordPress را نیز جستجو کنید.
در حقیقت، Google Trends یک ابزار تحقیقاتی قدرتمند است که به شما امکان میدهد پرسوجوها و مقایسههای کاملا منحصربهفرد را انجام دهید؛ هر چه که میخواهید و همه چیز به صورت رایگان.
5. سایتهای شغلی برنامهنویسی
سایتهای شغلی برنامهنویسی نه تنها در صورتی که شما مستقیما به دنبال شغل هستید مفید هستند بلکه میتوانید از آنها برای تحقیق در روندهای خاص صنعت در زمینه مورد نظر خود استفاده کنید. مثلا اگر میخواهید توسعه برنامههای ابری را یاد بگیرید، میتوانید شغلهای مرتبط را بررسی کنید تا ببینید کارفرمایان به دنبال چه زبانهای برنامهنویسی، مهارتها و ابزارهایی هستند.
به دنبال موارد آموزشی باشید
اکنون که اهداف و مهارتهای خود را میشناسید و در بازار نیز تحقیق کردهاید، تنها یک کار باقی مانده است. شما باید دسترسیپذیری و کیفیت مطالب یادگیری مربوط به زبانهای برنامهنویسی و فناوریهای مورد علاقه خود را بررسی کنید. زبانهای محبوب مانند جاوا و جاوااسکریپت دارای منابع فراوانی در زمینه یادگیری آنلاین هستند، در حالی که فناوریها و فریمورکهای جدیدتر همیشه به خوبی پوشش داده نمیشوند.
اگر نمیتوانید هیچ یک از مطالب آموزشی باکیفیت مرتبط با زبان برنامهنویسی یا فناوری انتخابی خود را پیدا کنید، این میتواند یک تصمیم منطقی باشد که به دنبال جایگزینی باشید که گستردهتر تحت پوشش قرار گرفته باشد.
جمعبندی
پس، کدام زبان برنامهنویسی برای یادگیری مناسب است؟ این موضوع مهمتر از همه، به اهداف حرفهای و مجموعه مهارتهای فعلی شما بستگی دارد. علاوهبراین، شما همچنین نیاز به توجه به روند بازار و در دسترس بودن منابع یادگیری دارید.
با این حال، اگر معلوم شود که شما بعد از مدتی زبان برنامهنویسی خاصی را دوست ندارید، ایده خوبی است که به سراغ یک زبان دیگر بروید. آنچه که برای شخصی جواب میدهد ممکن است برای دیگری یک کابوس باشد و بالعکس. همه اینها به نیاز شما بستگی دارد.
نظرات کاربران در رابطه با این دوره