Рубрика «Кем работать в IT» — интервью с представителями IT-профессий, в которых специалисты рассказывают о тонкостях своей работы: плюсах, минусах, подводных камнях и заработной плате. Мы надеемся, что джунам и стажёрам она поможет больше узнать о том, что их ожидает на карьерном пути, а профессионалам — посмотреть на свою специальность через чужой опыт и, может быть, открыть для себя что-то новое.
Сегодня о своём опыте работы нам расскажут ребята из команды базовой операционной системы ОС Astra Linux «Группы Астра»:
Фредерик,
старший инженер-программист в отделе подготовки дистрибутивов
Сергей,
инженер в отделе подготовки дистрибутивов
Иван,
младший инженер в отделе подготовки дистрибутивов
О специальности
Мантейнер — специалист по сопровождению пакетов, репозиториев, дистрибутивов. У нас в компании внутри специальности есть разделение: кто-то может заниматься только пакетами, кто-то ещё и репозиториями, дистрибутивами и сборочными системами.
По данным зарплатного калькулятора Хабр Карьеры, средний размер заработной платы системного инженера во втором полугодии 2023 года составлял 156 тыс. руб. Конечно, это среднее значение. Есть те, кто зарабатывает меньше: 106 тыс. руб., а есть и те, кто получает 247 тысяч.
Расскажите, чем вы сейчас занимаетесь?
Фредерик:
Весь наш отдел занимается подготовкой дистрибутива к тестированию и публикации его для пользователя от сопровождения отдельного пакета до формирования репозиториев и установочного диска ОС. Каждый пакет имеет индивидуальные особенности, поэтому его приходится по-разному поддерживать. В последнее время мы сталкиваемся с ситуациями, когда Debian, на котором основана наша версия ОС Astra Linux 1.7, перестаёт поддерживаться. Поэтому в этом пакете возникают разные стохастические уязвимости, которые нам надо закрывать своими силами: переносить патчи или обновлять пакеты.
Иван:
Я занимаюсь актуализацией пакетной базы, поддержанием безопасного состояния репозиториев и нашего дистрибутива. Каждая задача отличается: это может быть как обновление пакетов, добавление пакета в состав репозитория, так и множество проектов по автоматизации сборки конкретных репозиториев в наших обновлениях. Сейчас это обновления в версиях 1.7, а также идет работа в рамках выпуска релиза 1.8.
Сергей:
Есть два основных направления работы. Первое — это закрытие уязвимостей в программах, входящих в состав нашей операционной системы. Второе — разработка сборочной системы, с помощью которой создаются программные пакеты, входящие в состав ОС Astra Linux нового поколения. Фактически надо понять, как собрать все пакеты с исходным кодом, которые должны формировать состав ОС, и собрать их в нужной последовательности с учётом зависимости друг от друга.
Какое у вас образование?
Иван:
Среднее профессиональное образование по направлению «Обеспечение информационной безопасности телекоммуникационных систем», по профессии я инженер-техник. Когда я учился, основная операционная система, которую мы изучали, был Linux.
Фредерик:
Я получил высшее техническое образование.
Сергей:
Учился в МИФИ на кафедре «Кибернетика» факультета «Кибернетика». Мы изучали теорию информации, теорию конечных автоматов. Было очень много фундаментальной подготовки: высшая математика, физика. Но и прикладных дисциплин было достаточно: алгоритмы и структуры данных, различные языки программирования, проектирование баз данных и т. д.
Кстати об обучении: в этом году мы на Хабр Карьере запустили сервис для менти и менторов в IT — Хабр Эксперты, в котором вы можете бесплатно зарегистрироваться, как эксперт или найти своего наставника и учиться с ним.
Начало карьеры
Как вы узнали о своей специальности? С чего все начиналось?
Иван:
С детства было интересно IT-направление. Мне нравилось «копаться» в компьютерах, изучать системное администрирование. Отдельно всегда увлекало изучение информационной безопасности, поэтому изначально и выбрал эту специальность и поступил в колледж.
На последнем курсе обучения у нас отбирали ребят, которые разбирались в DLP-системах (Data Leak/Loss Prevention). Ещё до этого отбора я проходил курсы во время учебы в колледже и показал хорошие результаты, поэтому выбрали меня. Впоследствии я сам начал курировать это направление для младших курсов вместе с наставником. Так случился старт в IT. После окончания колледжа я сразу начал искать работу, ходил по собеседованиям. Так методом проб и ошибок узнал о своей специальности.
Фредерик:
Изначально карьерный трек был не в IT. В детстве мечтал стать гонщиком и увлекался автомобилями. Но уже во взрослом возрасте захотел построить карьеру в сфере информационных технологий. Составил план и начал его реализовывать: занимался самообразованием, проходил много собеседований, набивал шишки, получал обратную связь.
В итоге получил оффер в «Группу Астра» в отдел технической поддержки. Успешно справлялся с задачами и довольно быстро рос: через 8 месяцев перешел во 2 линию поддержки, а еще через 2 месяца попал в департамент разработки, в котором работаю и сейчас.
Кстати, как небольшое отступление. Бывает так, что говоря про мантейнеров, думают, что непосредственно разработкой мы не занимаемся. Я бы тут поспорил. Автоматизация сборки пакетов — это же разработка. Просто её видим только мы, а не конечный пользователь. И такого много.
Сергей:
Программированием увлекался практически всю свою жизнь после того, как у меня появился компьютер, — а было это лет в 10, наверное. С появлением компьютера у меня наконец появилась возможность открыть интерпретатор Бейсика и попробовать исполнить в нём команды, которые я прочитал в книге «Основы информатики и вычислительной техники». Это была просто какая-то фантастика. Кажется, первой программой, которую я написал на Бейсике и которая выполняла более-менее понятные задачи, был калькулятор.
Уже после окончания института мне попалась на глаза книга Linux from scratch. Действуя по ней, можно действительно собрать свой собственный Linux-дистрибутив. Меня так поразила эта идея, что я выполнил все шаги и собрал свой LFS-дистрибутив ОС на основе ядра Linux. В принципе, я и сейчас занимаюсь примерно этим же, но в рамках рабочих обязанностей.
Как вы искали свою первую работу в IT? Как долго?
Фредерик:
Так как до прихода в IT я работал в другой сфере, нужно было дополучить навыки и знания. Сам вход занял почти 4 года, поскольку параллельно я работал и получал высшее образование. Я изучал техническую литературу, общался с людьми, вовлечёнными в задачи, которыми мне бы хотелось заниматься. Был на митапах, искал работу через джоб-борды, это был основной инструмент поиска.
Иван:
Поиск занял около пяти месяцев: искал работу через hh.ru, джоб-борды, а также через знакомых. В «Группу Астра» попал благодаря знакомым, которые здесь работали.
Сергей:
На четвёртом курсе института я почувствовал, что пора зарабатывать деньги. В МИФИ периодически проводятся ярмарки вакансий, в которых участвуют разные компании, входящие в структуру «Росатома». С помощью этих ярмарок я и нашёл свою первую работу в IT.
Сегодня попасть в IT стало проще — множество компаний предлагают свои программы обучения. Сейчас на Хабр Карьере более 500 курсов для тех, кто хочет изучить разработку, курсы можно отфильтровать по вашей специализации.
Расскажите про свое первое собеседование и первое место работы. Какой вы получили опыт?
Иван:
К первому собеседованию готовился основательно: непосредственно перед встречей получил пул вопросов, которые нужно было осветить в рамках общения. Но на звонке всё равно сделал несколько ошибок в тесте, а после него мне задали технический вопрос. Я ответил (уверен, что ответ был верный), но, к сожалению, всё равно не прошёл дальше. Основной вывод: главное — это качественная подготовка. Нужно по максимуму качать навыки. А в этом помогает не одно собеседование, а несколько.
Сергей:
Как-то я узнал о существовании научно-исследовательского конструкторского института энерготехники им. Доллежаля (НИКИЭТ) и о том, что там есть IT-отдел. В нём были готовы рассмотреть кандидатуры студентов на неполный рабочий день.
На этой работе я познакомился с библиотеками, с помощью которых в java можно генерировать pdf-документы, попрактиковался с использованием xml, поработал с СУБД Oracle. И самое ценное — получил практический опыт общения с людьми, понял, что вообще бывает нужно заказчику в IT.
Расскажите про ваши провальные собеседования. С кем это было? Какую работу над ошибками получилось сделать?
Иван:
Первое провальное собеседование у меня было как раз в «Группу Астра», в другой отдел. Туда я не прошёл, однако получил подробную обратную связь. Понял, какие навыки стоит подтянуть, и отправился погружаться в тему. Тогда же после встречи мне предложили рассмотреть другую вакансию, на которую в тот момент я мог претендовать — стажёр-мантейнер. Решил попробовать и начал поступательную работу над ошибками по комментариям, которые получил после первого собеседования. Сама область экспертизы для меня была новой и для позиции стажера надо было сначала ознакомиться, с чем мантейнеры вообще имеют дело.
В этот промежуток между собеседованиями я пополнил свои знания: понял, как работать с пакетами, изучил, что такое зависимости пакета, набрался опыта по администрированию Linux, узнал больше команд терминала. Всё это помогло мне пройти собеседование на стажёра.
Фредерик:
Отчетливо помню только два провальных собеседования: в один известный маркетплейс и в небольшую компанию, которая требовала больший объем знаний, чем у меня был на тот момент. После обеих встреч я получил довольно объемную обратную связь и понимал, что нужно копать глубже с точки зрения знаний и экспертизы. Поэтому стало чуть проще: появился перечень тем, которые нужно было прокачать.
Сергей:
У меня было не так уж много собеседований и почти все они были успешными. Единственное провальное собеседование было в тот момент, когда я на предыдущем месте решил поменять позицию в рамках той же компании, где ранее работал. Там были довольно строгие правила ротации, если дело касалось перехода между бизнес-юнитами. Нужно было проходить практически такие же этапы собеседований, как если бы ты был кандидатом с рынка.
У меня были 2 секции с решением алгоритмических задач. С одной я справился прекрасно, а более сложную вторую провалил. При этом, согласно правилам, в следующий раз я мог попробовать не раньше, чем через год. Меня такой вариант не устраивал, и я решил, что нужно искать другое место работы.
Какой была ваша первая зарплата, если не секрет?
Фредерик:
15 000 рублей не в IT, а на подработках в более юные годы.
Иван:
15 000 рублей, но тоже не в сфере IT.
Сергей:
Точно уже не помню.
Сейчас на Хабр Карьере более 3000 вакансий для IT-специалистов. У «Группы Астра» открыта вакансия мантейнера.
Как складывался карьерный путь в IT после первой работы? Куда пробовали попасть еще?
Сергей:
В НИКИЭТ я работал около года, но потом сосредоточился на учёбе: предстояло пройти учебную практику в Российском федеральном ядерном центре в Сарове. Еще до отъезда в Саров на ярмарке вакансий в МИФИ я познакомился с начальником отдела разработки программного обеспечения научно-исследовательского института, входящего в структуры «Росатом». Сразу работать у них я не стал из-за продолжающейся практики, но позже, после небольшого собеседования в команду, которая занималась инновационными разработками в области видеонаблюдения и охранных систем, я проработал там 5 лет. Именно там у меня была возможность познакомиться с операционной системой Astra Linux.
Компания
Как вы попали в компанию, в которой работаете сейчас? Где нашли вакансию, на какую должность и как прошло собеседование?
Иван:
Я попал отчасти по рекомендации знакомого, а также пробовал себя в нескольких направлениях в рамках этапов отбора: где-то справился успешнее, где-то не совпал по требованиям. Но по итогу все сложилось довольно удачно, и я прошёл сначала на стажировку в департамент разработки, а сейчас уже работаю на штатной позиции.
Сергей:
Когда менял работу после неудачной попытки ротации, в голове было главное требование — работа должна быть действительно мне интересной. Я часто видел логотип Astra Linux у метро Нагатинская, так как недалеко там живу. Вспомнил про операционную систему Astra Linux, с которой я ранее работал, и решил попробовать себя на вакансию мантейнера. Отмечу, ранее я никогда не работал мантейнером, поэтому пробовать, с одной стороны было страшно, но с другой — это было именно то, что меня интересовало.
Интервью прошло хорошо, после звонка мне предложили сделать тестовое задание, выделили на него неделю или две. Тут началось самое интересное. Я 5 раз отправлял будущему руководителю мой результат, думая, что сейчас я точно всё сделал правильно. Но в итоге оказывалось, что я даже не до конца понимал исходную постановку задачи, и надо переделывать всё с начала. Я благодарен руководителю за то, что он терпеливо отвечал мне в рамках каждой из попыток, а также дал дополнительное время. На пятую попытку я наконец-то выполнил задание успешно.
Как проходил процесс адаптации? С какими трудностями вы столкнулись?
Иван:
Адаптация прошла довольно легко. Ребята давали конкретные задачи, и если что-то не получалось, то объясняли подробно, как справляться с тем или иным таском. Так как мой друг уже работал в «Группе Астра», я получал поддержку и от него. Также на старте с нами поделились манулами по работе и различными учебниками: можно было черпать знания оттуда.
Ещё у нас был конкретный план обучения. Мы начинали с общей информации о Linux, а заканчивали уже практическими задачами по сборке пакетов. Кроме того, у нас была оценка знаний: раз в неделю мы решали тесты по пройденному материалу. Иногда информация была не совсем понятна. В любом случае я всегда обращался к наставнику, и дальше он либо подводил к решению, либо говорил ответ.
Ещё был welcome-день, где новых сотрудников погружают в культуру компании. Это первая массовая адаптационная встреча с HR и другими новыми коллегами на пару часов. На ней специалисты из отдела обучения и адаптации рассказывают в целом о Группе , об основных продуктах, о жизни в офисе. Там же дарят приветственный пак с классным мерчем.
Фредерик:
Когда я устроился на работу, был локдаун и полная удалёнка. Это было не очень комфортно с точки зрения взаимодействия. Но у меня был куратор, который поддерживал на первых порах. В целом, оглядываясь назад, могу сказать, что адаптация была довольно плавной.
Сергей:
В «Астре» и в моей прошлой компании разные подходы к организации встреч. Там, откуда я ушёл, было много внутренних коммуникаций и собраний. В Астре наоборот. Здесь каждый человек сфокусирован на своей рабочей области и может существовать автономно, поэтому нет смысла в проведении регулярных встреч. Поначалу мне было непонятно, чем занимаются мои коллеги и как наша работа связана, но эти вопросы закрывались беседами с руководителем.
Также было несколько онлайн-встреч с нашим HR, которая сначала вела моё трудоустройство, а потом и адаптацию. Ещё для адаптации полезны регулярные встречи на «ТехСреде». Там коллеги делятся опытом и говорят на технические темы. Например, одни из последних докладов были «Проект MG. UBI — универсальные базовые образы» и «Контейнеризация как базовая технология среды разработки».
Какие знания у вас уже были, когда вы пришли в компанию?
Фредерик:
Когда я только пришёл, имел представление о Linux на уровне пользователя. Знаниями настройки серверов я не обладал, но был знаком с СУБД PostgreSQL, мог поднять web-сервер, используя Flask/Django, и написать парсер на python3. На хорошем уровне знал SQL. Писать скрипты на Bash я тогда не умел.
Иван:
Мои знания после колледжа были не очень подходящими. Они касались, в основном, информационной безопасности и C++. Но в ходе стажировки я набрался опыта за счёт самообразования и программы обучения на стажировке. Например, про сборки вообще первый раз услышал, когда пришёл. То, что есть Docker-контейнеры, которые можно ручками запустить.
Сергей:
До Астры я был программистом прикладных приложений. В основном, я писал софт на Java, используя различные СУБД: PostgreSQL, хотя в какое-то время были также и MySQL, ClickHouse и даже Oracle, а также внутренние разработки компаний, в которых я работал. Были и NoSQL-решения (MongoDB). Небольшая часть кодовой базы, которой я занимался, была на Python. Также у меня были знания и практические навыки работы с системами контроля версий: Git, Svn и внутреннее решение компании, в которой я работал до «Астры».
Ещё были навыки администрирования и более абстрактные знания, например, понимание паттернов объектно-ориентированного программирования.
Как вы продвигались в компании? Какие навыки в этом помогли?
Фредерик:
Как уже говорил, перешёл из отдела технической поддержки в отдел подготовки дистрибутивов. Не линейно и не моментально, но постепенно двигался. Теперь дорос до старшего инженера-программиста.
Иван:
Я не так давно прошёл стажировку, так что всё впереди.
Сергей:
В Астре продолжаю работать в той же роли, в которой начинал, — инженер в отделе подготовки дистрибутивов. Моё основное требование к работе сохраняется: она мне действительно интересна.
На какую среднюю зарплату вы рассчитывали и что получили?
Иван:
Так как я начинал в Астре стажёром, то не рассчитывал на большую зарплату. Но в итоге получил даже больше, чем ожидал! Вознаграждение было в рамках 60-80к, мои ожидания от стажировки в этом плане более чем оправдались.
Сергей:
Повторюсь, моей целью при смене работы был поиск интересной предметной области, в которой бы мне хотелось работать. Я был готов даже потерять в деньгах по сравнению с предыдущим местом работы. Так оно и получилось вначале, но после испытательного срока, а потом при пересмотре уровня вознаграждений, я получил заметную прибавку, также несколько раз выплачивали премии по итогам работы. Совокупный доход стал больше, что не может не радовать.
Опыт
Что сейчас нужно знать специалисту, чтобы попасть в вашу сферу?
Сергей:
Надо уточнить, что работа мантейнера очень плотно связана с конкретной операционной системой, для которой осуществляется поддержка пакетов. Поэтому надо знать и понимать особенности этой ОС. В случае Astra Linux нужно знать особенности ОС Debian, так как именно на ней основывается ОС Astra Linux.
Какие бы вы выделили важные Soft и Hard Skills для специалиста вашего направления?
Сергей:
Если говорить про Hard Skills, то это владение различными инструментами работы с пакетами, которые используются для целевой операционной системы и для её репозиториев. В случае ОС, основанных на Debian, сюда входят dpkg, reprepro, debootstrap, apt и т. д.
Также нужны общие навыки работы с git, patch. Важно понимать структуру пакетов ОС и её репозиториев. Для ОС на Debian используются deb-пакеты. Также важны навыки программирования на том языке, на котором в конкретной компании принято делать автоматизацию процессов. У нас в Астре основной язык для автоматизации — Python. Также нужно уметь писать скрипты на Bash. В меньшей степени, но тоже используются другие интерпретируемые языки: awk, perl.
Ну а Soft Skills, наверное, как и в любой профессии — это умение слушать и слышать задачи, умение довести до коллег свои предложения, внятно обосновывать свои мысли.
Поговорим об ошибках: что вы сделали не так и от чего предостерегли бы новичков?
Фредерик:
Новички часто «изобретают велосипед» — пытаются решить проблему с нуля вместо использования уже существующих эффективных решений или инструментов. Иногда это говорит о нежелании принять свою нехватку знаний и попросить помощи у более опытных коллег, что замедляет процесс обучения. Спросить у опытного товарища или сделать исследование — важная часть обучения и работы над любым проектом. Это позволяет узнавать лучшие практики и избегать общих ловушек.
Иван:
Главная ошибка: не задавал вопросы, когда стоило задавать. Конечно, пытаться искать ответ во всевозможных источниках нужно, но не всегда на всё есть ответ. Я часто пытался искать ответы сам, на встречах с куратором стажировки говорил, что всё хорошо, и помощь не нужна. Сейчас я понимаю, что мог потратить намного меньше времени на те задачи.
Сергей:
Не то что бы это ошибка, это, скорее, к вопросу о soft skills. Например, я привык общаться в чатах и развёрнуто излагать там свои мысли. Надо учитывать, что у коллег могут быть другие предпочтения, и кто-то не готов читать лонгриды. Кому-то удобнее голосом в офисе. Тут в каждом конкретном случае нужно смотреть.
Вы проходили какие-то курсы? Что лучше всего подойдет для развития навыков?
Сергей:
Лучший способ развития навыков — работа по соответствующей специальности. Ну это правда так, без шуток. Работа мантейнером — довольно редкая специальность, в каждой компании используются какие-то собственные программные системы для сборки репозиториев, и с ними нельзя познакомиться заранее. В любом случае будет полезным навык программирования, его можно прокачивать на курсах.
Иван:
Мои курсы — это стажировка :) Каждый день в её рамках узнавал что то новое.
Какие книги статьи, подкасты, курсы стоит почитать/посмотреть для развития в профессии?
Иван:
«Администрирование gnu/linux с нуля», А. Береснев. Debian New Maintainers' Guide, Josip Rodin. Всевозможные гайды по Linux на YouTube.
Сергей:
Документацию к средствам операционной системы, для которой планируется поддерживать пакеты. В случае с Debian основным источником информации будет Debian Policy Manual. Если говорить про конкретные задачи написания сборочной системы, то тут может быть очень полезным знакомство с текстом Solving the Bootstrap Problem for Free and Open Source Binary Distributions.
Карьерный трек
Мы часто слышим от специалистов на Хабр Карьере вопрос: как понять, что я уже сеньор? Или: что мне нужно сделать и освоить, чтобы вырасти до мидла?
В каждой статье рубрики мы разбираем новую специализацию и показываем карьерный трек. Это инфографика с навыками, задачами и условиями работы, разбитыми по квалификациям.
Комментарии (11)
Qweritos
09.07.2024 13:49+5Что за "мантейнер" ещё? Челове(ко)нтейнер? Мастер лепки мантов?
Чем вам общепринятый "мейнтейнер" не угодил? Ставлю на NIH-синдром.
sergiodev
09.07.2024 13:49Мэйнтэйнер тогда уж. Буква э же у нас есть ещё.
Vitimbo
09.07.2024 13:49Иностранные слова обычно пишутся через е, хотя звут э. Компьютер, а не компьютЭр. Интернет, а не интэрнэт.
sergiodev
09.07.2024 13:49+1КомпьютЕр - потому что в английском слове computer буква "e", это логично.
Букву "a" (æ) (как в cat) логичнее писать как раз через э по-моему (либо можно использовать "а" в каких-то случаях). Но многие импортёры англицизмов этим пренебрегают, используя "е" не по назначению :)
Посему считаю правильным: maintainer - мэйнтэйнер, cache - кэш (а не кеш), hash - хэш (а не хеш, ё-моё), cashback - кэшбэк (а на кешбек, кэшбек, кешбэк), backend - бэкенд.
Qweritos
09.07.2024 13:49Вопреки вашим рассуждениям, гугл по запросу "мэйнтейнер" выдаёт "Did you mean: мейнтейнер".
И, видимо, неспроста.
Слова, их написание и произношение не всегда дружат с логикой.
sergiodev
09.07.2024 13:49Ну да, "мейнтейнер" пишут чаще, чем "мэйнтэйнер", поэтому и выдаёт. Хотя у "мэйнтэйнер" тоже немало результатов в поисковиках.
Но всё-таки писать "кеш" и "хеш" - извращенство.
avraam-inside
09.07.2024 13:49Пытаемся переехать на Астру - ОТВРАТИТЕЛЬНЫЙ ПРОДУКТ
Даже WIN+L нормально не работает
Тормозит во всех аспектах
Приложение открывается минуты 3 - ничего на экране не происходит, жмешь 500 раз (ну ты нажал и ноль реакции, никаких песочных часов или еще чего) - Астра падает нафиг
И т.д.
Я бы таким разрабам и 100 рублей не заплатилAstraLinux_Group
09.07.2024 13:49+3Здравствуйте! Сожалеем, что вы столкнулись с трудностями при использовании нашей ОС. При покупке лицензии у каждого клиента появляется доступ к технической поддержке, которая готова помочь в случае затруднений. Отметим, что функция Win+L работает в штатном режиме на всех актуальных версиях системы.
ky0
Что-то, связанное с мантами? (тут, впрочем, возможны варианты)