Byte/RE ИТ-издание

Спрос на специалистов с глубокими познаниями в области системного программирования исключительно велик

В этом уверен Александр Гетьман – выпускник МФТИ, сотрудник ИСП РАН, преподаватель курса «Информационная безопасность и компьютерные сети» в магистратурах МФТИ, МГУ и ВШЭ и модератор круглого стола «Cистемное программирование в высшем образовании: состояние и перспективы», который прошел в рамках Открытой конференции ИСП РАН.

Нет ничего практичнее
хорошей теории.

Густав Роберт Кирхгоф

В этом уверен Александр Гетьман – выпускник МФТИ, сотрудник ИСП РАН, преподаватель курса «Информационная безопасность и компьютерные сети» в магистратурах МФТИ, МГУ и ВШЭ и модератор круглого стола «Cистемное программирование в высшем образовании: состояние и перспективы», который прошел в рамках Открытой конференции ИСП РАН, посвященной 30-летию Института системного программирования РАН и 300-летию Российской академии наук.

Каких-либо цифр, характеризующих дефицит системных программистов, на конференции ИСП РАН не приводилось. Однако вот каким случаем поделился один из спикеров, выступавших с докладом в рамках круглого стола: «Ближе к концу второго курса группа студентов, «приписанная» к кафедре «Системное программирование», была направлена на стажировку в одну крупную компанию. Результатом этой стажировки стало то, что примерно треть практикантов, прельстившись интересной высокооплачиваемой работой, а также перспективами карьерного роста, решила не продолжать учебу в вузе, а стать штатными специалистами компаниями, организовавшей практику».

– Насколько типичны такие случаи?

Такие случаи действительно есть. Но многое зависит от специфики вуза и от того, где и как организована практика. Надо понимать, что есть вузы, тесно интегрированные с НИИ и Big Tech (к примеру, МФТИ). Там студенты проходят практику на базовых кафедрах, организованных при институтах РАН и крупных ИТ-компаниях, таких как Сбер, VK, «Яндекс» и т. д. В то же время есть инженерные вузы (МИФИ, Бауманка и другие), в которых студенты проходят практику на производственных предприятиях (или организованных при них базовых кафедрах), в таких организациях, как «Росатом», «Ростех», «Роскосмос» и др. Не секрет, что крупные предприятия и организации могут платить ИТ-сотрудникам очень даже приличные зарплаты и предоставлять им весьма внушительные соцпакеты.

Да, многие студенты на втором курсе, и даже на первом, идут работать. По совершенно разным причинам. Одни – по чисто финансовым соображениям, так как на одну стипендию сейчас не прожить. Хотя сейчас таких, по моим ощущениям, все же меньшинство: во многих вузах есть достаточно развитые системы поддержки студентов. Другие хотят добавить в свои резюме строчки о том, что у них есть опыт работы по специальности, и к концу обучения претендовать на более высокие позиции. Некоторые искренне верят, что чем раньше они станут так называемыми джуниорами, тем быстрее они дорастут до мидлов, сеньоров, тимлидов* и CEO. Но это чаще всего иллюзия. Реальная карьера в подавляющем большинстве случаев складывается не так. Недоучившийся ИТ-бакалавр, как правило, вряд ли  поднимется выше мидла. У него будет «стеклянный потолок»** – в лучшем случае ближе к концу карьеры он сможет дослужиться разве что до сеньора. Но есть, конечно, исключения, которые, как говорят, только подтверждают правило.

*Тимлид (team lead – лидер команды) –  руководитель команды, который отвечает за организацию работы группы специалистов, распределяет задачи между участниками команды и контролирует их выполнение, следит за соблюдением сроков и обеспечивает поддержку сотрудников. Эта роль распространена в ИТ и других областях, где важна командная работа. – Прим. ред.

**«Стеклянный потолок» (glass ceiling) – это выражение используется для описания невидимых, но реально существующих барьеров, которые мешают тем или иным группам людей продвигаться по карьерной лестнице. – Прим. ред.

Однако в большинстве случаев карьерных взлетов у тех, кто выбрал «ранний выход на рынок труда», не происходит. Почему? Потому что они «взяли у жизни взаймы». То есть свои годы, когда ум наиболее восприимчив и гибок и когда надо было учиться, набираться знаний и отодвигать вверх свой «стеклянный потолок», они потратили на добычу «презренного металла». В вузах, обеспечивающих качественную подготовку специалистов в области разработки ПО (см., например, исследование «9-й Рейтинг российских университетов РУССОФТ 2024»), образовательные программы устроены так, что если ты по ним учишься и успешно заканчиваешь бакалавриат, то можешь легко прийти в любую компанию и сразу стать там мидлом, а то и сеньором. А затем, если есть карьерные амбиции и благоприятное стечение обстоятельств, дорасти до тимлида, руководителя подразделения и т. д. Особенно в том случае, если у тебя есть глубокие познания в области системного программирования. Ведь системное ПО – обязательный элемент ИТ-инфраструктуры любого предприятия или организации.

– Какие программы относятся к категории «Системное ПО»?

– Список программ, относящихся к категории «Системное ПО», постоянно расширяется. Первоначально к ним относились операционные системы и драйверы, а также компиляторы и интерпретаторы, т. е. программы, которые преобразуют код, написанный на высокоуровневых языках, в машинный код. Затем добавились библиотеки, предоставляющие базовые функции для приложений (работа с файлами, потоками, сетью и т. д.) и утилиты для диагностики как отдельных ПК, так и программно-аппаратных комплексов. В настоящее время к системному ПО относят также средства виртуализации, некоторые средства обеспечения информационной безопасности и программные средства, обеспечивающие разработку безопасного ПО: программы анализа исходного кода на наличие уязвимостей без выполнения программы (Static Application Security Testing, SAST); программы, обеспечивающие тестирование работающего приложения для выявления уязвимостей (Dynamic Application Security Testing, DAST); тесты, осуществляющие имитацию атак для оценки защищенности работающего приложения (Penetration Testing); программы, обеспечивающие автоматизированное тестирование программных продуктов с использованием случайных или некорректных данных(Fuzz Testing) и т. д.

В официальном «Классификаторе программ для электронных вычислительных машин и баз данных» (с изменениями и дополнениями до 4 декабря 2023 г. включительно) перечислено 13 классовпрограмм, относящихся к категории «Системное ПО».Важно отметить, что ошибки в системном ПО могут приводить к сбоям на уровне всей системы.

– Считается, что в России подготовку специалистов в области разработки ПО ведут около 350 университетов. Сколько из них готовят специалистов, обладающих глубокими знаниями в области системного программирования?

– На этот вопрос сложно дать однозначный ответ. Полагаю, что таких университетов в нашей стране немного: в пределах от десятка до двух. Среди них прежде всего можно назвать МГТУ им Н.Э. Баумана, МГУ, МФТИ, с недавних пор – национальный исследовательский университет «Высшая школа экономики» (НИУ ВШЭ), а также Национальный исследовательский университет ИТМО (ранее Ленинградский институт точной механики и оптики), Национальный исследовательский ядерный университет «МИФИ», Новосибирский государственный университет, Санкт-Петербургский государственный университет, Санкт-Петербургский политехнический университет Петра Великого (Политех).

Однако при рассмотрении резюме специалистов, которые стремятся заполнить вакансии, требующие от соискателей знаний в области системного программирования, сотрудникам HR-отделов надо принимать во внимание не только шестизначные коды направлений подготовки, указанные в дипломах, но и то, какие именно предметы изучали обладатели этих дипломов в процессе обучения (эти сведения есть во вкладыше к диплому). Да, государственные вузы при разработке образовательных программ по тому или иному направлению подготовки ориентируются на соответствующие Федеральные государственные образовательные стандарты высшего образования (ФГОС ВО), однако при реализации этих стандартов у многих вузов есть определенные степени свободы. В результате у некоторых вузов списки предметов, изучаемых в рамках одного и того же направления обучения, могут значительно различаться.

Играет свою роль и квалификация преподавателей. Область системного программирования – не самая известная и популярная среди абитуриентов. Специалистов и преподавателей в этой сфере объективно мало. Как в России, так и в мире в целом, из общего количества программистов на долю системных программистов приходится значительно меньше 10%.

Во время  круглого стола «Cистемное программирование в высшем образовании: состояние и перспективы», прошедшего в рамках декабрьской Открытой конференции ИСП РАН, я перечислил порядка десяти предметов, наиболее близких к системному программированию. На мой взгляд, если хотя бы по половине этих предметов в вузе есть хороший преподаватель и эти предметы выстроены в логически правильную цепочку с точки зрения последовательности их изучения, то такой вуз можно отнести к категории учебных заведений, действительно ведущих подготовку системных программистов.

Предметы, изучаемые в программах бакалавриата и имеющие отношение к системному программированию. Источник: ИСП РАН, декабрь 2024 г.

– Много лет существует 35-страничный профстандарт «Системный программист», составленный с учетом мнений участников ИТ-рынка и утвержденный приказом Министерства труда и социальной защиты РФ. В нем подробно расписано, какими знаниями и умениями должен обладать специалист, который занимается разработкой, отладкой, модификацией и поддержкой системного ПО. Как вузовские направления подготовки ИТ-cпециалистов и предметы, имеющие отношение к системному программированию, учитывают требования этого профстандарта?

– Честно говоря – не знаю. Учебные планы руководители вузов составляют с учетом специфики образовательного учреждения и требований ФГОС ВО, а также исходя из наличия преподавателей, которые могут на должном уровне вести тот или иной курс. Но преподавателей, хорошо разбирающихся в системном ПО, как я уже говорил, не так много. Да и специалисты, имеющие глубокие познания в области системного программирования, весьма дефицитны. Например, одна крупная компания уже много месяцев ищет грамотного специалиста по фаззинг-тестированию и готова предложить ему оклад в несколько сотен тысяч рублей. Но, насколько мне известно, эти поиски пока не увенчались успехом.

Беседовал В. Митин

Вам также могут понравиться