Экзистенциальный вопрос, вынесенный в заголовок в формулировке Гребенщикова, я задал себе после очередного витка дискуссии в одном из сообществ о том, нужны ли начинающему веб-бэкенд-разработчику знания SQL, или ORM все равно все сделает. Я решил поискать ответ немного шире, чем просто про ORM и SQL, и по сути попытаться систематизировать, что это за люди, которые сейчас идут на собеседования на должности младших и средних разработчиков, какова их история и в каком мире они живут. жить в.
В общем, мнение у меня было, но оно сформировано личным опытом найма и четко адаптировано к местному рынку.
В общем, стало интересно.
Вот что мы нашли.
Мировое сообщество разработчиков
Чтобы как-то подойти к вопросу, я решил начать с поиска данных о том, сколько разработчиков сегодня в мире и как эта популяция меняется с течением времени.По оценкам различных источников, цифры варьируются от 12 до 30 миллионов человек.
Решил остановиться на данные из SlashData , потому что их методология показалась мне вполне сбалансированной и подходящей для моих нужд. В своей оценке они учитывали количество аккаунтов и репозиториев на Github, количество аккаунтов на StackOverflow, аккаунтов npm и данные официальных источников о занятости в США и Европе.
Они также скорректировали полученные цифры, используя свои собственные 16 исследований, в каждом опросе приняли участие около 20 000 человек.
По данным SlashData, в четвертом квартале 2018 года в мире насчитывалось около 18,9 млн разработчиков, 12,9 млн из которых были профессиональными разработчиками, то есть зарабатывают на жизнь программированием.
Те, кто на данный момент не являются профессиональными разработчиками, — это люди, для которых программирование — хобби, плюс те, кто в настоящее время осваивает профессию (разные студенты и самоучки).
Ну то есть вот намёк на размер интересующей меня группы — 6 миллионов человек.
Честно говоря, это больше, чем я ожидал.
Вторым сюрпризом для меня стали темпы роста количества программистов: со второго квартала 2017 года по четвёртый квартал 2018 года оно увеличилось с 14,7 до упомянутых 18,9 миллионов, или увеличилось на 21% за 2018 год! Если бы меня попросили оценить темпы роста количества программистов, я бы сказал, что это около 5% в год с небольшим увеличением темпа ежегодно.
А тут оказывается целых 20%.
Кроме того, по оценкам SlashData, к 2030 году население достигнет 45 миллионов.
Несложно подсчитать, что это предполагает рост чуть более 8% ежегодно, а вовсе не 20%, но они имеют в виду поправку с учетом проникновения Интернета ( в настоящее время около 57% в мире по данным по данным Статисты ) и ряд других факторов, таких как количество разработчиков на душу населения.
Географически число разработчиков сильнее всего растёт в Индии и Китае; Ожидается, что к 2023 году Индия обгонит США по числу разработчиков (это уже Угловые данные C# ).
В общем, программистов будет много, как ни посмотри, потому что спрос растет. Кстати, о спросе.
Что пользуется спросом?
Для оценки спроса я использовал данные HackerRank для 2018 И 2019 года.Что касается языков программирования, то наибольшим спросом пользуются JavaScript, Python и Java практически во всех отраслях, за исключением компьютерного оборудования.
В последнем случае наибольшим спросом пользуется C/C++, что вполне объяснимо; Аппаратные проекты по-прежнему имеют требования к ресурсоемкости и производительности соответствующего программного обеспечения.
С точки зрения фреймворков наибольшим спросом пользуются AngularJS, Node.js и React, и у них самый большой разрыв между спросом и предложением, что, видимо, объясняется скоростью, с которой меняется экосистема JavaScript, потому что, например, для ExpressJS , предложение уже превышает спрос.
Что касается компетенций, работодатели в первую очередь ожидают от кандидатов навыков решения проблем.
Около 95% работодателей отмечают эти навыки как важные.
Владение языком программирования находится на втором месте с 56%.
Кстати, с фундаментальными знаниями в области алгоритмов, структур данных и прочей информатики вообще нет грань, либо ее не было в анкете, либо академические знания уже не требуются в больших масштабах.
Проектирование баз данных необходимо 23,2% компаний со штатом до 100 человек и 18,8% компаний со штатом более 1000 человек.
Да, похоже, речь идет об ORM и SQL! Логичное, ИМХО, объяснение в том, что в крупных компаниях есть выделенная роль администратора базы данных, отвечающего за этот аспект, а значит можно смягчить требования к разработчикам и нанимать их быстрее.
А вот с System Design все наоборот: 37,0% у мелких, 44,1% у крупных.
Казалось бы, у крупных должны быть выделенные архитекторы, но, возможно, они просто не в состоянии охватить то количество генерируемых систем.
Или в системный дизайн закладываются те же фундаментальные алгоритмы и структуры данных, тогда становится немного понятнее.
Небольшим компаниям Framework Proficiency нужен больше, чем вышеупомянутый System Design, из чего можно сделать капитанский вывод, что стартапам важно как можно быстрее запустить хоть как-то работающий продукт, а завтра будет завтра.
Чему учатся студенты?
Здесь я опирался на данные другого Исследование HackerRank .Важно учитывать, что несмотря на то, что программирование в том или ином виде преподается в вузах (я имею в виду специальности «Информатика»), более половины опрошенных заявили, что занимаются еще и самообразованием.
Современные студенты предпочитают учиться на YouTube, а разработчики постарше предпочитают обучающие программы и книги.
Оба они активно используют StackOverflow. Я связываю это с тем, что видео — привычный медиаканал для поколения Z, тогда как представители поколения Y все еще живут в эпоху без блоггеров.
Преподают то, что востребовано работодателями: JavaScript, Java, Python. Они указывают, что знают C/C++, но это, вероятно, потому, что эти языки используются для преподавания в университетах.
JS-фреймворкам преподают, но спрос значительно превышает предложение, поэтому видимо они активно учатся после того, как нашли первую работу.
В общем, как и положено, учат тому, что востребовано.
Студенты ожидают профессионального роста от своей первой работы, баланс между работой и личной жизнью стоит на втором месте (в некоторых странах на первом), а интересные задачи — на третьем.
Динамика численности разработчиков по языкам программирования и типам ПО
На первом месте находятся веб-приложения, число разработчиков которых оценивается в 16,9 миллиона человек.
Это снова SlashData. Далее идут Backend Services (13,6 млн), мобильные приложения (13,1 млн) и настольные компьютеры (12,3 млн).
Секторы AR/VR и IoT постепенно набирают популярность, AI/ML/Data Science значительно выросли за последние два года.
Javascript растет быстрее всего; его сообщество уже является самым большим: только за 2018 год его число выросло на 2,5 миллиона человек.
Они даже пытаются использовать это в секторах IoT и ML. Число Python выросло на 2,2 млн в 2018 году благодаря растущей популярности ML, где он традиционно силен, а также простоте изучения и удобству языка.
Java, C/C++ и C# растут медленнее, чем общее число разработчиков.
Сейчас они редко являются тем языком программирования, с которого люди предпочитают начинать.
Спрос на застройщиков здесь более-менее сбалансирован с предложением.
Я думаю, что Java развивалась бы еще медленнее, если бы не Android. PHP является вторым по популярности языком программирования веб-приложений, и его число также значительно растет (на 32% в 2018 году).
Его сообщество оценивается в 5,9 миллиона разработчиков.
Несмотря на противоречивую репутацию PHP, его довольно легко изучить и он широко используется.
Как учатся сегодняшние молодые кандидаты по сравнению с предыдущими поколениями?
Опять данные HackerRank. Те, кому сейчас от 38 до 53 лет, называют игры своими первыми проектами.Кстати, подтверждаю, что мой первый более-менее рабочий проект был "крестики-нолики" до пяти в ряд с неограниченным полем, второй - игра на 15. Все это я написал на БК 010-01 , там было Вильнюс базовый , он же БЕЙСИК-86 и фокусный.
ЭИКС.
Современные начинающие программисты (до 21 года) в качестве своих первых проектов пишут калькуляторы и сайты.
Среди представителей поколения X почти половина начала писать код до 16 лет, многие делали это с 5 до 10 лет (в основном те, кому сейчас от 35 до 45 лет).
Более-менее понятно почему: источников информации было мало, а чтобы стать программистом, нужно было очень этого хотеть, а те, кто действительно этого хотел, рано начинали программировать.
У тех, кто этого не так хотел, скорее всего, теперь другая профессия, поэтому картина в социологии именно такая.
Сегодняшние молодые кандидаты лишь в 20% случаев начинают программировать до 16 лет, большинство — где-то между 16 и 20 годами.
Но им гораздо легче учиться; теперь это гораздо доступнее.
выводы
Я до сих пор не нашел конкретного ответа на вопрос, нужен ли сегодня начинающему веб-бэкенд-разработчику SQL, но скорректировал свое представление о современной популяции программистов.Следующее поколение разработчиков — обычные люди, в чем-то напоминающие предыдущие; жилищный вопрос их только испортил.
Они удовлетворяют спрос, который создается работодателями.
Порог входа в профессию стал ниже за счет более удобных инструментов и рамок, позволяющих быстро достичь результата.
Сейчас все больше людей становятся программистами; цифровое поколение (поколение Z) с рождения живет в технологиях; для них это обычная профессия, не хуже других.
Тех, кто знает, что задержка кэша L1 составляет ~4 цикла и что лучше не сбрасывать строки кэша без необходимости, становится меньше в процентах от общего размера популяции.
Однако им не следует беспокоиться о поиске работы; кто-то ведь должен писать низкоуровневые вещи там, где это еще нужно.
Точно так же не стоит беспокоиться тем, кто обладает глубокими фундаментальными знаниями в области проектирования систем и приобрел их в кровавых практических боях, а не просто следует карго-культу.
Потому что в командах будет больше людей, умеющих «просто писать код» и «просто» использовать фреймворки, и чтобы «избежать мучительной боли бесцельно прожитых лет» (в) их нужно будет уравновешивать именно такими людьми .
Soft Skills постепенно переходят из разряда желательных в обязательные (объективных данных, подтверждающих это, у меня нет, только практическое наблюдение).
Число программистов растёт, и всех их нужно направлять на достижение результата, либо путём прямого, либо косвенного контроля, а именно для этого и нужны мягкие навыки.
«Вход в IT» мне кажется местной региональной историей, типичной для тех локаций, где доход программиста существенно отличается от дохода сопоставимого «не-ИТ» специалиста.
В Минске, где я живу, это вообще массовое движение, каждый день вижу рекламу новых курсов, как попасть в заветный IT, а клининговые компании нацеливаются на программистов с сообщением «Вы понимаете код на этой картинке? Это значит, что вы можете позволить себе не убирать свою квартиру, мы все сделаем за вас».
То же самое, видимо, происходит и в какой-нибудь Индии.
У меня также нет данных, подтверждающих это.
В целом, на мой взгляд, популяции программистов ничего не угрожает. Нет смысла болтать о том, что настоящих программистов днем не найти, и что кандидаты очень часто «ничего не знают».
Они такие же умные и способные, может быть, даже умнее и способнее, чем «настоящие программисты»; они просто приобретают знания, которых требует от них быстрорастущий рынок, и откладывают на потом то, что им еще не нужно и не принесет пользы прямо сейчас.
Они научатся, когда им понадобится, потому что они все еще хотят учиться.
Наверное, не каждый на это будет способен, но и не каждому это понадобится; в обозримом будущем рынок легко примет людей, которые смогут быстро собрать другую концепцию приложения, используя некий фреймворк.
В опросе могут участвовать только зарегистрированные пользователи.
Войти , Пожалуйста.
Требуют ли собеседования с веб-бэкендером знания SQL? 66,76% Да, требую, потому что это необходимо на работе 235 19,89% Да, требую, хотя на работе оно требуется редко 70 5,4% Нет, не требую, у нас NoSQL 19 7,95% Нет, я не требуйте, ORM все сделает. Проголосовали 28 352 пользователя.
256 пользователей воздержались.
Теги: #Карьера в ИТ-индустрии #Читальный зал #исследования #Статистика в ИТ #программисты
-
Ipad Против Ноутбука – Что Лучше?
19 Oct, 24 -
Вы Можете Играть В Diablo Iii Бесплатно!
19 Oct, 24 -
Писдинг, Он Же Плагиат...
19 Oct, 24