Системный администратор Linux
Мы выясняли, какие требования представители компаний предъявляют к соискателям на эту должность.
1. Какими знаниями и навыками должен обладать системный администратор Linux?
2. Каков инструментарий системного администратора Linux?
3. Каковы требования компании к уровню образования потенциальных сотрудников?
4. Какие требования предъявляются к опыту работы?
5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?
Кирилл Ковалев, старший технический специалист FastVPS LLC
1. Такой сотрудник должен обладать значительным техническим кругозором, так как сетевые взаимодействия подразумевают использование самых разных технологий, относящихся к разным уровням OSI. Надо быть и немного инженером-сетевиком, и веб-мастером. Однако так как знать все попросту невозможно, то, пожалуй, самый важный навык – это навык поиска необходимой информации.
2. На текущий момент дипломы иностранных учебных заведений и просто специализированные сертификаты рассматриваются, увы, с несколько большим вниманием, чем полученные в странах бывшего СНГ. Впрочем, опыт показывает, что любой диплом далеко не всегда говорит о наличии соответствующих знаний либо навыков.
3. По этой причине мы не ставим жестких требований по наличию профильного образования. При приеме на работу мы в обязательном порядке стараемся разобрать устно какие-то типичные задачи, а также предлагаем выполнить практическую часть повышенной (для неподготовленного человека) сложности.
Замечу также, что часть наших сотрудников имеет образование, вовсе далекое от IT, – например, бухгалтер-счетовод, инженер по проектированию вентиляционных систем и т.д.
4. Основной упор при приеме на работу мы делаем на желание осваивать предлагаемый фронт работ и резвость мышления в целом, а не на практический опыт (хотя и ценим его!).
Надо сказать, что намного удобнее для работодателя растить своих сотрудников, хорошо понимающих тонкости работы компании, чем устранять взаимные трения с уже состоявшимся специалистом, привыкшим к иному порядку работы.
У нас многие ключевые должности занимают люди, которые когда-то приходили на должность рядового сотрудника (возможно, не имея опыта работы в хостинге вовсе) и далее прошли весь путь до незаменимого члена коллектива.
5. Мы высоко ценим любовь к работе и стараемся подбирать именно таких людей в команду. Как правило, именно увлеченные люди имеют в активе множество полезных качеств – например, возможность работать в любое время и в любом состоянии.
Если человек по-хорошему «болеет» своим делом, то это несомненный плюс, мы требуем от наших сотрудников именно такого настроя.
Юрий Трухин, эксперт по облачным технологиям InfoboxCloud
1. «Сферический администратор в вакууме» должен выбрать одну определенную область и развиваться только в ней. Чем меньше зона ответственности, тем глубже можно погрузиться в тонкости. Однако подобное – фантастика, так как, помимо кучи направлений, которые приходится закрывать, есть еще смежные области, без знания которых работать крайне проблематично (например, связанные с сетью). Так что главными и основными особенностями являются умение гибко мыслить («Ты же не Windows-администратор, мысли вне рамок!»), желание учиться и развиваться, умение быстро искать информацию и понимать, что ты находишь. И иметь огонь в глазах и море желания стать отличным профессионалом. Главное – постоянно учиться и совершенствовать результаты своей работы.
А базовые знания… Можно было бы назвать Apache, MySQL и т.д., но мы часто склоняемся к мысли, что базовых знаний не существует. Есть только то, с чем человек работал и что знает сам, а подходит это для задачи или нет, зависит от самой задачи.
2. Голова, консоль и поисковая система (именно в такой последовательности). Все остальное опционально. Разные задачи – разные инструменты. И даже для одной и той же задачи разные админы могут выбрать разные инструменты.
3. Обучаемость и общая адекватность. Плюс желание автоматизировать максимальное количество процессов, чтобы работать эффективнее. Хороший администратор Linux – немного программист.
4. Желателен опыт работы в хостинге, но не принципиален. Мы легко сможем проверить ваш уровень знаний в боевых условиях и сделать выводы.
5. Админ должен разбираться во всем. Понимать, как устроен технологический стек с самых основ. Практически все, где есть консоль, ложится на плечи Linux-админа – почтовые серверы, LAMP, DNS, Perl, OpenVZ, ZFS, RAID и т.д. Список можно продолжать долго. Вся сложность заключается в том, что, помимо внутренних проектов, мы работаем с клиентами, и зачастую клиенты генерируют весьма странные запросы, с которыми тоже приходится разбираться. Поэтому умение находить решения ранее нерешенных проблем важно.
Татьяна Бахаревская, заместитель руководителя департамента эксплуатации Яндекса
1. Главные навыки системного администратора в Яндексе – быть ответственным и аккуратным, иметь желание работать в команде, расти и развиваться. Без этого набора качеств у нас работать сложно. Как говорилось в «Алисе в Зазеркалье»: «Нам надо очень быстро бежать вперед, чтобы оставаться на месте». Да и перед соседом по лестничной клетке за неработающий сервис краснеть тоже не хочется.
Технически системный администратор должен знать, чем команда top отличается от команды ps и зачем нужны файловые системы /proc и /dev, то есть быть знакомым с операционной системой Linux. Еще хорошо понимать, чем отличаются протоколы tcp и udp и зачем нужна команда tcpdump, и не бояться написать скрипт на bash. Это минимальный набор знаний для начала работы системным администратором.
Если он у вас есть, то его можно и нужно наращивать, решая все более и более сложные задачи. Сейчас у нас в компании работает много специалистов, которые несколько лет назад приходили новичками с базовым пониманием, а сейчас стали гуру мирового уровня. Могут и ядро похачить, и проектировать сервисы с учетом того, что нагрузка на них может вырасти в несколько раз за год, предотвращать аварии и быстро их устранять. Знают многое о сетевых протоколах и современном оборудовании, программируют на C++, понимают, когда применить Nginx и зачем нужны транзакции в базах данных.
2. Наши любимые вопросы на собеседованиях: «Как быстро проапгрейдить ядро и операционную систему на 100 одинаково настроенных серверах? А как быстро разложить программу, которую написал разработчик, на 100 серверах? А если серверов 1000? А если больше, и они в разных датацентрах, и пользователи не должны ничего заметить? А как проверить, что новое ядро или новая программа работает корректно на этих сотнях тысяч серверов?»
Это мы не для того придумали, чтобы жизнь потенциальным кандидатам усложнить. Это ежедневные и ежечасные задачи, которые необходимо решать. Понятно, что все приходится автоматизировать, автоматизировать и еще раз автоматизировать. Есть опенсорсные продукты, которые у нас тоже используются (например, тот же Chef), но очень много инструментов написано внутри компании – для установки серверов, обновления программного обеспечения на них, мониторинга и аналитики работы сервисов.
3. Особых требований к уровню знаний нет. Главное, чтобы было желание и опыт. Для тех, кто только хочет стать системным администратором, у нас есть курсы информационных технологий. Мы открыли их несколько лет назад, так как поняли, что готовых специалистов, умеющих работать с такими сервисами, как наши, на рынке труда мало. И понятно, почему так происходит. Систем, которые работают по схеме 24х365, располагаются в нескольких датацентрах, умеют при этом переживать отключение одного из них незаметно для пользователей и работать с большими объемами данных на различных Open Source-технологиях, не так много.
4. Получить опыт работы с ними непросто. К тому же студенты не особо идут в системные администраторы, так как думают, что это в лучшем случае только поддержка офиса. Сложилось так, что профессию программиста выбирают чаще, потому что она понятнее.
Мы решили действовать и организовали для студентов и молодых специалистов бесплатные курсы, где на лекциях и практических занятиях можно многое узнать о системном администрировании, операционной системе Linux и о том, как с ее помощью мы решаем задачи в Яндексе. За все время проведения курсов мы взяли на стажировку более 50 человек. При этом мы не обязываем выпускников работать в Яндексе, а растим кадры для всей индустрии.
Также мы проводим олимпиаду по системному администрированию Root (root.yandex.ru). Ее задачи – популяризировать профессию системного администратора и повышать их квалификацию. Задания мы стараемся придумать посложнее – хотим, чтобы и наши студенты, и участники олимпиады поняли, что работа администратора сложная, важная и интересная.
5. Конечно! Наш системный администратор – это не угрюмый нелюдим в грязном свитере с пивом, который ненавидит всех пользователей, пришедших к нему с просьбой «компьютер починить». Требований к дресс-коду у нас, конечно, нет, но при этом системный администратор – это часть команды сервиса. Он регулярно общается с разработчиками, инженерами по тестированию и менеджерами. Помогает разрабатывать – обеспечивает команду разработческими и тестовыми средами. Думает о том, какое оборудование нужно использовать в проекте, разрабатывает SLA для сервиса, занимается установкой нового программного обеспечения на продуктивные среды, автоматизирует свою работу, занимается поиском неисправностей, резервированием и бэкапами, а главное – понимает, про что тот сервис, с которым он работает, и постоянно думает о том, как его улучшить.Подготовил Игорь Штомпель