وب سایت محبوب stackoverflow هر ساله سوالات مختلفی را در قالب یک پرسشنامه طراحی کرده و در اختیار توسعه دهندگان و برنامه نویسان سراسر دنیا قرار می دهد. این پرسشنامه یکی از بزرگترین پرسش نامه ها در حوزه برنامه نویسی است و اعتبار زیادی در سطح جهان دارد، به همین دلیل تصمیم گرفته ایم تا خلاصه ای از این پرسشنامه را در اختیار شما قرار دهیم. توجه کنید که این گزارش فقط شامل موارد مهم است و در نگارش آن دست به خلاصه نویسی زده شده است (گِرد کردن درصدها و حذف موارد غیرضروری). در صورتی که می خواهید گزارش کامل را ببینید به وب سایت stackoverflow مراجعه کنید. همچنین تمامی گزارشات و ادعاهایی که در ادامه می آید بر اساس مستندات موجود در این پرسشنامه می باشد
ماهانه حدود ۵۰ میلیون کاربر به وب سایت stackoverflow سر می زنند و از این بین حدود ۲۰ الی ۲۵ میلیون نفر توسعه دهنده حرفه ای یا دانشجویان آن رشته محسوب می شوند. قسمت اعظم کسانی که به پرسشنامه امسال پاسخ داده اند، کاربران حرفه ای بودند که به خاطر شغلشان کدنویسی می کردند یا دانشجویانی بودند که برای پیدا کردن شغل آماده می شدند. سهم کشور ایران از بازدید های stackoverflow تنها ۰.۰۹ درصد می باشد اما سهم ایرانیانی که در این پرسشنامه شرکت کرده اند حدود ۰.۷۷ درصد از کل مشارکت کنندگان بوده است.
از بین تمام شرکت کنندگان، حدود ۵۵ درصد توسعه دهنده full stack بوده و ۲۰ درصد نیز توسعه دهنده تلفن های هوشمند هستند. همچنین تنها ۱۲ درصد از شرکت کنندگان خانم بوده اند. در واقع از بین افراد مشارکت کننده حدود ۵۵ درصد توسعه دهنده back-end و ۵۴ درصد توسعه دهنده full-stack و ۳۷ درصد توسعه دهنده front-end بوده اند. برخی دیگر از شرکت کنندگان نیز به ترتیب سهم های زیر را کسب کرده اند:
در این پرسشنامه از کاربران پرسیده شده است که آیا به عنوان تفریحی و خارج از محیط کار نیز برای خودشان کدنویسی می کنند؟ حدود ۷۸ درصد از کل مشارکت کنندگان به این سوال پاسخ مثبت داده اند.
همانطور که گفته شد اکثر مشارکت کنندگان در این پرسشنامه وضعیت حرفه ای یا متوسط به بالا داشته اند. اگر بخواهیم تمام مشارکت کنندگان (حرفه ای و غیر حرفه ای) را در نظر بگیریم: ۳۰ درصد افراد شرکت کننده بین ۵ الی ۹ سال سابقه کدنویسی دارند، ۲۰ درصد افراد بین ۱۰ الی ۱۴ سال و ۱۷ درصد از افراد نیز کمتر از ۵ سال سابقه دارند. گروه های دیگر به شرح زیر می باشند:
همچنین ۶۵ درصد مشارکت کنندگان به صورت حرفه ای کدنویسی می کنند (البته با سابقه ای کمتر از ۱۰ سال). در صورتی که بخواهیم فقط افرادی را حساب کنیم که به صورت حرفه ای کار می کنند و افراد تازه کار را به حساب نیاوریم این درصد ها کمی متفاوت خواهند بود:
مشارکت کنندگان از گروه های سنی مختلف هستند:
از بین تمامی مشارکت کنندگان، حدود 54 درصد آن ها اولین خط کد خود (چه یک وب سایت ساده چه یک برنامه hello world) را تا قبل از ۱۶ سالگی نوشته بودند. افرادی که اولین خط کد خود را در دهه دوم (۲۰ الی ۳۰ سالگی) زندگی خود نوشته اند، تنها ۱۳ درصد از مشارکت کنندگان را تشکیل می دهند. گروه های مهم به تفکیک سن در ادامه آمده اند:
از بین تمام مشارکت کنندگان 75 درصد از آن ها حداقل مدرک لیسانس را دارند. همچنین از بین افراد حرفه ای، بیشتر از ۶۲ درصدشان مدرکی در رشته مهندسی کامپیوتر یا نرم افزار دارند، ۱۰ درصد از آن ها مدرک مهندسی در رشته ای دیگر و ۱۰ درصد نیز مدرکی در رشته های علوم انسانی، علوم اجتماعی، هنر و غیره دارند.
زمانی که از مشارکت کنندگان سوال شد تحصیلات رسمی و دانشگاهی تا چه حد در این حرفه اهمیت دارد، پاسخ آن ها به شکل زیر بود:
برای هشتمین سال متوالی، زبان جاوا اسکریپت به عنوان محبوب ترین و بزرگ ترین زبان برنامه نویسی دنیا انتخاب شده است. تایپ اسکریپت نیز پیشرفت کوچکی نسبت به سال قبل داشته است و زبان C را کنار زده است. زبان Ruby نیز که در سال ۲۰۱۷ در ۱۰ مورد اول این لیست وجود داشت، حالا به کنار رفته و جای خود را به تکنولوژی های بهتری مانند Kotlin داده است. از کاربران خواسته شده است که به تکنولوژی های مورد استفاده شان رای بدهند بنابراین لیست زیر مشخص کننده پر استفاده بودن آن ها است و لزوما به «محبوبیت» مربوط نیست. در نظر داشته باشید که درصد مشارکت در هر تکنولوژی ریست می شود؛ یعنی هر زبان به صورت جداگانه از دید جامعه آماری بررسی شده است و با هم جمع نمی شوند. چرا؟ کاربران می توانند از چند زبان و تکنولوژی استفاده کنند و به یک دسته خاص محدود نمی شوند.
با نگاهی به فریم ورک های تحت وب متوجه خواهیم شد که جی کوئری هنوز هم در صدر قرار دارد اما هر سال که می گذرد جای خود را به React.js و Angular و امثال آن ها می دهد. توجه داشته باشید که این اعداد و آمار خام هستند و باید تفسیر شوند. به طور مثال جی کوئری سالیان سال مورد استفاده قرار گرفته است و بسیاری از وب سایت ها با آن نوشته شده اند. از طرفی به دلیل کمبود بودجه و از باب دستمال نبستن به سری که درد نمی کند، بسیاری از افراد کد های خود را دوباره با React یا Vue یا Angular نمی نویسند. شاید بتوان این توضیح را به عنوان یکی از دلایل کسب رتبه اول توسط جی کوئری پذیرفت اما به مطالعات دقیق تری در این زمینه نیاز است.
توجه داشته باشید که Angular بر اساس تایپ اسکریپت و Angular.js بر اساس جاوا اسکریپت هستند و با هم تفاوت دارند.
در این قسمت از پرسشنامه از مشارکت کنندگان در مورد انواع کتابخانه ها، ابزارها و تکنولوژی های ثانویه سوال شده است. این دسته از تکنولوژی ها بی اهمیت نیستند بلکه جایگاهی در دسته اول ندارند و مستقل محسوب می شوند.
زمانی که نگاهی به درصد استفاده از پایگاه های داده مختلف می اندازیم، نتایج جای تعجبی ندارد. MySQL مثل همیشه با تفاوت زیادی از بقیه پایگاه های داده جلو است و نزدیک ترین رقیبان خود را PostgreSQL و Microsoft SQL Server می بیند.
منظور از پلتفرم های توسعه، بستر هایی هستند که کار توسعه و کدنویسی در آن ها انجام می شوند. مثل سال های گذشته لینوکس و ویندوز بالاترین استفاده را در بین توسعه دهندگان داشته اند اما نکته جالب این است که هر سال به محبوبیت تکنولوژی های container مانند docker و Kubernetes اضافه می شود.
لطفا قبل از مشاهده درصد ها به معانی ارائه شده برای هر کلمه دقت کنید.
در این قسمت «محبوب ترین» به معنی عشق توسعه دهندگان نسبت به زبان یا تکنولوژی خاصی است. در این دسته بندی زمانی که بحث از «دوست داشتنی ترین» می شود منظور زبان هایی هستند که توسعه دهندگان در حال حاضر از آن ها استفاده می کنند و قصد دارند در آینده نیز از آن استفاده کنند. در پنجمین سال متوالی زبان Rust به عنوان محبوب ترین زبان برنامه نویسی قرار گرفته است. زبان تایپ اسکریپت نیز نسبت به سال قبل پایتون را جا گذاشته و حالا در رتبه دوم قرار دارد. لیست مهم ترین موارد در دسته خواستنی ترین ها هستند:
قسمت بعدی «منفورترین» ها هستند؛ یعنی تکنولوژی هایی که در حال حاضر مورد استفاده توسعه دهندگان هستند اما توسعه دهندگان دیگر نمی خواهند از آن ها استفاده کنند. زبان های VBA و Objective C و Perl به عنوان منفورترین زبان ها معرفی شده اند. لیست زیر برخی از این موارد مهم در گزارش Stackoverflow می باشد:
دسته «خواستنی ترین» نیز دسته ای است که توسعه دهندگان از آن ها استفاده نمی کنند اما می خواهند آن ها را یاد بگیرند. زبان پایتون برای چهارمین سال متوالی به عنوان خواستنی ترین زبان انتخاب شده است. همچنین درخواست برای یادگیری Rust نیز افزایش داشته است. لیست زیر برخی از این موارد مهم در گزارش Stackoverflow می باشد:
فریم ورک های تحت وب نیز به سه دسته محبوب ترین، خواستنی ترین و منفورترین تقسیم می شوند. فریم ورک ASP.NET Core با شکست دادن React.js و Gatsby در رتبه اول دوست داشتنی ترین ها قرار گرفته است. لیست زیر نشان دهنده دوست داشتنی ترین ها به ترتیب آرای کاربران است:
از نکات جالب این نظر سنجی این است که Angular.js علاوه بر حضور در لیست محبوب ترین ها (افرادی که می خواهند به استفاده از آن ادامه دهند) در لیست منفورترین ها (افرادی که دیگر قصد استفاده از آن را ندارند) نیز حضور پر رنگی داشته و رتبه اول را کسب کرده است! انتظار ما حضور jQuery و تکنولوژی های بسیار قدیمی مانند آن بود اما Angular.js موفق به شکست jQuery در این لیست شده است. لیست زیر نشان دهنده منفورترین فریم ورک ها می باشد:
در لیست بعدی باید به سراغ خواستنی ترین ها برویم، یعنی فریم ورک هایی که مشارکت کنندگان با آن توسعه نمی کنند اما دوست دارند در آینده این کار را انجام بدهند:
دلیل پایین بودن درصد ها می تواند به این خاطر باشد که مشارکت کنندگان معمولا تمایل دارند از فریم ورک هایی استفاده کنند که در حال حاضر با آن ها کار می کنند. معمولا تغییر در این فریم ورک ها هزینه بر است و نیاز به زمانی برای یادگیری دارد بنابراین اگر فریم ورک خاصی عملکرد بدی نداشته باشد، توسعه دهندگان نیازی به تغییر آن نمی بینند.
در بین پایگاه های داده، Redis همچنان به عنوان محبوب ترین پایگاه داده باقی مانده است و PostgreSQL و Elasticsearch در حال رقابت با آن هستند. لیست زیر محبوب ترین پایگاه های داده را نشان می دهد:
از طرف دیگر لیست منفورترین پایگاه های داده را نیز داریم. هر چه یک پایگاه داده درصد بالاتری داشته باشد، یعنی افراد بیشتری قصد ترک کردن آن را دارند:
و در نهایت لیست خواستنی ترین ها را داریم که مثل پارسال متعلق به MongoDB است:
از بین پلتفرم های توسعه، هنوز هم لینوکس محبوب ترین پلتفرم موجود است. تکنولوژی های Container مانندDocker و Kubernetes نیز پس از آن از محبوبیت بالایی برخوردار هستند. نکته بسیار جالب اینجاست که این تکنولوژی ها در بین خواستنی ترین ها نیز حضور دارند که نشان می دهد چقدر کاربران به آن ها اهمیت می دهند. از طرف دیگر وردپرس هنوز هم منفورترین پلتفرم موجود است. لیست زیر نشان دهنده محبوب ترین پلتفرم های توسعه هستند:
یکی از نکات جالب این است که Slack Apps با اینکه یک تازه وارد است (امسال به تازگی در لیست stackoverflow اضافه شده است) رتبه چهارم منفورترین ها را به خود اختصاص داده است. منفورترین پلتفرم ها عبارت اند از:
در نهایت خواستنی ترین پلتفرم ها نیز به شرح زیر هستند:
این قسمت به شرح ابزار های مورد استفاده و محیط توسعه برای توسعه دهندگان می پردازد. این ابزارها شامل سیستم عامل ها، ویرایشگر ها، ابزارهای به اشتراک گذاری کد و غیره می شوند.
حدود نیمی از کل توسعه دهندگان از ویندوز به عنوان سیستم عامل اصلی خود استفاده می کنند و نیمی دیگر از آن ها بین لینوکس و MacOS تقسیم شده اند:
از بین توسعه دهندگان حرفه ای که در پرسشنامه شرکت کرده اند، حدود 83 درصد از گیت هاب به عنوان ابزار کار گروهی و به اشتراک گذاری کد استفاده می کنند:
زمانی که نیاز به بررسی یک تکنولوژی خاص باشد، حدود سه چهارم کل جامعه آماری تمایل به استفاده از free trial (نسخه آزمایشی، موقتا رایگان) داشته اند تا بتوانند خودشان آن را امتحان کنند. همچنین بیش از 60 درصد از کل جامعه آماری تمایل مشورت با دیگر توسعه دهندگان از روش های مختلف (آنلاین و آفلاین) داشته اند.
همچنین از توسعه دهندگان پرسیده شد که نظر آن ها در خرید یک تکنولوژی خاص توسط کمپانی خودشان، تا چه حد اثر گذار است:
اگر بخواهیم درآمد توسعه دهندگان را در کل دنیا در نظر بگیریم، توسعه دهندگانی که از زبان Perl و Scala و Go استفاده می کنند، بیشترین درآمد را دارند. درآمد متوسط این گروه حدود ۷۵ هزار دلار در سال درآمد دارند. یکی از نکات جالب اینجاست که Perl یکی از منفورترین زبان های موجود است بنابراین می توان گفت بالا بودن درآمد توسعه دهندگان Perl به دلیل نبود تعداد کافی توسعه دهندگان آن است:
در این قسمت از توسعه دهندگان سوال شده است که هر چند وقت یک بار تکنولوژی جدیدی (زبان جدید یا فریم ورک جدید) را یاد می گیرند. نتیجه جالب اینجا بود که 75 درصد از جامعه آماری گفته اند هر چند ماه یک بار یا هر سال یک تکنولوژی جدید یاد می گیرند. این مسئله نشان دهنده سرعت نوآوری در حوزه تکنولوژی ها است و توسعه دهندگان را مجبور می کند که همیشه در حال یادگیری باشند.
در مرحله بعدی از توسعه دهندگان سوال شد که در هنگام ناتوانی در حل یک مسئله چه کار می کنند؟ حدود ۹۰ درصد توسعه دهندگان اعلام کردند که به stackoverflow مراجعه می کنند:
در مرحله بعدی از جامعه آماری سوال شد زمانی که یک سوال را در گوگل جست و جو می کنند و لینک اول بنفش است (یعنی قبلا آن را جست و جو کرده و مطالعه کرده اند) چه حسی دارند؟ نیمی از جامعه آماری گزینه «سلام دوست قدیمی» را انتخاب کرده اند که نشان می دهد این مسئله برای برخی از شرایط مرتبا تکرار می شود. به طور مثال حدود ۲.۱ میلیون نفر از سوال «چگونه از ویرایشگر Vim خارج شوم» بازدید کرده اند.
زمانی که از جامعه آماری درباره وضعیت استخدام سوال شد بیش از ۹۲ درصد از توسعه دهندگان حرفه ای اعلام کردند که مشغول به کار هستند (چه پاره وقت و چه تمام وقت) و ۱۲ درصد نیز خود را به عنوان دانشجو و در حال یادگیری معرفی کردند.
در مرحله بعدی از توسعه دهندگان سوال شد که تا چه حد بعد از ساعات کاری، اضافه کاری می کنند؟ بیش از ۷۵ درصد از توسعه دهندگان تا حدی اضافه کاری می کنند. اضافه کاری در اینجا به معنای زمان گذاشتن روی پروژه های کاری، بعد از ساعات کاری است.
سوال بعدی درباره اندازه شرکتی بود که توسعه دهندگان در آن کار می کنند. پاسخ جامعه آماری به شکل زیر بود:
در مرحله بعدی از توسعه دهندگان سوال شد که آیا شرکت آن ها فرآیند مناسبی برای پذیرش سازمانی دارد یا خیر؟ پذیرش سازمانی فرآیندی است که در آن کارکنان جدید مهارت ها و آموزش های لازم را می بینند تا بتوانند به عنوان یک عضو موفق در تیم خودشان عمل کنند. این فرآیند شامل مواردی مثل معرفی و آشنایی با دیگر اعضای شرکت است.
سوال بعدی در رابطه با رضایت توسعه دهندگان از شغل خودشان بود. بیش از 65 درصد از توسعه دهندگان تا حدی از شغل خود راضی هستند:
همچنین زمانی که از موقعیت ها جدید شغلی سوال شد، پاسخ توسعه دهندگان به شرح زیر بود:
سوالی که در اینجا پیش می آید این است که چه کسانی بیشتر به دنبال کار هستند؟
سوال بعدی در رابطه با فاکتور های مهم شغلی می باشد. بیش از 70 درصد از جامعه آماری دستمزد را مهم ترین عامل انتخاب کردند:
در مرحله بعدی و از روی کنجکاوی از جامعه آماری سوال شد که اگر دستمزد، مزایا و محل کار را ثابت در نظر بگیریم، چه فاکتور های دیگری برایشان مهم است. مهم ترین پاسخ ها به شکل زیر بود:
در نهایت مقدار دستمزد هر گروه از توسعه دهندگان از آن ها پرسیده شده است تا بتوانیم دسته بندی مناسبی برای گروه های پردرآمد در حوزه برنامه نویسی داشته باشیم:
همانطور که در ابتدای کار نیز ذکر شد، این مقاله یک گزارش خلاصه شده از پرسشنامه سال ۲۰۲۰ وب سایت stackoverflow می باشد بنابراین دستکاری های کوچکی مانند گِرد کردن درصد ها و حذف مواردی که اهمیت کمتری دارند، اعمال شده است. اکثر این خلاصه نویسی ها برای جلوگیری از طولانی شدن بیش از حد این مقاله می باشد. در صورتی که می خواهید تمام گزارش را ببینید به وب سایت stackoverflow مراجعه نمایید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.
در این قسمت، به پرسشهای تخصصی شما دربارهی محتوای مقاله پاسخ داده نمیشود. سوالات خود را اینجا بپرسید.