Требуются ли программисты и специалисты в области ИБ?

Jun 16, 2016 18:53


Насчёт сварщиков уже написали, приводил ссылку ниже, как они требуются ( https://maxpark.com/community/129/content/3765838 ).

Теперь вопрос к моей специальности: насколько требуются программисты и сотрудники в области ИБ?

Пожалуй, в этот раз я не забуду воспользоваться катом и буду загибать уже под ним.


Итак. На протяжении всей моей жизни я слышу вокруг, что требуются безопасники (информационные) и программисты. Когда я учился в школе (в 90-х) - я это слышал. Когда я учился в вузе (в 00-х) - я это слышал. Я это слышу и сейчас.

В то же время, можно услышать и нечто другое. Например, некоторые специалисты в области ИБ (информационной безопасности) объявляют высокий наплыв хакеров 90-х годов с тем, что много квалифицированных программистов и прикладных математиков остались без работы.
Чувствуете?
То есть они НЕ требовались.
При этом я лично знал программиста, который в конце 90-х и начале 00-х работал частным охранником: работы для программиста не было.
В 00-х годах среди программистов постоянно ходило недовольство тем, что зарплаты не просто маленькие, а уменьшаются по сравнению с инфляцией.
Давайте поищем в интернете, что такое кривая Филлипса.
"Исследовав статистические данные Великобритании почти за сто лет (с 1861 по 1957 гг.), он пришел к выводу, что темпы роста цен и заработ­ной платы начинали снижаться, если безработица превышала 3%-ный уровень, и наоборот."

То есть снижение заработной платы в данной отрасли, видимо, приблизительно говорит о том, что уровень безработицы довольно высокий. Такой высокий, что не работодатель начинает конкурировать за специалиста, а специалисты за вакантное место.

Таким образом, видимо, и в 00-х наблюдалась именно конкуренция среди программистов за рабочее место, а не наоборот.
То есть требовались именно вакансии программистов, а не программисты. Программистов было достаточно.

Посмотрите, что просходит сейчас.
Если в 00-х годах вакансии без указания зарплатной вилки были редкостью, то теперь стали большой редкостью вакансии с указанием зарплаты, даже если обещают белую зарплату.
Работодатель обнаглел настолько, что звоня по телефону и предлагая прийти на собеседование, уже на прямой вопрос не называет зарплатной вилки, предпочитая не называть её даже если ты к нему не приедешь.
Представьте себе, мне нужно потратить не меньше 4-х часов, чтобы доехать до работодателя и пройти собеседование. А потом я узнаю, что их максимум, оказывается, меньше моего минимума.
То есть работодатель совершенно не заинтересован просто даже в том, чтобы я приехал на собеседование, если его заинтересовало моё резюме.

Далее. Практически все вакансии в области ИБ и многие в программировании требуют опыт работы. Сам лично работал в одном помещении с дипломированными специалистами в области ИБ, которые работали программистами и тестировщиками.
Причём один из них - с дипломом МГТУ им. Н.Э. Баумана.
На вопрос, почему не пошёл в ИБ сказал, что зарплаты там в 1,5 раза ниже предлагали и работа не интересная, из того, что ему предлагали (с тем же нулевым опытом).
Все ребята - точно толковые.

Люди не могут найти работу.
И уходят в другие специальности, где им готовы платить больше денег даже без специального образования.
Если бы в ИБ требовались специалисты, то таких http://journal.ib-bank.ru/post/380 статей не появлялось бы. Смысл её простой: "пройдите дополнительное обучение и экзамены, получите сертификат (всё за свой счёт) и мы обещаем вам карьерный рост и повышение зарплаты. Такие как вы будут востребованы на рынке".
То есть они прекрасно осведомлены о том, что люди не востребованы и предлагают им за свой счёт повысить квалификацию, получить бумагу и попробовать повысить таким образом свою востребованность.

Давайте посмотрим парочку требований в описаниях вакансий (я беру первые попавшиеся).

Ведущий разработчик C#
Альфа-Банк
Опыт работы 1-3 года
опыт работы с ASP.NET, EntityFramework, WCF, REST, SOAP, JavaScript, XML

Обратите внимание, зарплатная вилка не указана даже приблизительно.
Теперь смотрите.
У меня опыт работы с C#. ASP.NET это такая web-технология, что-то типа php для .NET. Используется часто, однако, например, я не программировал на ASP.NET практически совсем. Хотя web на C# программировал.

Ставим, допустим, вероятность 0,5, что программист именно с этим работал.

Дальше.
EntityFramework.
Это штука, которая вышла в 2008-ом году. Однако у неё есть несколько конкуретнов. В том числе, есть программисты, которые используют чистый SQL без заморачиваний с чем-либо ещё, что "облегчает" работу.

Я предлагаю считать вероятность не более 0,3. Так как я, например, работал в фирмах, где такие вещи вообще принципиально не используются (потом что невозможно или только проблем больше становится).

Далее, WCF тоже вещь не самая распространённая. Честно говоря, за всё время работы ни разу не видел её использования. Ставлю 0,1.
REST. Очень редкая концепция. Однако, насколько я понимаю, связанная с WCF. Ну, учитывая, что уже поставил WCF 0,1, поставим REST 0,5.

Дальше.
SOAP. Вообще странное требование, т.к. это не то, что надо хорошо знать программисту. Фактически, это специализация xml, причём не такая уж частая и сложная.
Не будем предполагать, что программист всё это сам изучит. Давайте поставим 0,5.

JavaScript
Почти у всех программистов есть опыт работы с JavaScript, если есть опыт работы с web. Однако не у всех есть хорошее знание, так как зачастую программисты либо программируют взаимодействие web-сервера и СУБД, либо клиента на JavaScript и web-сервера.
Учитывая, что приложение явно содержит сложный серверный код (ведь нам нужно WCF, EntityFramework, REST и SOAP), скорее всего, программисты делятся именно так. То есть кто-то больше работает на клиентской стороне, кто-то на стороне СУБД (видел это многократно).
Вероятность того, что он знает хорошо и то, и другое - не больше 0,3.

Знание MS SQL Server. Существуют несколько СУБД, различающихся по своим возможностям и диалектам. Наиболее известные, это MySQL, Oracle, ProgreSQL, MS SQL Server.
Их 4-ре, нужно знать один из них. Считаем, что SQL он знает с вероятностью 1,0 (100%). При этом особенности разных СУБД обычно быстро забываются. Фирма работает, обычно, с одной СУБД. Поэтому вероятность, что программист использует именно эту СУБД примерно 0,25.
Вероятность, что он хорошо умеет писать хранимые процедуры, 0,9, учитывая то, что мы снизили вероятность знания JavaScript ранее. (хотя, обычно, это не предстваляет сложности для изучения). Вопрос, правда, что тут, скорее всего, забыли про транзакции.

Это все требования. Подведём итог.
ASP.NET 0,5; EntityFramework 0,3; WCF 0,1; REST 0,5; SOAP 0,5; JavaScript 0,3; SQL 1.0; MS SQL Server 0,25; хранимые процедуры 0,9;

Какая вероятность того, что программист C# удовлетворяет этим требованиям?
0,5*0,3*0,1*0,5*0,5*0,3*0,25*0,9=0,000253125
Это, приблизительно, один программист из 4000-х тысяч.

Если считать, что в России 250 тысяч программистов, из них 1/3 знает C# и половина из них в Москве, то получим, что всего претендентов на данную вакансию всего 250000/3*0,5*0,000253125=10,5 человек. Причём работу из них, возможно, ищут не все. То есть ещё меньше, чем 10 человек претендентов.

Естественно, при таком подходе программистов будет не хватать.

Следующую вакансию давайте пропустим, т.к. требуются без опыта. Эти найдут программистов, но, явно, и не будут жаловаться на отсутствие программистов. У них поток желающих будет высоким.

Смотрим следующую вакансию.
Ведущий разработчик C#
Optima Group
3-6 лет опыта работы

.Net, C#, EF, MS SQL Server, ASP.Net MVC, AngularJS
Методологии TDD, DDD, XP/Scrum
Английский - свободное чтение
TFS, Git, ReSharper - опыт использования

Опять же, давайте представим себе, что C# знает 1/3 программистов.
Я просто поставлю вероятности без объяснения.

C# 0,333; EF 0,3; MS SQL Server 0,25; ASP.NET 0.5; AngularJS 0.1;
TDD, DDD, "паттерны" - лишние требования, никак не говорящие о профессионализме. Поставлю 0,25, так как люди, это написавшие явно требуют определённой терпеливости при работе с ними. Не каждый программист выдержит неадекватов. Сюда же и "понимание методологий разработки (Scrum, XP)". Кстати, XP, это, вообще-то, и Scrum тоже.
TFS, Git, ReSharper
TFS ставлю 0,5, т.к. явно продукты Microsoft здесь лидируют и вероятность высокая, по сравнению с другими СКВ.
Git - вероятность не выше 0,1, т.к. вместе с TFS - это редкость. Причём требуется именно опыт работы. То есть где-то в другой фирме.
ReSharper - ну, сделаю ему комплимент и поставлю 0,25.

Сумма. 0,333*0,3*0,25*0,5*0,1*0,25*0,5*0,1*0,25=0,00000390234375
Один программист на 256256. То есть если в стране всего 250 тысяч программистов, то из них подойдёт примерно 1. 1 на всю страну, не Москву.

Правда, дефицит программистов? Один на всю страну. То, что их 250 тысяч, и из них подходят, по меньше мере несколько тысяч, никого не интересует.

Заметьте. Зарплата опять не указана. "Вас заинтересовала ваша вакансия?"
А чем она могла заинтересовать? Тем, что ко мне предъявляются невыполнимые требования?

Следующая вакансия.
Программист-разработчик C#, JavaScript
ООО Либрам
3-6 лет

Указана нижняя планка: от 100 тыс. руб.

Microsoft SQL, JavaScript, AJAX, SOA, Web-сервисов

Эти ребята найдут своих программистов.
Давайте посмотрим.
C# 0,333; Microsoft SQL 0,25; JavaScript 0,3; AJAX (ну если знает JavaScript, то) 1,0; SOA/Web-сервисы 0,5.

0,333*0,25*0,3*0,5=0,0124875
То есть подходит примерно 1 из 80-ти.
Кандидатов на найм примерно 1562 специалиста. Кстати, не так уж и много, но достаточно, чтобы нанять.

Пропустим следующую вакансию, она той же фирмы.
Ещё одна.

Программист C#, JavaScript
3-6 лет
80 000 - 100 000 руб.
C#, JavaScript, ExtJS, JQuery.
"организованность, исполнительность", "способность заниматься самообучением", "стремление к саморазвитию", "Возможны переработки с оплатой сверхурочных"

Зарплата указана, но не большая.
Требования выполнимые, причём два последних - только желательные. Кстати, заметьте, здесь нет требования SQL, что подтверждает мои рассчёты выше по поводу того, что не все, кто работает с JavaScript знают SQL.

Эти найдут своих работников. Однако работе не позавидуешь: сверхурочные "оплачиваемые" (наверняка, без надбавки) и, при этом, два требования об одном и том же: самообучение. Это значит, программист должен будет по выходным "саморазвиваться" вместо личной жизни. И всё это всего за 100 тысяч.

Но они найдут своих работников.
0,333*0,3*0,3*0,3=0,008991
Примерно один из 111 работников. То есть кандидатов примерно 1123.

Backend-разработчик (C#)
1-3 года
до 140 000 руб.

C#, SQL, ASP.NET, MVC, RESTful сервисы
SQL считаем 0,5. REST - 0,1.
0,3*0,5*0,5*0,1=0,0075
Один на 133. тоже найдут.

В общем, мы видим, что многие вакансии написаны откровенно недружелюбно. В то же время, часть вакансий, всё-таки, написано более-менее корректно: кандидаты явно найдутся.
Однако, мы ещё не знаем, что они предъявляют на собеседовании.

Естественно, что шум по поводу того, что "невозможно найти программиста, вакансии не закрываются годами" поднимаются теми специалистами, которые пишут неадекватные требования в вакансиях. Их мы выявили. Но есть ещё и те, кто предъявляет неадекватные требования на собеседованиях и т.п.
В общем, людей, неадекватно набирающих персонал, довольно много. И невозможность найти программиста можно объяснять только:
1. Низкой, для такой работы, зарплатой
2. Завышенными, если не нереальными требованиями
3. Неумением искать людей
4. Неумением заинтересовать и удержать людей
5. Неумением оценивать квалификацию
6. Люди сравнивают зарплату программистов с высшим образованием  и опытом работы с зарплатами девочек-телефонисток, только что закончивших школу (или незакончивших). Им всё время кажется, что они предлагают огромные зарплаты (хотя реально и тем, и тем - ниже не куда)
7. Политической пропагандой, которая хочет показать, что квалифицированные технические специалисты требуются в нашей стране.

политика и государство, ненависть, экономика, люди, безопасность, я

Previous post Next post
Up