Блог itMegastar

IT для неайтишников: Какими бывают IT- шники? Часть 1

Полезные статьи
Периодически мне задают вопрос, кто есть кто в мире ИТ. Вопрос этот интересный и объёмный. Вот сейчас я взял более 20 разновидностей «айтишников» и понимаю, что это даже все основные разновидности не перечислил. Чтобы не рассказывать все по много раз, я напишу несколько статей и буду на них ссылаться. Рассказывать буду простым языком, идя от простого к сложному.


Меня зовут Константин Митин, я сооснователь и руководитель компании АйТи Мегастар/АйТи Мегагруп. Когда-то был простым разработчиком, работал в L3, дорос до тимлида, затем и до руководителя филиала разработки крупной ИТ-компании. Теперь я в АйТи Мегагруп и стал один из идеологов концепции IT~BP — IT бизнес-партнёрства https://itbp.org.

В IT работают не только и не столько программисты. Ситуация, в целом, здесь такая же, как с врачами: есть множество различных специалистов, в которых разобраться сможет только профессионал. Однако разницу между кардиохирургом и проктологом можно ощутить на интуитивном уровне. Попытаюсь рассматривать разновидности специалистов от простого к сложному.

Какие вообще бывают виды IT-специалистов?


Важно помнить, что есть виды IT-специалистов, а есть должности, грейды, категории и прочие. Их не стоит путать. Должность человека может называться, как угодно. Генеральный директор с 10 годами руководства фирмой в 5 человек не сможет выполнять функции генерального директора корпорации с десятками тысяч сотрудников. Должности у них называются одинаково, но суть их работы не совпадает.



Видов IT-специалистов много, я смогу рассмотреть только часть от основных. Однако этого должно хватить для того, чтобы (в отсутствии технического директора) понять какие ИТ-специалисты нужны компании, либо чтобы понять, кем хочется стать в ИТ-мире. Я собираюсь рассмотреть следующие разновидности:
  1. Эникейщик
  2. Специалист технической поддержки второй линии (L2)
  3. Специалист технической поддержки третьей линии (L3)
  4. Системный администратор
  5. Программист (это не ошибка и не повторение пункта № 7)
  6. Младший программист (junior developer)
  7. Рядовой программист (middle developer)
  8. Старший программист (senior developer)
  9. Руководитель службы технической поддержки
  10. Технический лидер (tech lead)
  11. Лидер команды разработки (team lead)
  12. Инженер по тестированию (QC — quality control)
  13. Инженер по качеству (QA — quality assurance)
  14. DevOps инженер
  15. Бизнес-аналитик
  16. Системный-аналитик
  17. UI/UX специалист
  18. Руководитель продукта (product owner)
  19. Руководитель проекта (project manager)
  20. Архитектор решений (solution architect)
  21. Системный архитектор (system\enterprise architect)
  22. Функциональный архитектор (functional architect)

Начать здесь стоит с волшебных слов: «Ты ж программист», на бытовом уровне почему-то считается, что «программисты» понимают все что связанно с цифровой техникой. После того, как прозвучало «Ты ж программист», может последовать все что угодно. Хорошо если просьба подключить цифровую приставку к телевизору либо помочь разобраться в личном кабинете какой-нибудь программы, но может быть что-то совсем невообразимое, вплоть до сдачи бухгалтерской отчётности. Нет, ну, а что? Та же 1С запускается на компьютере, кнопки там есть, значит программист справится…

Тем не менее, программисты действительно обладают базовыми техническими знаниями, могут разобраться, как подключить приставку к телевизору, переустановить Windows либо даже установить Linux. Это все несложные действия, которые могут выполнять практически все люди, которые интересуются компьютерной техникой. Им просто это интересно, поэтому они это либо делали, либо могут понять, как это сделать.

Эникейщик


Это некий ИТ-специалист самого начального уровня, который помогает пользователям решать их небольшие проблемы. Название шутливое, произошло от надписи: «Press any key» («Нажмите любую клавишу»), когда-то эта надпись могла пугать пользователей и они звали эникейщика, чтобы он всё починил.


На самом деле это и есть тот самый «Ты ж программист», такой человек может помочь с принтером, зажевавшем бумагу, заказать заправку картриджа этого самого принтера. Помочь установить какой-то драйвер либо какую-то программку. Либо просто вернуть кабель от монитора в гнездо, чтобы он начал работать. Эникейщик решает простые проблемы рядовых пользователей, опираясь на как-то «бытовой набор» знаний об IT. Для такой работы не нужна высокая квалификации, хватит просто насмотренности в digital-мире.

У эникейшиков есть особая разновидность — компьютерный специалист на дом по вызову. Пока что не у всех людей в нашей стране высокая компьютерная грамотность, поэтому услуга все ещё пользуется популярностью.

Если честно, то многие высококлассные и состоявшиеся IT-специалисты в молодости подрабатывали эникейщиками либо оказывали компьютерные услуги на дому. Хорошему IT-специалисту нужна небольшая предпринимательская жилка и желание помогать людям. Кроме того, такая работа развивает коммуникационные навыки, то что потом будут называть «soft skills».

Специалист технической поддержки второй линии (L2)


Обычно в службе поддержки пользователей 3−4 уровня. На первом находится специалист колл-центра, которые принимает заявки и может какие-то очевидные проблемы отработать по скрипту. На самом деле ИТ-специалисты не очень расположены часто общаться с людьми и предпочитают обитать в тихих и затемнённых помещениях, поближе к чаю и печенькам. Кроме того, хорошими коммуникационными навыками обладают не все ИТ-специалисты. Первая линия технической поддержки служит буфером между ИТ-специалистами и пользователями, у которых бывают разное эмоциональное состояние и коммуникационные навыки.

На второй линии находятся те же эникейщики, которые могут решать проблемы удалённо. Их снабжают базой знаний, в которой они могут находить алгоритмы решения типовых проблем. При этом мы помним, что для этого уже нужны технические знания. Кроме того, в случае если проблема сложная либо не типовая, специалист второй линии должен мочь грамотно описать проблему и передать её специалисту третьей линии. При этом попытавшись решить проблему пользователя обходными путями.

Стоит понимать, что квалификация специалиста второй линии зависит от сложности поддерживаемой системы. Если система сложная, то на этой позиции может находится, например, квалифицированный системный администратор.

Часто на второй линии работают молодые специалисты, которые недавно начали свой путь в IT. Со временем у таких людей растёт уровень квалификации, так называемые «hard skills», и они становятся системными администраторами, переходят на третью линию, становятся программистами либо ещё кем-то. Либо по мере роста «soft skills», при наличии навыков организации, можно вырасти в руководителя службы технической поддержки.

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

Специалист технической поддержки третьей линии (L3)


На третьей линии работают люди, которые разбирают не типовые обращения пользователей и наполняют базу знаний для второй линии поддержки. Иногда они могут ещё и исправлять ошибки в коде. Если код не доступен, то локализуется и описывается ошибки, после чего они отправляются на 4 уровень, где находятся уже разработчики вендора решения.


Бывают случаи, когда силами третьей линии (если специалистам на этом уровне нечем заняться) осуществляется развитие системы, то есть они пишут код и выполняют доработки. Доработки могут идти по заказу стекхолдеров либо они могут выполняться, чтобы снизить количество ошибок пользователей и обращений на вторую линию.

Почему вдруг получилось так, что L3 нечем заняться? Потому что их задача — это снижать количество инцидентов и наполнять базу знаний для L2. Чем лучше они делают свою работу, тем меньше инцидентов до них доходит.

При этом получается странная ситуация, специалисты L3 должны постоянно быть на своём рабочем месте, так как критичный инцидент может прийти в любой момент, а эти самые критические инциденты могут случаться очень редко. Это как работа пожарной части, чем лучше профилактика, тем меньше вызовов.

Иногда специалисты третьей линии выполняют функции QA и Devops (о них расскажем в других частях), то есть выкатывают (переносят) обновления на продуктив. В крупных компаниях обычно разворачивают несколько версий продукта:
  • для разработчиков, чтобы они могли отлаживать свой код (dev-стенд);
  • для тестирования, чтобы процесс отладки кода не мешал процессу тестирования кода (test-стенд);
  • для проверки итоговой версии перед обновлением для пользователей, зачастую проводят повторное тестирование на копии данных с «боя» (preprod-стенд);
  • версия, с которой работают конечные пользователи, она же «продуктив», она же бой.

Перед выкладкой обновлений на продуктив, сотрудники L3 могут их проверить на предпродуктовых стендах. Так как работа L3 связана с ошибками пользователей и программистов, то они кровно заинтересованы, чтобы не выпускать проблемные доработки на продуктив.

Как-то систематизировать уровень компетенции таких людей не представляется возможным. Это может быть, как человек с начальными навыками программирования и администрирования, так и tech lead (технический лидер).

Например, когда я работал на третьей линии поддержки в БКС, у меня был международный сертификат Senior Developer и Senior Administrator по той платформе, на которой я работал. На каждый из них нужно было сдать по 3−5 экзаменов. Я уже почти прошёл сертификацию по информационной безопасности, но тут я покинул компанию. Ещё у меня было право исправлять код на продуктиве. Я им пользовался. Операция это рискованная, но руки у меня на месте, значит я ошибок на продуктиве не допускал.

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


Системные администраторы бываю разными и с разной квалификацией. Уровень у системных администраторов определяется тем же, что и у программистов. Мы коснёмся этого в следующей части. Но в целом, системные администраторы это те люди, которые следят за состоянием аппаратного обеспечения (серверы и сетевое оборудование) и настройками сети. Кроме того, именно они отвечают за средства виртуализации (создание виртуальных серверов), настройки операционных систем на серверах, системы сбора логов и прочее программное обеспечение, которое относится к «инфраструктуре».


На иллюстрации мы можем видеть жука (bug). Мы все привыкли к тому, что баги это про программистов и тестировщиков. Но первый «баг» был чисто инфраструктурной проблемой (подробности в статье «Народное творчество: баги»).

Самой распространенной теорией является случай с Грейс Хоппер. Она работала в Гарвардском университете с ЭВМ Harvard Mark II. Устройство работало не так, как следовало. В итоге Грейс обнаружила между замкнувшими контактами сгоревшего мотылька (судя по внешним характеристикам). После этого госпожа Хоппер вклеила маленького диверсанта в свой технический отчет и написала: «First actual case of bug being found» (Первый реальный случай обнаружения бага). Произошло все это в 1946 году 9 сентября.

Сфера системного администрирования не менее объёмная и сложная, чем сфера программирования. Но системные администраторы скорее настраивают и обслуживают программное обеспечение и оборудование, а не разрабатывают новое программное обеспечение. Хотя они часто сами пишут код для автоматизации своей ручной работы и коммутаторов.

Настройка сетевого оборудования иногда может тоже являться программированием. Запрограммировать коммутатор от Cisco и коммутатор от MikroTik это две разных задачи и специализации.

Именно системные администраторы будут заводить новых пользователей, настраивать им права, делить сеть на сегменты, настраивать VPN и многое другое. Обеспечение информационной безопасности, подготовка к отражению хакерских и DDoS атак, непосредственно отражение атак на инфраструктуру — это тоже работа системных администраторов. Иногда им в этом помогают специалисты службы информационной безопасности и специалисты технической поддержки 3 уровня.

Если взять тех же «хакеров», то нужно понимать, что у них больше развиты не навыки программирования, а навыки системного администрирования. Например, чтобы сделать DDoS-атаку, нужен «бот-нет», то есть целая сеть различных компьютеров (заражённых вирусом), объединённых в единую сеть, которые по команде начинают согласованную атаку заданной цели.

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

Подводя промежуточные итоги


В первой части мы с вами рассмотрели вопрос о том, какими вообще бывают IT-шники, и составили список разновидностей специалистов, которых хотим рассмотреть. Список далеко не полный, видов специализации на самом деле больше.