Компьютеры и мобильные гаджеты, которыми мы пользуемся каждый день, ничего не стоят без качественного программного обеспечения. Чтобы они работали, кто-то должен писать новые драйверы, плагины, системные утилиты и массу других полезных программ. И занимаются этой сложной работой системные программисты.
Описание профессии
Системный программист (System Software Developer) — это специалист, который занимается разработкой системного ПО и общевычислительных приложений. Системное ПО не решает каких-либо практических задач, оно обеспечивает функционирование других программ. Это оболочка и своего рода посредник между «железом» (аппаратной частью) и различными приложениями, которые пользуются мощностями этого «железа». Типичный пример такого ПО: Microsoft Windows, или ОС Android на вашем мобильном телефоне.
Разработчик операционных систем работает в коллективе и может решать различные задачи в зависимости от уровня компетентности:
- Продумывает архитектуру ПО, пишет программную оболочку и разворачивает систему;
- Занимается установкой ПО и следит за её исправностью;
- Тестирует и проверяет компоненты системы на работоспособность и производительность;
- Настраивает и модифицирует мейнфреймы (отказоустойчивые серверы);
- Пишет и накатывает обновления ПО и различных системных утилит;
- Проводит отладку системы, исправляет ошибки и критические баги.
В работе системный программист чаще всего использует стороннее программное ядро с открытой архитектурой, например, Linux. Однако бывает, что специализированную операционную систему нужно писать с нуля, что особенно актуально сейчас, когда взят курс на импортозамещение в IT.
Собственно говоря, программист-системщик не обязательно будет заниматься разработкой операционный систем. Он может, например, писать системное ПО для бытовых устройств и приборов, где есть электронное управление. Это несколько иное направление, именуемое embedded-разработкой, но требует примерно похожих навыков.
Навыки и умения системного программиста
Ключевые языки, которые необходимо изучить системному программисту, это C/C++, а также язык ассемблера. Многое пишется также на JavaScript, а конкретнее на программной платформе Node.js. В последние годы всё более популярным становятся Rust, Go и Python.
Системный программист должен хорошо разбираться в Linux и подобных ему системах, а также в ядре Linux, поскольку именно на его основе сейчас разрабатывается большинство независимых ПО, включая и многие российские. Важный hard skill — это владение языком разметки XML.
Неплохо также системщику иметь навыки системного администрирования и разбираться в системах управления базами данных, такими как MySQL, PostgreSQL.
Прочие навыки системного программиста:
- Аналитическое системное мышление;
- Навыки тестирования и диагностики;
- Code Review;
- Управление задачами и планирование;
- Английский язык на уровне Intermediate и навыки чтения технической литературы на иностранном языке;
- Коммуникабельность и умение работать в команде.
Где учат на системного программиста
Поскольку специалисту нужно крепко разбираться во множестве дисциплин, то предпочтительный способ обучения — это высшее техническое образование. Направления обучения по программе бакалавриата:
- «Системное программирование и компьютерные технологии»;
- «Системное и интернет-программирование»;
- «Фундаментальная информатика и компьютерные технологии»;
- «Прикладная информатика»;
- «Программная инженерия».
В процессе студенты изучают множество прикладных дисциплин, таких как технологии разработки баз данных, программная архитектура, методы системного анализа и моделирования и многое другое, в том числе и умение пользоваться ассемблером и писать код на Linux.
Вакансии и зарплата системного программиста в 2022 году
Отметим, что системные программисты далеко не всегда разрабатывают операционные системы общего пользования. Их навыки нужны, например, при создании ПО для компьютерной безопасности, промышленности, средств логистики и доставки, медицины и т.д.
Поэтому вакансий для системного программиста в настоящее время предостаточно. Правда, не везде их обозначают именно этим термином. Нередко в вакансиях значатся: «Инженер-программист», «Разработчик ПО», «Специалист по внедрению ПО» и другие.
Что касается зарплаты системного программиста, то, как и повсюду в IT, она напрямую зависит от опыта и навыков соискателя:
Junior | Middle | Senior |
35—50 тысяч рублей | до 100 тысяч рублей | от 180 тысяч рублей и выше |
Плюсы и минусы профессии системного программиста
Плюсы | Минусы |
|
|