www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Интеграция Open Source-решений  

Open Source в облачной среде

Облачные решения становятся всё более популярными в мире. Компании стремятся использовать их для

 Читать далее...

Автоматизация  

Нейросеть вам в руки! Как использовать ИИ для автоматизации задач

Использование ИИ для автоматизации задач помогает компании получить конкурентное преимущество, поскольку объединение

 Читать далее...

Рынок труда  

Специалист по этическому ИИ, инженер по квантовым вычислениям или аналитик по метавселенной?

Новые тенденции в развитии ИТ могут привести к возникновению новых специальностей в

 Читать далее...

Книжная полка  

Учитесь убеждать и побеждать

Издательство «БХВ», как всегда, порадовало своих читателей хорошими книжными новинками. Кроме популярных

 Читать далее...

Сетевая инфраструктура  

Как удаленная работа меняет подход к сетевой инфраструктуре?

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

 Читать далее...

Мониторинг  

Какой мониторинг нужен сегодня?

По мнению экспертов ГК InfoWatch, действия сотрудников – самая распространенная причина инцидентов

 Читать далее...

Книжная полка  

Руководство для тех, кто увлечен ИИ, программированием. И дизайном

Накануне лета издательство «БХВ» выпустило книжные новинки, от которых любителям чтения будет

 Читать далее...

Мобильные приложения  

Искусственный интеллект в мобильных приложениях: возможности и перспективы

Обзор современных применений ИИ в мобильных приложениях, анализ перспектив развития этой технологии,

 Читать далее...

ИТ-образование  

Как сделать ИТ-образование эффективным?

Эксперты ИТ-отрасли отвечают на вопросы «СА». Обсуждаем ключевые аспекты для улучшения образовательных

 Читать далее...

Work-life balance  

Как айтишнику найти баланс между работой и личной жизнью?

Обсуждаем инструменты для эффективного управления временем, снижения уровня стресса и достижения гармонии. На

 Читать далее...

Книжная полка  

Всё самое нужное – под одной обложкой

Отличительная черта книжных новинок, выпущенных недавно издательством «БХВ» – это их универсальность. Не просто

 Читать далее...

ИТ-инфраструктура  

Системы мониторинга ИТ-инфраструктуры-2025

Без мониторинга ИТ-инфраструктуры не обходится ни одна компания, хотя бы потому, что

 Читать далее...

Открытое ПО  

Безопасность Open Source: рискуем или контролируем?

Компания «Кросс технолоджис» изучила, как используется ПО с открытым кодом в компаниях

 Читать далее...

Работа с нейросетью  

Скажи, есть ли у тебя AI, и я скажу, кто ты

Недавно сервис по поиску работы SuperJob выяснил, что каждый второй россиянин уже

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 9391
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 9632
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 7038
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 4400
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 5182
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 5182
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 7847
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 4554
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 4815
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 8797
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 12227
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 13815
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 15582
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 10450
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 8479
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 6713
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 5859
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 4705
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 4430
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 4644
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 Вакансия: разработчик ядра Linux. Что нужно знать, чтобы успешно пройти собеседование

Архив номеров / 2014 / Выпуск №1-2 (134-135) / Вакансия: разработчик ядра Linux. Что нужно знать, чтобы успешно пройти собеседование

Рубрика: Карьера/Образование /  Рынок труда

Вакансия: разработчик ядра Linux
Что нужно знать, чтобы успешно пройти собеседование

В помощь нашим читателям, которые только начинают штурмовать карьерную лестницу ИТ-профессии, мы предлагаем цикл статей, в которых представители компаний-работодателей подробно рассказывают, какие именно требования они предъявляют к кандидатам на трудоустройство. Итак, читайте первый материал цикла

  1. Какими знаниями и навыками должен обладать разработчик ядра Linux?
  2. Каков инструментарий разработчика?
  3. Каковы требования компании к уровню образования потенциальных сотрудников?
  4. Какие требования предъявляются к опыту работы?
  5. Есть ли особые требования, которые обусловлены спецификой деятельности компании?

На вопросы «Системного администратора» отвечают специалисты ведущих компаний.


ДЕНИС ЯКУБОВИЧ, руководитель отдела персонала компании Promwad

1. Необходимые знания и навыки для данной позиции в нашей компании:

  • Твердые знания языка С.
  • Понимание архитектуры ядра, его подсистем, способов взаимодействия (Linux kernel 2.6.*, 3.*.*).
  • Понимание принципов работы с системой контроля версий GIT.
  • Опыт работы с компилятором gcc (+Linux LD, Linker scripts). Владение make/automake/autotools.
  • Базовые знания схемотехники (умение пользоваться осциллографом).
  • Знания аппаратных архитектур (x86, ARM).
  • Владение средствами отладки (jtag, gdb, objdump).
  • Большой плюс – наличие коммитов в mainline (умение формировать, описывать патчи).

2. Основной инструментарий разработчика, необходимый для выполнения работ:

  • Рабочая ОС – Ubuntu (по умолчанию, но возможен и другой дистрибутив).
  • IDE – eclipse, emacs, vim.
  • Сборка – toolchain целевых архитектур, различные билд-системы.
  • Отладка – jtag, gdb, objdump.
  • Документирование – wiki, OpenOffice.
HR-взгляд
Открытые вакансии для разработчиков ядра Linux предусматривают следующий типовой набор требований к профессиональным навыкам и опыту:
  • отличное знание языка С;
  • понимание принципов работы операционных систем, опыт системного программирования;
  • знание TCP/IP и архитектуры Linux, умение ориентироваться в исходных текстах ядра;
  • знание скриптовых языков (perl, bash, python);
  • знание файловых систем и моделей разграничения прав в Linux;
  • владение английским языком на уровне чтения технической документации.
Требования к образованию практически не встречаются в описаниях вакансий, поскольку основным требованием к таким работникам является наличие профильного опыта работы, а именно, опыта программирования на уровне ядра Linux.

В зависимости от компании/вакансии/проекта, требуются или приветствуются определенные навыки и знания.

Чернецова Валерия,
руководитель отдела аналитики
рекрутингового портала Superjob.ru

3. Высшее образование в области компьютерных наук, знание английского языка (intermediate).

4. В зависимости от целевого уровня (junior-expert). Минимально – опыт работы в коммерческих проектах под Linux 
от года (как плюс – наличие своего Open Source-проекта).

5. Для нашей компании нужны соискатели, имеющие опыт работы с различными процессорными архитектурами (ARM, MIPS, PowerPC, SH4, AVR32, Blackfin), платформами (TI Sitara/Davinci/OMAP, Marvell Kirkwood, Atmel, STMicroelectronics, Realtek, Freescale iMX/QorIQ), а также с широким набором интерфейсов: I2C, SPI, CAN, RS-232/UART, RS-485, NAND, USB, EMIF, etc. и типов памяти: NOR/NAND flash, CF/MMC/SD, FRAM/NVRAM, DDR/DDR2/DDR3.


ДМИТРИЙ ФИЛИППОВ, менеджер по маркетингу продуктов JetBrains

1. Разработчик ядра Linux – такой же программист, как и те, кто работает не в ядре, просто обладающий специфическими знаниями и умениями. В мире ядерных программистов, в том числе коммерческих, существуют и новички и разработчики среднего уровня, ну и, конечно, никуда без не очень большой группы разработчиков-экспертов. Минимум знаний и навыков для того, чтобы работать с ядром, – это:

  • Отличное владение языком С.
  • Понимание основ операционных систем.
  • Знание хотя бы элементарных алгоритмов, применяемых в программировании.
  • Терпение, вдумчивость, лаконичность.

2. Инструментарий разработчика ядра настолько же прост и лаконичен, как и код, который он должен писать. Перечислю базовый:

  • Удобный редактор кода. Например, vim или emacs.
  • Нужен сам код ядра и средства для синхронизации и работы с исходным кодом. Подразумевается системы контроля версий VCS. Обычно разработчики ядра Linux используют git. Но в некоторых компаниях может быть своя система контроля версий, с которой тоже нужно уметь работать. Например, subversion или mercurial.
  • Специфичный для ядра набор инструментов начинается с компилятора языка С – GCC. Это стандартный и единственный компилятор, работающий с ядром Linux.
  • Утилиты binutils тоже являются составной частью инструментария разработчика ядра. Без них компилировать ядро невозможно, так как многие утилиты из этого пакета используются в make скриптах.
  • Утилиты make, diff, patch тоже входят в набор инструментария разработчика. Их знание обязательно.
  • Для эффективной работы с кодом нам нужна навигация в нем. Для этого используются ctags и etags. Лично для меня удобными оказались проекты Linux Cross Reference (LXR), когда онлайн можно быстро и хорошо снавигироваться в нужные участки кода, а также быстро подсмотреть эти участки кода в других версиях ядра.
  • Для экспериментов с ядром потребуется sandbox. Для этих целей хорошо потходят виртуальные машины.

3. Абсолютно неважно, неполное среднее у тебя или ты кандидат наук плюс второе высшее. Критерий один – может человек выполнять возложенные на него обязанности или нет. Я встречал много программистов-самоучек очень высокого уровня, получающих очень неплохие зарплаты. Так что теоретически для того, чтобы начинать работать, не нужно никакое специальное образование.

4. От компании к компании, от проекта к проекту требования к опыту работы разные. На российском рынке труда имеется реальный дефицит квалифицированных программистов не только ядра Linux, но и программистов на С в принципе. В такой ситуации любому кандидату хотя бы с минимальным, но с хорошим и честным опытом работы с ядром с радостью предложат работу в любой адекватной компании. Далее степень опытности влияет лишь на грейд. Если у человека хороший опыт, скажем, написания драйверов, например, от четырех лет, то ему, вероятно, предложат уже senior-позицию. А если у вас хорошее владение С, базовый опыт программирования и знание основ ядра, то, вероятно, этого будет достаточно, чтобы начать работать на junior-позиции разработчика ядра Linux.

5. Когда мы говорим о разработке ядра Linux, мы имеем в виду любую работу с кодом ядра. Это может быть написание кода в какой-либо из подсистем ядра или написание или модификация драйвера, или верификация, или анализ, или тестирование кода. Ядро настолько большое и настолько разносторонне применимое, что разные компании специализируются на абсолютно разных задачах и работают с разными частями кода. Из этого вытекают специфические требования. Но есть одно важное требование, предъявляемое почти всеми компаниями ко всем кандидатам, – знание английского языка.


ПАВЕЛ ЕМЕЛЬЯНОВ, архитектор департамента серверной виртуализации в Parallels

1. Знание хотя бы одной аппаратной платформы, опыт системного программирования.

2. Не имеет значения. Главное чтобы он был, и человек им владел свободно.

3. Этот пункт в резюме не имеет особого значения, опыт работы – гораздо важнее всего остального.

4. Сначала мы пытались требовать от соискателей опыт работы именно в ядре, но потом поняли, что в Москве таких людей почти нет (а те, кто есть, ограничивались драйверами). Так что из ядерно-специфичных требований осталось только одно – знание архитектуры x86.

5. Я бы выделил три неядерных пункта, на которые мы обращаем особое внимание:

  • умение придумать и доходчиво объяснить алгоритм решения какой-либо задачи;
  • работа с основными структурами данных (списки, деревья) не должна вызывать трудностей;
  • человек должен знать, что такое «сложность алгоритма» и уметь пользоваться этим знанием.

Большой плюс кандидата – это опыт, связанный с виртуализацией железа, например, использование или патчи к Linux's KVM или хотя бы чтение мануалов. Ну и использование Linux как домашней ОС в своем десктопе.

Подготовил Игорь Штомпель


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru