Взгляд на данные опроса разработчиков Stack Overflow за 2017 год.
Введение
Существует огромная награда с точки зрения удовлетворенности работой, когда речь идет о вакансиях, связанных с ИТ, таких как наука о данных, разработка программного обеспечения, веб-разработка и т. д. Насколько мы знаем, в настоящее время есть больше вакансий для должностей, связанных с ИТ, но оказывается, что получение работы очень конкурентоспособно.
В то время как некоторые успешно пробились в профессиональную сферу ИТ-должностей, другие все еще теряются в замешательстве относительно того, как проникнуть в эти области.
Я считаю, что выбор правильного карьерного пути, наличие правильных навыков и развитие нужного уровня страсти и настойчивости — это шаги к тому, чтобы стать профессионалом в любой из этих областей.
В этой статье я представлю идеи нынешних и бывших профессиональных разработчиков программного обеспечения о том, как стать успешным разработчиком. Я надеюсь, что эти идеи воодушевят и просветят начинающих разработчиков программного обеспечения.
Данные, которые я использую в этой статье, — это данные опроса разработчиков Stackoverflow за 2017 год. Данные опроса охватывают около 51 000 опросов из 201 страны и территории. В опросе было 150 вопросов, в том числе такие, как:
"Что из следующего лучше всего описывает самый высокий уровень формального образования, которое вы получили?"
«Что из следующего лучше всего описывает вашу основную область обучения в колледже или университете для вашего обучения в бакалавриате?»
«В целом, насколько важно ваше формальное школьное образование и образование для вашего карьерного успеха?»
Опрос направлен на понимание различных аспектов работы, связанных с разработкой программного обеспечения и анализом данных.
Часть 1. Какая квалификация мне нужна, чтобы стать профессиональным разработчиком программного обеспечения?
Бакалавриат в области компьютерных наук или разработки программного обеспечения является наиболее распространенной образовательной основой для профессионального уровня в разработке программного обеспечения.
Однако, если вы человек с образованием в области, не связанной с компьютерным программированием, или у вас нет предыдущего опыта программирования, вы можете стать опытным разработчиком программного обеспечения, следуя рекомендациям, как показано на рисунке ниже.
Более 20% респондентов предложили пройти онлайн-курсы, а 16% предложили купить книги и выполнять упражнения. Эти два метода намного дешевле, но потребуют большой мотивации. Другие интересные предложения включают в себя получение степени магистра или посещение Bootcamp, что определенно дорого.
В дополнение к этому, в Интернете полно ресурсов, которые вы можете использовать для самообразования: официальная документация, вопросы и ответы по Stack Overflow, торговые книги, онлайн-сообщества, встроенная помощь, сеть друзей и т. д.
Люди, которые пользуются ресурсом вопросов и ответов Stack Overflow, имеют для него высокий рейтинг (в среднем около 8).
Часть 2: Есть ли предвзятость в методах, предлагаемых для проникновения в область разработки программного обеспечения?
Если вы похожи на меня, я всегда хотел бы услышать мнения разных людей, прежде чем принять решение. С точки зрения различных уровней образования, какая категория с большей вероятностью предполагает что?
На Рисунке 3 выше мы видим, что те, кто получил одну из этих более высоких степеней, предлагают получить степень магистра в качестве метода выхода в поле на >3% больше, чем те, кто не получил более высокой формальной степени. В то время как лица с максимальным уровнем бакалавра предлагают посещать конференции/встречи (>1%) чаще, чем лица с высшим формальным образованием.
Остальные различия, наблюдаемые между людьми с высшим формальным образованием и всеми остальными, незначительны с разницей в ‹1%. Это иллюстрирует предвзятое отношение людей к тому, чтобы предлагать другим заняться разработкой программного обеспечения так же, как это сделали они сами.
Часть 3. Есть ли в среднем разница в удовлетворенности работой в зависимости от уровня формального образования?
Говорят, что у тех, кто имеет докторскую степень (Ph.D.), больше шансов получить работу, которая им нравится. Используя набор данных, утверждение верно. Из всех уровней формального образования степень доктора в среднем была самой высокой удовлетворенностью работой.
Мы видим, что обладатели степени бакалавра (BSc.) в среднем занимают второе место по степени удовлетворенности работой. Чтобы повысить свою удовлетворенность работой в качестве обладателя степени бакалавра наук, необходимо научиться программировать в качестве хобби, а также участвовать в проектах с открытым исходным кодом.
Чтобы сделать вывод о нашем анализе выше, мы провели проверку гипотез, чтобы проверить, отличается ли средняя удовлетворенность работой для лиц с высшим формальным образованием от лиц с максимальной степенью бакалавра.
Наша нулевая гипотеза заключалась в том, что нет никакой разницы в средней удовлетворенности работой между людьми с высшим формальным образованием; в то время как наша Альтернативная гипотеза состоит в том, что разница есть.
Мы смоделировали наше распределение с доверительным интервалом 95%, как показано на рисунке ниже:
Обратите внимание на ключевое значение, которое не включено в 95% доверительный интервал для разницы в средних значениях: значение 0. Другими словами, разница 0 не включена в нашу сеть, предполагая, что существует разница в средней удовлетворенности работой. между теми, кто имеет высшее формальное образование, и теми, кто имеет максимальную степень бакалавра. Следовательно, это предполагает, что мы отвергли бы нулевую гипотезу.
Кроме того, обратите внимание, как весь 95%-й доверительный интервал для разницы в среднем лежит выше 0, предполагая, что эта разница в пользу людей с высшим формальным образованием.
Часть 4. Есть ли в среднем разница в удовлетворенности работой для выпускников буткемпа и тех, кто не прошел буткемп?
На рис. 1 мы видели, что посещение учебных курсов — это один из методов, предложенных профессиональными разработчиками для проникновения в область разработки программного обеспечения.
Учитывая, что стоимость участия в буткемпах высока, возникает вопрос: получу ли я большее удовлетворение от работы, если я буду посещать или не посещать буткемпы?
Мы снова провели проверку гипотезы, чтобы проверить поставленный выше вопрос.
Наша нулевая гипотеза заключалась в том, что нет никакой разницы в средней удовлетворенности работой между выпускниками буткемпа и теми, кто не прошел буткемп; в то время как наша Альтернативная гипотеза состоит в том, что разница есть.
Мы смоделировали наше распределение с доверительным интервалом 95%, как показано на рисунке ниже:
Обратите внимание на фиг. 5, что значение 0 включено в доверительный интервал 95%. Другими словами, разница, равная 0, включена в нашу сеть, предполагая, что разница в средней удовлетворенности работой между выпускниками буткемпа и без него действительно одинакова!
Это говорит о том, что мы не можем отвергнуть нулевую гипотезу…
Заключение
В этой статье мы рассмотрели несколько руководств по тому, как стать успешным разработчиком программного обеспечения, согласно данным опроса Stack Overflow 2017.
- Наличие степени бакалавра в области компьютерных наук или разработки программного обеспечения является основой для проникновения в область разработки программного обеспечения, но недостаточно для высокой удовлетворенности работой. Подойдет программирование в качестве хобби и участие в открытых исходных кодах.
- Люди с опытом работы в области компьютерного программирования, не связанного с компьютерным программированием, могут стать опытными разработчиками программного обеспечения посредством самообразования, получения высшего формального образования, такого как степень магистра, посещения учебных курсов и т. д. Самообразование, по-видимому, наиболее распространено среди разработчиков, учитывая его гибкость и низкую стоимость, но это потребовало бы много самостоятельной мотивации.
- Наличие высшего формального образования, такого как докторская степень, гарантирует ваши шансы найти работу по душе. Как мы видели, люди с высшим формальным образованием, как правило, больше удовлетворены работой по сравнению с теми, у кого максимальное значение имеет степень бакалавра.
- В целом, у вас должна быть веская причина, прежде чем вы решите отправиться на буткемп, поскольку это не гарантирует более высокого уровня удовлетворенности работой по сравнению с отказом от участия. Вы могли бы добиться большего успеха, пройдя онлайн-курсы, предложенные другими разработчиками.
Некоторые из выводов здесь включают результаты формального исследования. Если вы убеждены, то наш главный вопрос:
Готовы ли ВЫ стать профессиональным разработчиком программного обеспечения?
Чтобы узнать больше об этом анализе, см. ссылку на мой Github, доступную здесь