Взгляд на данные опроса разработчиков 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.

  1. Наличие степени бакалавра в области компьютерных наук или разработки программного обеспечения является основой для проникновения в область разработки программного обеспечения, но недостаточно для высокой удовлетворенности работой. Подойдет программирование в качестве хобби и участие в открытых исходных кодах.
  2. Люди с опытом работы в области компьютерного программирования, не связанного с компьютерным программированием, могут стать опытными разработчиками программного обеспечения посредством самообразования, получения высшего формального образования, такого как степень магистра, посещения учебных курсов и т. д. Самообразование, по-видимому, наиболее распространено среди разработчиков, учитывая его гибкость и низкую стоимость, но это потребовало бы много самостоятельной мотивации.
  3. Наличие высшего формального образования, такого как докторская степень, гарантирует ваши шансы найти работу по душе. Как мы видели, люди с высшим формальным образованием, как правило, больше удовлетворены работой по сравнению с теми, у кого максимальное значение имеет степень бакалавра.
  4. В целом, у вас должна быть веская причина, прежде чем вы решите отправиться на буткемп, поскольку это не гарантирует более высокого уровня удовлетворенности работой по сравнению с отказом от участия. Вы могли бы добиться большего успеха, пройдя онлайн-курсы, предложенные другими разработчиками.

Некоторые из выводов здесь включают результаты формального исследования. Если вы убеждены, то наш главный вопрос:

Готовы ли ВЫ стать профессиональным разработчиком программного обеспечения?

Чтобы узнать больше об этом анализе, см. ссылку на мой Github, доступную здесь