DevOps-инженер и путь его развития в 2020 году


Оглавление (нажмите, чтобы открыть):

«Все ищут DevOps-инженера — но мало кто знает, зачем он нужен»

В преддверии минской конференции DevOpsBy 2020 dev.by расспросил DevOps-инженера ISsoft Алексея Денисевича о преимуществах и недостатках одной из самых «модных» и востребованных позиций последних лет.

Мода на DevOps: «Звучит круто — значит надо брать»

— В сравнении с остальным миром, где методология DevOps заработала в 2009 году, может показаться, что мы опаздываем на 7 лет: по сути, у нас «девопс» ещё только зарождается.

Пару лет назад я не видел таких вакансий нигде в Минске — и тут внезапно повсюду «нужен девопс». Когда я поменял профессиональный статус в LinkedIn c админа на DevOps-инженера, то сразу почувствовал этот ажиотаж на себе.

На самом деле в наших широтах до сих пор мало кто точно знает, кто такой «девопс». Бывает, человек проходит собеседование на позицию DevOps-инженера, а когда спрашиваешь у него, что это такое в его представлении — бывает сложно добиться внятного ответа. Я даже не уверен, что все компании, открывая соответствующую вакансию, до конца понимают, что такое «девопс», и исходят из банального «звучит круто, значит надо брать».

По учебнику, DevOps — это методология, которая позволяет связать мир программистов и других технических подразделений компании (операторы, администраторы, тестировщики, пр.). Людей, которые понимают, как это реализовать на практике, называют DevOps-инженерами. В сравнении с тем же системным администратором, «девопс» — это намного более широкое направление, охватывающее всю структуру работы определенного бизнеса. Я не говорю, что DevOps-инженер — это визионер. Он не бизнес-стратег: не строит бизнес-логику и не вмешивается в планы компании.

6 главных принципов «девопса»

Есть шесть базовых задач «девопса». Умные люди пропагандируют эти подходы уже 7 лет, и они правы, это работает.

1. Связать два мира: наладить общение между программистами и всеми остальными ИТ-отделами. Как правило, эти миры изолированы друг от друга: программисты сами себе «варятся», операторы — сами себе, и в итоге по ряду вопросов начинается противостояние, чего быть не должно. Мы не психологи, но мы должны так наладить работу и выстроить процессы, чтобы другие ребята чувствовали себя комфортно и взаимодействовали.

2. Хорошо понимать, как работают программисты и какие используют методологии, как они выстраивают собственные рабочие процессы для выдачи качественного кода и апдейтов в разумные сроки.

3. Вводить единообразное окружение. Бывает, программисты разворачивают тестовое окружение, создают виртуальные машины и базы, а потом у тех же операторов, тестировщиков, техподдержки это не работает. Начинаются «тёрки». «У меня все отлично работает», — говорит программист. Следовательно, нужно ввести единообразие: позволить и тем и другим оперировать на идентичных окружениях.

4. Автоматизация! Поскольку человек — существо, которому свойственно ошибаться, желательно автоматизировать всё, что нужно делать вручную (в 90% случаев это осуществимая задача), особенно сложные многосоставные ручные действия. Есть конторы, у которых релизы новых версий программ занимают до шести недель (и ещё неизвестно, что сломается по дороге). Если же всё это автоматизировать, можно получить результат и за пару часов.

При этом нужно хорошо понимать то, что ты автоматизируешь, и ряд действий оставлять ручными как минимум для валидации. Основное правило автоматизации: не автоматизируй то, чего ты не понимаешь или/и не можешь валидировать автоматически.

Автоматизация — самая заметная часть в обязанностях «девопса», её сразу видно.

К слову, на предстоящей конференции я буду рассказывать про CloudFormation — это сервис от Amazon, позволяющий создавать другие сервисы и ресурсы в автоматизированном режиме. Этот инструмент облегчает работу DevOps’а во многих аспектах. Постараюсь рассказать, зачем и как им пользоваться на примере наших внутренних разработок в ISsoft.

5. Собирать метрики, чтобы понимать, каковы результаты вашей работы. Во-первых, самые банальные метрики — системные: оперативная память на машинах, загрузка каналов, скорость передачи данных, нагрузка на процессоры. Во-вторых, бизнес-метрики: сколько клиентов что-то купили, сколько не купили, но собирались, почему часть из них ушли. Желательно, чтобы эти два вида метрик коррелировали между собой, чтобы чётко понимать, где проблема: в железе или/и в бизнесе.

6. Процесс улучшения — а улучшить всегда есть чего. Реализация первых 5 пунктов почти всегда несовершенна, поскольку этим опять-таки занимается человек.

Это книжные вещи, но в реальности всё примерно так и происходит. Как правило, к вашим услугам прибегают ИТ-проекты, у которых есть проблемы по всем 6-ти пунктами. Процесс настройки может быть как быстрым, так и долгим. Важно общаться со всеми: DevOps-инженер включён в очень плотное общение, с ежедневными митапами и стендапами. Иногда, в течение дня, может пройти от 6 до 8 «митингов». Если вы любите поговорить, это позиция, где нужно говорить каждый день.

Работа нон-стоп — не помню за год ни одного дня, чтобы я прохлаждался. Даже когда всё сделано, наступает пункт №6: всегда есть, что улучшить.

Сопротивление команд: «Неизвестно кто пришёл и начал диктовать»

К сожалению, мы часто сталкиваемся с инертностью, медлительностью и сопротивлением команд.

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

Их можно понять: это что-то новое для команды, это означает реорганизацию процессов, «я вчера делал по-другому, меня ущемляют». Также некоторые отделы и личности не обладают профессиональными навыками для столь резкого перехода.

Однако новый рабочий процесс создаётся не для того, чтобы кого-то закабалить и навязать список правил, а для облегчения работы всех подразделений. В итоге должны выиграть все: бизнес, программисты, отделы — и «девопсы».

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

Почему лично я ушёл из админов в «девопсы»?

Почему лично я принял решение переквалифицироваться из системного администратора в DevOps-инженеры в 2015 году? Почувствовал профессиональный застой. Мне всегда хотелось быть ближе к программистам и их методикам работы, а на прошлом месте я не смог бы этого получить на должном уровне. Так что я искал новых знаний и возможностей, без потери уровня зарплаты.

Как стать качественным «девопсом»? Тут трудно избежать клише, но важно не лениться. Это бесконечный процесс обучения.

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

Конечно, не получится знать всё: может, «девопсы», которые начинали 7 лет назад, знают и понимают фантастическое количество вещей: как-никак, они стояли у истоков. Но такого рода требования к «молодым» «девопсам» сродни требованию иметь все виды прав на все виды транспорта перед тем, как разрешить вам сесть за руль машины.

Минусы позиции: DevOps «ходит и ничего не делает»?

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

Конечно, если кому-то нравится сидеть с 10.00 утра до 10.00 утра, «я люблю свою работу, останусь здесь в субботу» — на здоровье, но я не сторонник трудоголизма и тяжёлых нагрузок. Человеку свойственно ошибаться, а невыспавшийся, уставший — и, как результат, злой человек — вдвойне склонен к ошибкам. В случае какого-нибудь ЧП посреди ночи на проекте человек, отработавший 12-14-часовой рабочий день, с большей долей вероятности не сможет быстро и правильно среагировать на возникшую ситуацию.

Некоторым может показаться, что «девопс» «ходит и ничего не делает»: во-первых, такого не бывает, а во-вторых, если и бывает, значит, у него всё настроено, и он обдумывает пункт №6.

Вообще, про «ходит и ничего не делает» — давний парадокс, характерный для многих работ, которые предполагают хорошее исполнение: если вы построили дом хорошо, то вернётесь к капремонту лет через 20.

Также минусом может считаться неправильно выбранная компания: многие нанимают «девопса», не понимая, что он должен делать. В итоге он работает себе админом, как и работал, и думает «что я здесь делаю, я же вроде как «девопс?». Или нанимают на перспективу: мол, я никогда не копаю, но лопата пусть будет, пригодится в хозяйстве. Нужно чётко осознавать, в какую компанию ты идёшь, чем они занимаются, зачем ты им нужен.

Если промахнуться, можно трудоустроиться неудачно и потерять время.

А как у них: «девопсы» на Западе почти вышли из моды?

Мы продаём услугу «девопса» американцам, которые вроде как должны быть на 7 лет впереди.


Бытует странное мнение, что DevOps-инженеры на Западе уже почти «вышли из моды». Однако, если это так, то как объяснить интерес американских компаний к нашим «девопсам» и регулярные предложения европейских коллег?

Активный поиск «девопсов», в частности, «хантинг» белорусов позволяет мне утверждать, что у нас уже есть хорошие специалисты за небольшие, по меркам Америки или Европы, деньги. Белорусы трудолюбивы, соотношение цены и качества я считаю оптимальным.

Если вы решили переезжать в Европу, а у вас нет за плечами 2-5 лет продуктивного DevOps-стажа, не стоит забывать, что придётся подниматься с низов. Выхлоп может быть по итогу меньше, если с калькулятором посчитать налоги, которые нужно уплатить, стоимость аренды жилья не «на отшибе», да и просто стоимость жизни. Если вы готовы терпеть 2-3 года «айтишной» нищеты и упорно работать, то наверняка пойдёте вверх.

На текущий момент я не вижу большого смысла уезжать в Европу — вполне вероятно, на меньшие деньги — и доказывать в течение пары лет, что ты достоин быть те же, кем был до этого в Беларуси.

Резюме: DevOps — ответственность всей команды

DevOps — ответственность всей команды: это взаимодействие всех узлов, и если кто-то сопротивляется, особенно программисты, нужный эффект получить не удастся.

Все отвечают за успешность преобразования их предыдущей модели в более эффективную модель, в конечном итоге, приносящую большую прибыль и защищающую от её потери. Но персональная ответственность «девопса» при этом, конечно, выше.

Почему DevOps-инженеры стали самыми востребованными специалистами ИТ-рынка

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

Статьи

Как появился DevOps

Резкое увеличение использования мобильных устройств привело к появлению новых требований к программному обеспечению. По мнению аналитиков NetApp, цифровизацию определяет скорость изменений: в течение следующих четырех лет число приложений и услуг будет расти в четыре раза быстрее, чем в последние 40 лет. Компании должны готовиться к быстрому выводу продуктов на рынок и оперативному решению возникающих проблем для огромного числа пользователей. В мае 2020 г. эксперты Consumer Reports раскритиковали Tesla Model 3 за слишком длительное торможение. Проблема была решена всего через девять дней с помощью обновления программного обеспечения, поставляемого через интернет.

Этот пример – скорее исключение для нашего периода развития технологий и отношения к ним. В большинстве организаций разработка и эксплуатация часто изолированы друг от друга. В опросе, проведенном NetApp во втором квартале 2020 г. среди 1000 ИТ-специалистов, 78,2% респондентов ответили «да» на вопрос о том, управляют ли отдельные команды в их организации инфраструктурой с одной стороны, и операциями и разработкой приложений – с другой.

Цель DevOps – связать два этих процесса в один. Набор практик и методологий усовершенствован особым специалистом – DevOps-инженером.

Чем занимаются DevOps-инженеры

Профессия DevOps-инженера становится все более востребованной, а навыки, которыми обладает такой специалист – ключевыми. Особенно это важно в период тотальной цифровизации, ведь основное направление работы DevOps-инженера – внедрение методологии DevOps. В мире программирования – это мультиинструменталист, который одновременно и разработчик, и тестировщик, и менеджер проекта, и даже администратор системы. Под управлением DevOps-инженера пишется первая строчка кода, а потом он же руководит запуском готового приложения. Ценность таких специалистов остается постоянно высокой, потому что DevOps никогда не был и не будет готовой «коробочной» методологией. Она постоянно видоизменяется, как и сама цифровизация, и поэтому роль свободных художников в достижении главных задач бизнеса в последние годы только возрастает.

Каким компаниям нужны DevOps-инженеры

Наиболее востребованы такие специалисты в компаниях – гигантах рынка, иногда их можно встретить и в среднем бизнесе, но реже. Это объясняется тем, что DevOps в принципе нужен только там, где разрабатывается много приложений и ведется управление большим количеством серверов. Соответственно, и зарплата у DevOps-инженеров – достаточно высокая, чтобы ее потянуло небольшое предприятие или стартап.

Сколько получают DevOps-инженеры

DevOps-специалисты считаются самыми высокооплачиваемыми людьми в отрасли. В отчете Puppet за 2020 г. указывается, что среднемировой уровень заработка DevOps-инженера колеблется на уровне $100-125 тыс. В российских регионах сама цифра такая же, но валюта другая – рубли. В Москве работодатели предлагают 180-200 тыс. рублей.

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

Как внедрить DevOps

Ключевым элементом стратегии является подход, заключающийся в постоянной непрерывной интеграции и доставке программных систем (Continuous Integration and Continuous Delivery, CI/CD). Процесс развертывания и интеграции различных программных продуктов должен быть непрерывным. Тогда разработчики смогут объединять в неком едином репозитории и рабочие задания, и конкретные продукты. Именно совместная работа ускоряет внедрение ПО и поиск ошибок, а любые возникающие проблемы решаются крайне оперативно. Если автоматизировать эти процессы, то ключевые сотрудники получат еще большую свободу, что позволит им направить высвободившееся время и силы на те элементы разработки и тестирования, которые сопряжены с большей ответственностью, вниманием и рисками.

Признавая, что основой успешного внедрения DevOps является архитектура, эксперты рекомендуют вставать на облачный путь развития. По словам Николь Форсгрен (Nicole Forsgren), CEO компании DevOps Research and Assessment (DORA), облачные DevOps-команды в 23 раза чаще становятся лидерами. Наиболее эффективные из них имеют в 46 раз более частые развертывания кода и более чем в 2500 раз быстрее проходят путь от принятия решения до развертывания продукта. Эта скорость позволяет организациям быть гибкими, удовлетворять клиентов и не отставать от соблюдения нормативных требований.

Можно ли стать DevOps-инженером

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

Выход – работа в компании, которая заинтересована в развитии своих сотрудников и создании у них широкого набора компетенций.

Вакансия: DevOps инженер

Мы Компания «Техносерв» – крупнейший российский системный интегратор, работающий в России, странах СНГ и Европе, основан в 1992 году. Мы входим в пятерку крупнейших российских ИТ-компаний. «Техносерв» является лидером в области комплексных проектов построения инфраструктуры ЦОД, создания ИТ-инфраструктуры и поставки решений для госсектора (CNews Analytics). Мы активно развиваем нашу облачную платформу (https://ts-cloud.ru/) и запускаем несколько новых проектов развития облачных сервисов и платформ:

  • Openstack, Ceph и сервисы на их базе (IaaS и сопутствующие),
  • Kubernetes и платформа/сервисы для разработчиков (CI/CD pipeline и пр.),
  • платформа для Data Scientists / Big Data,
  • прочие PaaS и SaaS сервисы (вендорские/партнерские, например: S3, Диск, видеоаналитика и т.д.) а также инфраструктурные сервисы.

В этих проектах нам нужны коллеги, которые не только смогут реализовать их технически, но и привнесут преимущества и фичи, основанные на предыдущем опыте использования и создания подобных интегрированных автоматизированных платформ.

Ищем себе DevOps инженера:

Обязанности:

  • Документирование системы (как самостоятельно, так и в качестве постановщика задач для внешних исполнителей).
  • Разработка архитектуры IT-инфраструктуры уровня крупной компании, телеком/сервис-провайдера.
  • Разработка и развитие продуктов на всех этапах жизненного цикла — от концепции и эскиза до внедрения и запуска на рынок.
  • Разработка концепций, технических требований, технических заданий и технических проектов.
  • Участие в разработке и реализации плана технического развития.

Требования:

  • Понимание принципов DevOps, цикла разработки, внедрения и сопровождения ПО (разработка, интеграция, тестирование, развертывание, мониторинг).
  • Опыт работы с инструментами CI/CD.
  • Опыт работы с системой контроля версий Git и платформой Gitlab.
  • Опыт работы с контейнерами: Docker и др., а также Kubernetes, nomad, etcd, и др.
  • Опыт разработки механизмов централизованного управления конфигурациями и автоматизации развертывания (Ansible, Salt, Puppet, Chef).
  • Опыт администрирования Linux (СentОS, Debian, Ubuntu), в т.ч. HA на базе Corosync, Pacemaker, keepalived.
  • Опыт работы с виртуализацией на гипервизоре KVM.
  • Знание принципов программирования (awk, shell, php, bash скриптов, etc.) на уровне редактирования скриптов.
  • Знание языков запросов СУБД MongoDB, SQL, синтаксиса Yaml, Jinja2, JSON, регулярных выражений.
  • Знание ландшафта OpenStack, его компонентов, а так же их сильных/слабых сторон.
  • Знание, опыт работы с программными хранилищами (CEPH, Lustre, Gluster, etc).


Приветствуется:

  • Опыт программирования на скриптовых языках Bash, Python, Go.
  • Опыт развёртывания и интеграции SDN.
  • Понимание и опыт применения принципов Lean Startup.
  • Понимание принципов работы служб эксплуатации.
  • Английский язык, желательно разговорный.

Условия:

  • Оформление согласно ТК РФ.
  • Полностью «белая» заработная плата.
  • ДМС.
  • Оплата корпоративной мобильной связи.
  • Внутреннее и внешнее обучение (сертификаты).
  • Льготные программы от компаний – партнеров (банки, страхование, фитнес, КОМУС, ОКЕЙ, сеть книжных магазинов и др.).
  • Удобный, современный офис в шаговой доступности от МЦК Нижегородская.
  • График: 5/2, 9-18 или 10–19.

Контакты для соискателей:

Владимир Журин, ведущий менеджер по персоналу Отдела кадрового консалтинга
E-mail: VZhurin@technoserv.com, Тел.: +7 495 790-79-79 (доб.3048)

Для повышения профессиональной квалификации в данной области рекомендуем пройти обучение по следующим курсам

Заказ добавлен в Корзину.

Для завершения оформления, пожалуйста, перейдите в Корзину!

Как перейти из системного администрирования в DevOps

Содержание:

DevOps-инженеров не выпускают вузы и не готовят с нуля специализированные курсы – на новую для IT позицию большинство специалистов приходят из системного администрирования. Такой карьерный маневр позволяет сисадмину повысить профессиональную квалификацию, не переходя в разработку. Если вас заинтересовала эта возможность, то статья поможет вам сформировать представление о концепции DevOps и работе DevOps-инженера .

DevOps как концепция

Как DevOps меняет разработку ПО

Когда-то Agile существенно изменил процесс разработки в IT, а сегодня на индустрию так же сильно влияет DevOps. Первыми применять новую концепцию начали крупные корпорации, вроде Amazon и Facebook, которые стремились внедрять новые сервисы в свои продукты как можно быстрее. Сегодня DevOps практикуют компании по всему миру, что помогает им адаптироваться к современным IT-тенденциям: усложнению IT-инфраструктуры, переходу от физических платформ к виртуализации, необходимости частых обновлений приложений в ответ на запросы пользователей.

Несмотря на популярность DevOps, все еще не существует единой трактовки самого понятия. Чаще всего DevOps описывают как современную IT-методологию, когда фазы разработки и эксплуатации объединяются в один процесс для ускорения доставки ПО.

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

Чтобы ускорить процесс разработки и повысить качество релизов, компания решила следовать концепции DevOps. Вместо четкого разделения обязанностей, когда разработчики, тестировщики и системные администраторы отвечали только за свои этапы работы, не всегда представляя обязанности коллег, все отделы стали одновременно участвовать в релизах. Процесс работы автоматизировали: от сборки и тестирования до развертывания ПО. В результате DevOps-трансформации команда может выпускать обновления на рабочем сервере за считанные дни.

Практики DevOps

Новая концепция – это не ребрендинг широко известного подхода Agile. Гибкие методологии ускоряют процесс разработки продукта, а DevOps позволяет быстрее запускать новые релизы в рабочем окружении. Таким образом, DevOps дополняет Agile, позволяя ускорить процесс создания и обновления программного продукта, обеспечивая при этом его высокое качество. DevOps обозначает не только культуру взаимоотношений между командами разработки, тестирования и эксплуатации, но и конкретные технологические практики.

Непрерывная интеграция (Continuous Integration) – процесс, при котором разработчики ежедневно синхронизируют новую часть кода с основной веткой в системе контроля версий. Как правило, после сборки проекта запускаются автоматизированные тесты. Если будет обнаружена ошибка, то разработчик сразу получит оповещение и сможет приступить к исправлению дефекта.

Непрерывная доставка (Continuous Delivery) – практика, при которой проект после сборки попадает в тестовую среду, где проходит финальное тестирование перед установкой на серверах заказчика. В результате команда получает готовый к развертыванию релиз.

Непрерывное развертывание (Continuous Deployment) – процесс работы с релизом идет так же, как при непрерывной доставке. Но в данном случае изменения в исходном коде, как только проходят через этап QA, автоматически (без участия разработчиков) развертываются на рабочих серверах. В результате заказчик и пользователи получают обновления программы сразу после того, как они будут подготовлены.

DevOps как профессия

Когда менеджмент решает перейти к DevOps, команде IT-проекта нужно освоить конкретные практики и новые инструменты. В таком случае придется нагружать дополнительными задачами либо программистов, либо системных администраторов. Лучше нанять профессионала, который уже понимает суть DevOps и может помочь настроить все необходимые процессы. Так IT-сектору понадобился специалист с новым сочетанием навыков на стыке системного администрирования и программирования – DevOps-инженер. В Беларуси, по данным портала dev.by, DevOps-инженеры зарабатывают в среднем в два раза больше, чем системные администраторы. Такая разница обусловлена тем, что компетентный DevOps-инженер может повысить эффективность всего процесса разработки и зона его ответственности шире, чем у системного администратора.


В начале проекта DevOps-инженер может проектировать необходимую IT-инфраструктуру. Затем он контролирует, чтобы среда разработки и тестирования соответствовали условиям, в которых будет работать готовый программный продукт. Но в основном DevOps-инженер работает над проектом на этапе эксплуатации.

Если спросить DevOps-инженера, чем он занимается, то, скорее всего, он ответит «автоматизацией». Под таким определением скрывается целый спектр задач, которые можно условно разделить на три блока:

  • Автоматизация процессов доставки релизов из производственной среды в эксплуатацию.
  • Управление физическими и виртуальными серверами и их конфигурацией.
  • Мониторинг состояния инфраструктуры и поведения приложений.

Одна из основных задач DevOps-инженера – настроить платформы и инструменты для непрерывной интеграции, доставки или развертывания кода. Для автоматической сборки проекта и развертывания на серверах могут использоваться программы Jenkins, TeamCity, GoCD или Bamboo. DevOps-инженер пишет скрипт с последовательностью команд, которые один из этих инструментов автоматически выполняет на серверах.

Раньше системные администраторы настраивали каждый сервер вручную. Сегодня DevOps-инженер следует подходу «инфраструктура как код» (IaC), когда все скрипты для настройки серверов, как и код разработчиков, сохраняются в системе контроля версий. Удаленно координировать работу всех физических или виртуальных серверов можно через системы Chef, Puppet, Ansible или Kubernetes.

Для мониторинга состояния инфраструктуры DevOps-инженер может использовать системы Zabbix, Nagios или Prometheus. Например, Zabbix позволяет контролировать работу серверов, сетевого оборудования, баз данных и веб-приложений.

Что нужно знать системному администратору, чтобы стать DevOps-инженером

Опыт системного администратора – хорошая отправная точка для карьеры DevOps-инженера. Осталось дополнить этот бэкграунд специфическими для DevOps навыками.

Опыт администрирования ОС

Чтобы практиковаться в работе с операционной системой Linux, можно установить дистрибутивы Fedora или Ubuntu на своем компьютере. Если хотите в целом подтянуть свои знания в администрировании, то можно записаться на курсы. Например, в Минске в образовательном центре ПВТ программа по Linux длится месяц, а на образовательном портале Microsoft есть бесплатный курс по администрированию Windows Server.

Знание программирования

DevOps-инженеру нужно знать скриптовые языки программирования (Bash, Perl), на которых пишутся сценарии для настройки автоматизации. Чтобы повысить квалификацию, можно выучить один из языков общего назначения, например, Java или Python. Это поможет лучше понимать код разработчиков.

Понимание работы с облачными сервисами

Сегодня наиболее востребованы облачные платформы от Amazon и Microsoft. Основные сервисы AWS, с которыми работает DevOps-инженер, – EC2, VPC, S3, RDS, ELB, EBS. Дополнительно можно изучить ECS, CloudFormation, OpsWorks, CloudWatch. Если вы еще не работали с AWS, то можете зарегистрироваться на официальном сайте – и получите годовой бесплатный доступ ко многим продуктам компании. Узнать больше об инструментах платформы поможет специализированный портал. Microsoft в конце 2020 года расширила список сервисов для платформы Azure DevOps. Для знакомства с ними можно выбрать бесплатные курсы на образовательном портале Microsoft.

Навыки работы с контейнерами

Контейнеры – это изолированные структуры, в которых можно развертывать приложения независимо от основной операционной системы. По сравнению с виртуальными машинами, контейнеры меньше весят и быстрее запускаются. Самый популярный инструмент для работы с контейнерами – Docker. И разработчик, и DevOps-инженер могут одновременно работать в Docker-контейнере. Пока разработчик пишет код самого приложения, DevOps-специалист создает конфигурационные файлы. Для запуска и управления контейнерами используются системы оркестрации, самая популярная из которых – Kubernetes. Разобраться в основах программы можно с помощью онлайн-курса от Linux Foundation.

Знание английского языка

В IT знание английского языка уже давно стало аксиомой. Но для DevOps-инженера это особенно актуально, ведь этот подход востребован в основном на проектах для зарубежных заказчиков, преимущественно из США. Английский пригодится и для самообразования, чтобы вы могли изучать новые технологии, не дожидаясь пока появится соответствующий курс на русском языке. Если в будущем захотите получить профессиональный сертификат (например, AWS Certified DevOps Engineer), экзамен, скорее всего, тоже нужно будет сдавать на английском.

Когда приступать к поиску работы DevOps-инженером

Обязанности DevOps-инженера на проекте сильно зависят от организации, в которой он работает. Многие белорусские компании только начинают вводить в штат эту должность, поэтому не требуют от кандидатов наличия соответствующего опыта. Начинайте искать работу, пока специальность все еще считается новой для нашего рынка.

Просматривая вакансии, обращайте внимание на другие названия, за которыми может скрываться эта роль: системный инженер, релиз-менеджер, инженер по автоматизации, D evOps-специалист. Чтобы лучше понять ожидания работодателей, сходите на несколько собеседований. После технического интервью обязательно просите фидбэк: каких знаний вам не хватает и какие еще технологии нужно освоить.

Мы уже упоминали некоторые технологии, которые применяются для DevOps-практик. Ниже представлен более полный список инструментов, встречающихся в вакансиях на позицию DevOps-инженера:

  • Система контроля версий (GitHub, SVN и др.).
  • Программа для непрерывной интеграции (Jenkins, TeamCity, Bamboo и др.).
  • Платформа для автоматизации развертывания ПО (например, Chef, Puppet, GoCD, Ansible).
  • Инструмент для мониторинга (Zabbix, Nagios, Prometheus и др.).
  • Облачная инфраструктура (например, AWS, Microsoft Azure).
  • Инструменты для работы с контейнерами (например, Docker, Kubernetes, Helm).

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

Карьерные перспективы в DevOps

DevOps как концепция будет и дальше развиваться, вбирая в себя современные практики разработки и эксплуатации. И ваша карьера в этом направлении может развиваться также динамично. DevOps-инженер хорошо понимает все процессы работы над проектом, поэтому в перспективе может перейти в менеджмент. Например, в США встречаются вакансии DevOps-менеджера, а вскоре такая позиция может появиться и на нашем рынке.

Актуальные IT-направления 2020 года

Содержание:

К 2022 году, по прогнозам Всемирного экономического форума, могут исчезнуть более 75 миллионов рабочих мест. Через 3 года сложнее будет найти работу банковским специалистам, бухгалтерам и другим офисным сотрудникам, обязанности которых можно автоматизировать. В это же время компаниям потребуется больше кадров, чьи компетенции связаны с новыми технологиями. Адаптироваться к меняющемуcя рынку труда нужно уже сегодня, особенно тем, кто только выбирает будущую профессию.

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

Для тех, кто хотел бы работать с информационными технологиями, мы подготовили список самых перспективных направлений в IT на ближайшие годы.

Специальности для тех, кто хочет программировать

Интернет вещей (Internet of Things)

Около 20 лет назад впервые появилась концепция интернета вещей ( IoT ), которая предполагала, что все объекты аналогового и цифрового миров могут быть связаны друг с другом через интернет. Сегодня к IoT относятся системы «умных» домов и городов, одежда, считывающая биоритмы, беспилотные автомобили и многие другие инновации. К 2020 году во всем мире количество IoT-девайсов превысит 30 миллиардов, а в 2025 цифра возрастет до 75 миллиардов. Чтобы оправдать эти амбициозные прогнозы, IT -индустрии потребуется намного больше программистов, способных создавать IoT -решения .

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

Программисты могут разрабатывать софт для облачного сервиса или приложения, через которые пользователи будут управлять IoT -системой. Для этого разработчики используют те же языки и инструменты, что и для мобильной или веб-разработки. Например, для создания серверной части (где выполняются все необходимые вычисления) программисты используют языки Java , PHP , Python и .NET (C#) .

IoT разработчикам нужен комплекс знаний на пересечении различных сфер – важно разбираться не только в софте, но и в электронике. Хорошей базой для будущей карьеры в разработке IoT будут способности к математике и физике.

Где учиться


Пока в белорусских вузах нет отдельных программ, посвященных разработке IoT-решений. Тем не менее, необходимые технические знания можно получить в БГУ на механико-математическом факультете , в БГУИР – на факультете компьютерных систем и сетей и в БНТУ – на факультете информационных технологий и робототехники.

Большие данные (Big Data)

К 2020 году, по расчётам консалтинговой компании IDC , объем всех цифровых данных в мире вырастет до 44 триллионов гигабайт. Вся эта информация была бы просто хаосом разрозненных данных, если бы мы не научились их хранить и обрабатывать. Этим занимаются специалисты по big data . Сейчас спрос на кадры в этой сфере интенсивно растет в США, но эта тенденция актуальна и для Беларуси.

Технологии b ig data позволяют хранить, обрабатывать и анализировать постоянно увеличивающийся объем данных. В этом направлении есть целый ряд популярных профессий: аналитик данных, архитектор данных, инженер данных, менеджер баз данных. А самая высокооплачиваемая специальность – data scientist, или исследователь данных. Его задача – найти в потоке информации скрытые закономерности. Для этого исследователь готовит набор данных, на основе которого обучает алгоритм машинного обучения или нейронную сеть. Обученный алгоритм в дальнейшем может самостоятельно решать различные задачи: в торговле – моделировать спрос на товары, в медицине – прогнозировать реакцию пациента на определенное лекарство.

Исследователь данных – это ученый, математик и программист в одном лице. Для работы нужно отлично знать математический анализ, методы статистики. Основной язык программирования в этой сфере – Python , в котором есть различные библиотеки для обработки данных и машинного обучения.

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

Где учиться

Чтобы реализоваться как data scientist, лучше всего получить высшее образование по математической специальности. Программирование и основы машинного обучения можно параллельно изучать самостоятельно или на курсах. В Минске студенты и выпускники математических специальностей могут поступить в филиал Школы анализа данных (ШАД), где можно бесплатно пройти программу для data scientist. Курсы читают сотрудники факультета прикладной математики и информатики БГУ и минского офиса Яндекса.

Информационная безопасность

Сегодня все больше громких преступлений связано с кибератаками. Один из последних случаев – кража персональных данных (включая сведения о паспортах и кредитных картах) 500 миллионов гостей сети отелей Marriot. Оказалось, что внутренняя информация компании была доступна хакерам еще с 2014 года. А в США завершилось расследование по делу кредитного бюро Equifax – в 2020 году мошенники похитили данные 148 миллионов клиентов компании. Последствия хакерских взломов становятся масштабнее, поэтому растет спрос на профессионалов, которые обеспечивают информационную безопасность. Даже сейчас таких специалистов не хватает, а к 2022 году дефицит кадров в мире может увеличиться до 1,8 миллиона человек.

Сегодня практически любая организация нуждается в защите информации. Даже без хакерских атак есть много рисков потерять важные данные, например, из-за обычной человеческой ошибки. Основная задача специалиста в сфере информационной безопасности – предупредить возможные проблемы, а не справляться с их последствиями. Для этого они анализируют риски и угрозы безопасности, а также создают и управляют системами защиты от вирусных атак и взломов.

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

Еще одно направление, в котором может работать специалист по информационной безопасности , – пентестинг (от англ. penetration testing – тестирование на проникновение). Пентестеров называют этичными или «белыми» хакерами. Они инсценируют действия киберпреступников, проникают в систему, чтобы выявить слабые места в информационной защите. Пентестер не только находит все бреши, через которые можно получить несанкционированный доступ к данным, но и дает рекомендации, как их можно устранить.

Где учиться

Чтобы работать в сфере информационной безопасности, нужно получить высшее техническое образование. Специальности, напрямую связанные с защитой информации, есть в БГУ – «компьютерная безопасность», а также в БГУИР – « защита информации в телекоммуникациях» и «техническое обеспечение безопасности».

Автоматизированное тестирование

Два года назад Nissan отозвал более 3 миллионов автомобилей из-за программной ошибки в работе сенсоров, которые активировали подушки безопасности. Прежде чем машины вернули на доработку, из-за сбоя в системе пострадали три человека. Сегодня неполадки в софте могут привести к самым неожиданным последствиям. Важно убедиться в качестве программы до того, как она попадет к пользователям, поэтому компании стараются проводить тщательное тестирование. Однако разработка программных продуктов ускоряется, новые функции добавляются быстрее, и на тестирование остается меньше времени. В таких условиях ручное тестирование становится менее эффективным, поэтому чаще используют автоматизацию. В Беларуси QA-специалисты со знанием автоматизации ( QA automation engineer, или тест-инженеры) в среднем зарабатывают в два раза больше, чем обычные тестировщики.

Автоматизация объединила тестирование и программирование. Тест-инженеры не выполняют тесты вручную, а пишут скрипты, которые запускают необходимую проверку и сопоставляют полученный результат с ожидаемым. Также специалисты могут проектировать фреймворки для автоматизации, которые ускоряют написание тестов. Для работы тестировщики должны знать один из языков программирования (например, Python или Java) и инструменты для автоматизированного тестирования (Selenium, Appium, JMeter и др.).

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

Где учиться

Чтобы заниматься автоматизированным тестированием необязательно получать техническое образование – можно пойти на курсы. Но если вы только собираетесь поступать в вуз и хотели бы в дальнейшем работать тест-инженером, то лучше выбрать специальность, связанную с программированием. Один из таких вариантов – изучать программное обеспечение информационных технологий в БГУИР.

DevOps

В 2020 году в топе лучших технических специальностей США оказался DevOps-инженер. Впервые о DevOps заговорили около 10 лет назад как о новой концепции в индустрии разработки программного обеспечения. Его суть – тесное взаимодействие разработчиков и других технических специалистов в команде, чтобы они могли быстрее и качественнее проводить релизы программного обеспечения. В американском IT это настоящий тренд, которому следуют Netflix, Amazon, Facebook. Сейчас все больше вакансий DevOps-специалистов появляется и в белорусских компаниях.

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

За реализацию этого принципа на практике отвечает DevOps-инженер. Основные обязанности специалиста связаны с развертыванием программного продукта на рабочих компьютерах, поэтому особенно хорошо специалист должен разбираться в операционных системах и облачных сервисах. Чтобы автоматически управлять конфигурацией операционных систем и программ, установленных на нескольких машинах, используются специальные инструменты, например, Chef, Puppet, Ansible, Kubernetes, GoCD.

Где учиться

Начать карьеру в DevOps без опыта в IT сложно – нужно хорошо понимать весь цикл разработки программного обеспечения, включая последующую техническую поддержку. В DevOps чаще всего переходят специалисты из системного администрирования. Получить подходящее образование можно в БГУИР, выбрав специальность « вычислительные машины, системы и сети», где готовят IT -инженеров со знанием и программного обеспечения, и сетевых технологий.

Специальности, где не нужно программировать

Бизнес-анализ

Большинство белорусских IT-компаний ориентированы на зарубежных заказчиков. Среди клиентов – разные сферы бизнеса, от промышленности до ритейла. Заказчики не обязаны разбираться в технологиях, а разработчики – в бизнесе. Как им оперативно понять друг друга? Посредником между заказчиком и технической командой становится бизнес-аналитик.

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

В бизнес-анализе есть свои методы работы, один из которых – графическое моделирование бизнес-процессов. Это поэтапное описание деятельности сотрудников организации, которое требуется для выполнения рабочих задач. Например, аналитик должен понимать, как отдел продаж взаимодействует с клиентами, чтобы помочь бизнесу автоматизировать этот процесс. Для моделирование применяют специальные условные системы обозначений, например , BPMN и UML.

Сложность работы бизнес-аналитика в том, что он должен учитывать интересы и заказчика, и технической команды. С клиентом нужно говорить на языке бизнеса, а с руководителем команды разработки – переходить на IT -терминологию. Чтобы интерпретировать бизнес-требования в технические, нужно понимать, как происходит процесс разработки. Но ключевой набор компетенций бизнес-аналитика – это понимание бизнес-процессов, быстрое изучение новых сфер и искусство вести коммуникацию с разными людьми.

Где учиться

Для работы бизнес-аналитиком в IT -компании не имеет значения, по какой специальности вы получили высшее образование. Часто в это направление переходят специалисты, у которых уже есть опыт работы в другой сфере (банковский сектор, ритейл и т.д.). Знание специфики какой-либо предметной области в IT тоже пригодится – будет проще разобраться в бизнесе заказчика. Специфику работы аналитиком в IT помогут освоить на профильных курсах. Например, такая программа есть в образовательном центре ПВТ .

IT-консалтинг

Во многих странах мира компании увеличивают расходы на IT – в 2020 году затраты могут составить около 3,8 триллионов долларов. Информационные технологии применяются в каждой отрасли, но самостоятельно бизнесу сложно ориентироваться в изобилии технологических возможностей – и компании обращаются за IT-консалтингом.

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

Заказчик обращается к консультанту с какой-либо проблемой. Например, владелец интернет-магазина хотел бы повысить эффективность своего бизнеса с помощью технологий, но он не знает, как именно это сделать. Консультант может проанализировать сайт компании, мобильные приложения для покупателей и в целом IT-инфраструктуру клиента. Возможно, специалист посоветует перенести интернет-магазин с одной программной платформы на другую, более эффективную. Кстати, экспертные знания платформенных решений для бизнеса (Salesforce, Magento, SharePoint, ServiceNow и др.) сегодня очень востребованы. IT-консультант всегда должен думать наперед – предугадывать вероятность проблем в бизнесе заказчика. Например, в перспективе у интернет-магазина появится больше клиентов, поэтому нужно предусмотреть возможность масштабирования базы данных.


Сложно ответить, в чем консультант должен разбираться лучше: в бизнес-процесcах или IT. Чтобы специалист был силен в обеих сферах, лучше сразу выбрать определенные технологии и отрасли. Можно специализироваться на IT-решениях для медицины или заниматься CRM-системами. В любом случае консультант всегда должен рассуждать с точки зрения своего клиента и потребностей бизнеса.

Где учиться

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

Управление проектами

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

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

Одна из важных обязанностей менеджера – сформировать команду и согласовать с заказчиком методологию разработки (Waterfall, Аgile и др). Следующий этап в работе – это распределение задач между участниками команды и мониторинг их выполнения. Для этого руководитель проекта может использовать различные программы, например, Jira, Confluence.

Помимо административных функций, менеджер занимается аналитической работой. Например, он оценивает возможные риски для проекта, чтобы вовремя инициировать изменения, если что-то пойдет не по плану.

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

Где учиться

Раньше менеджерами проектов в основном становились опытные разработчики. Сейчас управленческие, коммуникативные навыки для менеджеров проектов стали основными, и компании готовы брать на эту должность перспективных специалистов из других сфер, не связанных с IT. Чтобы стать менеджером проектов, лучше получить образование в сфере управления. Например, специальность «управление информационными ресурсами» есть в БГУ и Академии управления при Президенте Республики Беларусь.

Маркетинг и продажи

IT – самый быстрорастущий сегмент белорусской экономики. Сегодня IT не ассоциируют исключительно с программированием, компаниям нужны специалисты, которые будут продвигать и продавать продукты разработчиков. Маркетологам и менеджерам по продажам не нужно переучиваться, чтобы устроиться на такие же позиции в IT. Специфика работы остается прежней, а дополнительные знания можно получить непосредственно на практике в компании.

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

SEO-специалист занимается продвижением сайта и маркетинговых материалов в поисковых системах. Работу SEO-специалиста обычно описывают как управление репутацией компании в поисковых системах или SERM (Search Engine Reputation Management). На практике это охватывает целый спектр задач, направленных на то, чтобы информация о компании в интернете была актуальной и привлекательной. SEO-специалист разбирается в алгоритмах поисковых систем и умеет пользоваться инструментами веб-аналитики (Google Analytics, Clicky, Piwik).

В отделе маркетинга встречается и специальность аналитик. Его обязанности зависят от компании и ее стратегии развития, но в основном это – анализ рынка и конкурентов. Аналитик собирает и изучает различные данные по теме исследования, и выявляет закономерности, которые могут повлиять на деятельность компании. Большая часть рабочего времени аналитика уходит на поиск и структурирование информации, поэтому важно знать программы (Microsoft Excel), которые помогают с этим справиться.

Дизайнер (или специалист по визуальному маркетингу) создает визуальный контент для продвижения компании. В первую очередь, это работа с сайтом – дополнение статей иллюстрациями, фотографиями, инфографикой. Также специалист готовит графические презентации, например, с описанием услуг компании. В отличие от работы графических дизайнеров, визуальный маркетинг в IT требует больше аналитических способностей, чем художественных. Через визуальные образы специалист должен передать конкретную информацию, как правило, техническую, и его задача – облегчить для аудитории восприятие этого контента. Основные инструменты, которыми пользуются дизайнеры, – Adobe Photoshop, Adobe Illustrator, Microsoft PowerPoint, но могут пригодиться и другие программы для работы с графикой.

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

Где учиться

В отделах маркетинга и продаж в IT-компаниях встречаются люди с разным бэкграундом. Специалистам с высшим образованием, связанным с маркетингом или экономикой, будет легче влиться в работу. Для тех, кто только выбирает вуз, можно обратить внимание на новые специальности, где готовят нетехнических специалистов именно для IT-cферы. Например, в БГУИР есть подобное направление – электронный маркетинг.

Чтобы заниматься визуальным маркетингом, не требуется высшее образование в сфере дизайна, а научиться работать с графическими редакторами можно и на курсах. Будущим менеджерам по продажам в IT, стоит присмотреться к факультетам международных отношений БГУ и международных бизнес-коммуникаций БГЭУ. Основой для успешной карьеры в маркетинге или продажах может быть и лингвистическое образование (английский язык), поэтому можно выбрать для обучения МГЛУ.

С чего начинается карьера

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

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

Сколько DevOps нужно, чтобы всё было хорошо

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

Давайте разбираться, как, куда и зачем внедрять DevOps-практики в своем высокотехнологичном бизнесе/IT подразделении и какие выгоды это принесет.

Что такое DevOps? Я что-то подзабыл

DevOps — это методология, а вернее даже философия разработки веб-приложений, в основе которой лежит ряд принципов:

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

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

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

Документировать всё. Тесты, инфраструктура, конфигурации — всё это обязательно должно быть задокументировано и сохранено в одном месте и доступно всем. Такой подход позволяет избежать ситуации, в которой сакральные знания об алгоритмах и особенностях настроек серверов живут в головах разработчиков или передаются на словах и в чатах. Каждый член команды всегда имеет доступ ко всем знаниям всех членов команды.

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

1. Стартапы и мелкий бизнес (IT-команда в 1-5 человек)

Что полезно сделать?

Автоматизировать и максимально упростить деплой новых версий и багфиксов. Для этого идеально подходит контейнеризация приложений с помощью Docker и развёртывание контейнеров с новыми версиями кода в облаке с помощью Docker Swarm или Kubernetes. Команда сможет сфокусироваться на написании кода, а машины возьмут на себя всю работу по доставке кода конечному пользователю.

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

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


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

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

— А как поведет себя приложение при запуске на тысяче серверов?

— Проверить легко, создаем скриптами 1 000 облачных серверов, раскатываем тестируемый софт и собираем результаты!

— А можно ли поднять новый кластер с нуля для теста серверной части нового мобильного приложения?

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

Кому это делать?

Все эти заботы можно смело поручить вашему админу. Или выделить на это часть времени одного из бэкенд-разработчиков — по долгу службы им и так приходится близко общаться с серверами.

2. Компании в стадии активного роста и средний бизнес (ИТ команда в 5-20 человек)

Что полезно сделать?

Во-первых, убедиться, что вы уже выполняете все рекомендации по DevOps для команд до пяти человек. И только после этого приступать к следующим шагам.

Сделать полностью автоматическую выкатку новых версий сервиса. В идеале новые версии должны выкатываться по нажатию одной кнопки или вообще без нажатий — сразу после внесения правок в стабильную ветку кода. При этом должен происходить полный цикл сборки всех компонентов вашей системы, полный прогон всех возможных тестов и в случае успеха — выкатка нового функционала на сервер с рассылкой уведомлений всем сотрудникам компании. Этот подход еще называется CI/CD (Continuous Integration/Continuous delivery) – непрерывная доставка в автоматическом режиме новых функций от разработчика к пользователям.

Настроить глубокий мониторинг всех аспектов поведения железа, сервисов и вашего продукта. Серверы должны работать стабильно, везде должно хватать памяти, процессоров и дисков. Сервисы должны быть доступны и отвечать в заданное время. Например, время отклика веб-сервера не должно превышать какой-то разумный порог (допустим, для веб-страницы это 0.5 секунды). Само приложение должно подробно отчитываться о всех важных параметрах своей работы и о поведении пользователей в системе. Сюда уже стоит включать параметры вроде количества отправленных писем, запросов в БД, разбивки активности пользователей по минутам и многое другое. Надо как следует разобраться с системами хранения и обработки аналитики — Prometheus, Grafana, которые, опять-таки, можно развернуть в облаке. Метрики активности систем позволяют увидеть реальную картину использования вашей системы пользователями, а это куда информативней и правдивей, чем любые интервью и тесты с фокус-группами.

Автоматизировать и/или упростить восстановление после сбоев. Это касается развёртывания резервных копий, обработки случаев отказа сервера в кластере или падения каналов связи.

Больше бэкапов! Делать версионность резервных копий. Например, хранить полную копию базы данных не только в течение недели, но и всю историю бэкапов за, скажем, последние 2 года. Хранить больше информации — не только базу, но и все пользовательские файлы и полную историю конфигов всех серверов. Все это выглядит избыточно и громоздко, но эти меры окупятся с головой после первого же критического сбоя.

Автоматизировать управление конфигурациями серверов. Хранить конфигурации уже недостаточно — нужно уметь за минуты (а то и секунды) поднять новый сервер и включить его в кластер имеющихся машин. Здесь уже становятся обязательными Salt, Ansible, образы операционных систем и прочие способы автоматизации.

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

Кому это делать?

Лучший вариант — нанять квалифицированного DevOps-инженера, хорошо знакомого со всеми основными инструментами и принципами философии DevOps.

3. Компании с большой нагрузкой и крупный бизнес (ИТ команда в 20+ человек)

Что полезно сделать?

И опять — убедиться, что вы уже выполняете все советы для команд до двадцати человек. А потом приступать к улучшениям.

Автоматически развертывать всю инфраструктуру программными способами. Нужно иметь возможность в одно нажатие создать, например, 20 новых облачных серверов, ввести их в уже сформированный кластер, автоматически сконфигурировать все сервисы и направить на них трафик.

Автоматизировать не только создание серверов, но и все части инфраструктуры. Это включает в себя хранилища данных, сети, балансировщики нагрузки, правила общения серверов по сети, права доступа. Вообще всё. Современные провайдеры облачных мощностей позволяют управлять программными средствами не только серверами, но и вообще всем. Ведь мало иметь возможность создать сервер из скрипта, нужно еще поместить его в правильную сеть, привязать его к правильным хранилищам данных и выдать правильные права доступа. Все это, конечно, не надо делать руками.

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

Мониторить и реагировать на все инциденты в системах безопасности. Например, попытки взломов или странные активности в системе (многочисленные вводы неправильных паролей, странные списания денег со счета, странный заказ на 100 000 холодильников на один адрес или возросшее количество логинов из Центральной Африки ровно в 3 часа ночи).

Делать много тестов. Тесты и еще больше тестов. Нагрузочные тесты. Тесты скорости работы. Смоук-тесты для проверки работоспособности новых версий на боевых серверах. Тесты взаимодействия подсистем.

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

Кому это делать?

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

Начните прямо сейчас

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

Применение DevOps практик упрощается с каждым днем – компании активно создают готовые облачные инструменты и снимают с разработчиков все проблемы по настройке и интеграции этих инструментов в код. Готовые системы аналитики, мониторинга, обнаружения сбоев уже сегодня предоставляются в виде API, в виде образов операционных систем с предустановленными конфигами и даже в виде готовых облачных серверов с уже настроенными кусками инфраструктуры.

Современные технологичные компании, стартапы и команды, игнорирующие DevOps-практики, обречены покинуть рынок — их выдавят конкуренты, которые релизятся быстрее, делают меньше багов и не выключают серверы на техобслуживание.

Кто такой DevOps-инженер, и чем он занимается

Ранее я рассказал о том, что такое методология DevOps и кому она нужна. Сегодня — фокус на DevOps-специалистах: их задачах, зарплатах и навыках.

Методология DevOps — это набор практик, задача которых сократить время разработки программного обеспечения и ускорить выпуск обновлений и патчей к нему. Для этого подхода недостаточно привлечь классических админов и разработчиков. Здесь нужны отдельные специалисты, которые могут и настраивать железо, и адаптировать под него приложения.

Кто такой DevOps-инженер

DevOps-инженер занимается внедрением методологии DevOps. Он синхронизирует все этапы создания программного продукта: от написания кода до тестирования и выпуска приложения. Такой специалист контролирует отделы разработки и администрирования плюс автоматизирует выполнение их задач, внедряя различные программные инструменты.

Фишка DevOps-инженера в том, что он совмещает множество профессий: админа, разработчика, тестировщика и менеджера.


Джо Санчес, DevOps-евангелист из VMware, компании-разработчика программного обеспечения для виртуализации, выделил ряд навыков, которыми обязан обладать DevOps-инженер. Помимо очевидного знания методологии DevOps, этот человек должен иметь опыт администрирования ОС Windows и Linux и опыт работы с инструментами автоматизации вроде Chef, Puppet, Ansible. Еще он должен уметь писать скрипты и код на паре-тройке языков и разбираться в сетевых технологиях.

DevOps-инженер отвечает за любую автоматизацию задач, связанных с настройкой и развертыванием приложений. На его плечи ложится и мониторинг программного обеспечения. Для решения этих задач он применяет различные системы управления конфигурациями, решения виртуализации и облачные инструменты для балансировки ресурсов.

Кто нанимает

DevOps-инженеры могут принести пользу любой организации, чья деятельность связана с разработкой приложений или управлением большим количеством серверов. DevOps-инженеров нанимают ИТ-гиганты вроде Amazon, Adobe и Facebook. Еще они работают на Netflix, Walmart и Etsy.

Не нанимают DevOps-инженеров только стартапы. Их задача — выпустить минимально жизнеспособный продукт, чтобы проверить новую идею. В большинстве случаев стартапы могут обойтись без DevOps.

Сколько платят

DevOps-инженеры зарабатывают больше всех в отрасли. Средний заработок таких специалистов по миру составляет от 100 до 125 тыс. долларов в год.

В США они получают 90 тыс. долларов в год (500 тыс. рублей в месяц). В Канаде им платят 122 тыс. долларов в год (670 тыс. рублей в месяц), а в UK — 67,5 тыс. фунтов стерлингов в год (490 тыс. рублей в месяц).

Что касается России, то московские компании готовы платить DevOps-специалистам от 100 до 200 тыс. рублей в месяц. В Санкт-Петербурге работодатели чуть щедрее — предлагают 160–360 тыс. рублей в месяц. В регионах указывают зарплату 100–120 тыс. рублей в месяц.

Как стать специалистом по DevOps

DevOps — это относительно новое направление в IT, поэтому устоявшегося перечня требований к DevOps-инженерам нет. В вакансиях среди требований на эту должность можно встретить как навыки администрирования Debian и CentOS, так и умение работать с дисковыми RAID-массивами.

На основании этого можно сделать вывод, что прежде всего DevOps-инженер должен иметь хороший технический кругозор . Такому человеку важно постоянно изучать новые инструменты и технологии.

Проще всего стать DevOps-инженером будет сисадмину или разработчику. У них уже есть ряд навыков, которые нужно просто развить. Главная задача — подтянуть минимальный набор знаний по DevOps, понять, как работать с инструментами автоматизации и заполнить пробелы в навыках администрирования, программирования и виртуализации.

Чтобы понять, где знаний пока не хватает, можно воспользоваться мини-википедией на GitHub или ментальной картой. Резиденты Hacker News также рекомендуют почитать книги «Проект «Феникс», «Руководство по DevOps» от авторов методологии и «Философия DevOps. Искусство управления IT» под грифом O’Reilly Media. В списке рекомендаций есть и другая литература, заточенная под развитие отдельных навыков, например «Современное администрирование Linux» от того же издательства O’Reilly.

Еще можно подписаться на рассылку Devops Weekly, почитать статьи тематического портала DZone и начать общаться с DevOps-инженерами в Slack-чате. Еще стоит изучить бесплатные курсы на Udacity или edX.

Что еще почитать в выходные:

Материал опубликован пользователем.
Нажмите кнопку «Написать», чтобы поделиться мнением или рассказать о своём проекте.

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

Когда разрабы поняли что они разрабы, стало грустно им. Они стали писать software engineer.

И это тоже, собственно появление «архитекторов» тоже из этой серии.

девопс это сисадмин который освоил немного кодинга.

Там немножко другой скилл. там понимание вообще сути разработки и оптимизация инфраструктуры под это. Это не админство чистой воды, не кодинг (его часто вообще нет на языке разработки), но полное понимание происходящего должно быть.

не просто понимание, но и не меньше, чем волшебно взявшееся 1-3 года опыта такой работы. Chef, Puppet, Ansible, Jenkins

DevOps это просто недоучка, который не может полноценно кодить. О каком промежуточном звене между кодером и продактом говорят в каментах выше? По факту девопс занимается тем, что ему кинут старшие товарищи девелоперы, которым самим влом заниматься тупой работой по развертыванию релизов, настройке CI итп.

типичная работа мартышки на нижнем уровне it иерархии.

постройте архитектуру

типичная работа мартышки

Хочу узнать, чем в вашем мире занимаются высшие уровни IT-иерархии.

товарищ тут грубо выразился, но суть такова что девопс обслуживает приложение. кодеры — его создают. qa тоже обслуживает.
т.е. и девопс и qa как бы элементы полезные, но второстепенные.
в qa тоже дофига простого кодинга стало например.

работа девопса это такой tech ради tech. некоторых прет, ну и ок 🙂

Слишком жирно, попробуйте потоньше.
DevOps как минимум обязан уметь в развертывание. Разработчики обычно не умеют в это. Я встречал сеньоров, не имеющих представления, как для продакшна настраивать тот же nginx и как работает reverse proxy.

DеvOps начался намного раньше получения красивого названия в 2009

И когда же, интересно узнать?

Внезапно с момента появления компьютеров.

DevOps — это относительно новое направление в IT

Относительно новое это DevSecOps, а DevOps уже минимум 15 лет существует.

Боюсь, что с 15 годами вы перегнули. Считается, что термин DevOps был впервые использован на конференции O’Reilly в 2009 году (презентация сотрудника Flickr «10+ Deploys per Day: Dev and Ops Cooperation»). Альтернативная версия по вики — конференция devopsdays (тоже 2009 год).

Не думаю, что вакансии именно с такой формулировкой появились раньше, что уж говорить про должностные инструкции и понимание каких-то относительно единых требований к DevOps-инженерам. DevSecOps — это просто специализация, не меняющая сути. Про это есть тред на кворе с диаграммами Венна https://www.quora.com/What-is-the-difference-between-DevOps-and-DevSecOps

Первая версия Puppet вышла в 2005 году

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


Комментарий удален по просьбе пользователя

да не, смотря какие кодеры)
если партия скажет — надо, комсомольцы ответят — есть!

Бред. Девопс это сисадмин для программистов.
Кто такой продакт?

Ну DevOps, по сути, связующее звено в организации работы разработчиков непосредственно и практиков, если я всё правильно понимаю

Бредятина. Стартап возьмёт девопса, а не трёх технарей с выделенными ролями. Девопс, это development operations. Он занимается автоматизацией процесса разработки. Он не менеджер и не тестировщик.

Задача ИдеальногоDevOps (ТМ) — лишить эту позицию смысла. Автоматизировать все и тихо уйти=)

В статье (как и предыдущей, автору респект за качество) в основном рассматривается пример приложений. Тут все сильно зависит от нативности/кроссплатформенности разработки, расскажу про пример связанный с большими данными.

Есть кластер hadoop, отличное решение, к тому же open source. Есть python, под который уже есть терабайты удобных и полезных библиотек. Есть дата аналитик, который может в питон и математику.

Но все данные, необходимые аналитику хранятся на кластере, который питон не принимает. Зато отлично понимает java/scala. Поэтому чтобы создать самую простую модель на имеющихся данных devops будет нужен минимум дважды — выгрузить на локальную машину данные для создания модели и её проверки, а потом выкатить готовую модель на прод.

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

Если есть постоянная необходимость в человеке за $100 000 для автоматизации, нужно найти способ реально автоматизировать процесс, а не через белковую прокладку. В работе с hadoop мы так и сделали, теперь экономим и продаем как коробочное решение.

PS. Переживающим за судьбу наших devops — автоматизировав и упаковав, они преквалифицировались в продакт овнеров

Топ 12 IT профессий будущего

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

Дизайнер машинного обучения (Machine Learning Designer)

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

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

Дизайнер дополненной реальности (AR Designer)

Дополненная реальность очень быстро набирает свою популярность. С помощью AR технологий уже можно посмотреть, как будет выглядеть ваша комната после ремонта, выбрать в неё мебель и не только. Дополненная реальность значительно расширит возможности медицины, логистики, навигации, коммуникации и обучения. Соответственно и те кто должен создавать дополнительные элементы реальности не останутся без работы. В некоторых магазинах уже доступны AR-примерочные, после посещения которых вы сможете заказать доставку одежды. Особенно большой популярность на данный момент AR пользуется в игровом бизнесе, поэтому сфера отлично подойдет для гейм-дизайнеров и UX/UI дизайнеров.

Архитектор бизнес-аналитик (BI Architect)

Архитектор бизнес-аналитики (BI архитектор) — это специалист в бизнес-аналитике высшего уровня, который занимается конкретными аспектами, дисциплиной, которая использует данные определенным образом и строит конкретные структуры в интересах бизнеса или организации. Архитектор бизнес-аналитики, как правило, будет несет ответственность за создание или работу с этими структурами, которые служат конкретной цели максимизации потенциала активов данных. Как правило, BI-архитектор обслуживает работодателя, обеспечивая ясность и эффективность использования данных для принятия решений. BI архитектор часто рассматривает такие проблемы, как хорошая документация, изменения в ИТ-структурах, а также ошибки или сбои в приложениях и программах, пытаясь сохранить и создать хорошие системы для использования данных.

IT-проповедник (IT-preacher)

Должность специфическая, но по сути уже существующая. По прогнозам, как отдельная профессия появится к 2020 году. IT-проповедник это связующее звено между энд-юзером IT-продуктов и теми, кто их хочет продвигать. Его цель — изменить в противоположную сторону мнение тех, кто настроен негативно по отношению к новым технологиям и продуктам. Тоесть, IT-проповедник будет учить пользователей работать с новыми продуктами, программами и показывать их реальную выгоду для клиента. Ярким примером этой профессии уже сейчас являются спикеры на TED, которые доступно объясняют широкой публике исследования или изменения в последних технологиях.

Киберследователь

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

Архитектор интеллектуальных систем управления

Самоуправляемая машина, кадр из фильма «Апгрейд»

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

Инфостилист

Информационный поток ежедневно перегружает наши девайсы: e-mail рассылки, каналы, подписки и ленты новости в соцсетях. Ежедневно нам приходится сталкиваться с контентом, который нам нас не интересует. Именно поэтому Атлас новых профессий прогнозирует к 2020 году появление такой профессии как инфостилист. Должность этого человека заключается в подборе интересной пользователю информации и стиля её подачи. Не исключено, что в дальнейшем эта профессия перерастет в более технический род деятельности и инфостилист будет писать программы алгоритмы которых будут отбирать информацию, которую хочет видеть пользователь.

Проектировщик нейроинтерфейсов

Кадр из сериала «Черное зеркало», эпизод «Белое Рождество»

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

Инженер по надежности сайта (Site reliability engineer)

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

DevOps инженер (Development Operations Engineer)

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

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

Архитектор решений (Solutions Architect)


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

Архитектор облачных решений (Cloud architect)

Облачные архитекторы контролируют стратегию облачных вычислений компании и отвечают за развертывание, управление и поддержку облачных приложений. Облачные архитекторы обычно хорошо разбираются в нескольких операционных системах в дополнение к навыкам работы в сети, программированию и безопасности. Компании должны искать людей с глубокими знаниями облачных сервисов, таких как Amazon Web Services, а также с ITSM, I & O, управлением, автоматизацией и управлением поставщиками.

Многие из этих профессий существуют уже сегодня, другие только зарождаются, но одно можно сказать точно, каждая из них будет иметь свой успех уже через несколько лет. А как вы считаете, оправдают ли себя эти прогнозы? Возможно у вас есть свои предсказания на этот счет? С радостью узнаю об этом из ваших комментариев ��

Какие навыки нужны для DevOps-инженера?

Добрый день! Хочу учиться на DevOps-инженера.

Мне интересно — какие навыки нужно иметь?

Например — нужно ли знать Linux? Я пока знаю на уровне нескольких десятков команд bash, поставила себе в виртуалбокс Ubuntu. Сейчас хочу начать изучать Docker.

На каком уровне нужно знать Linux?
Нужно ли знать базы данных?
Нужно ли знать сети?
(Всегда сети и базы данных были мне непонятны, и на самом деле не очень хочется развиваться в них)

  • Вопрос задан более года назад
  • 4546 просмотров

Это известная ошибка.

Ops — это по русски «эксплуатация».
DevOps — это процесс разработки, когда программист, обеспеченный инструментарием для прямого влияния на выкладку production и ее отладку через голову админов, работает быстрее.

Ну а специалист DevOps — это тот, кто эти средства обеспечивает.
По сути — DevOps это админ с навыками работы со специфическим софтом.

А сисадмин и программист в одном лице — это просто человек занимающийся мелкими проектами — это не DevOps

Должность junior devops как бы звучит странно, ибо девопс инженер это интегратор различных решений, для чего нужен хороший опыт. Имено поэтому, девопс это обычно это или переучившийся админ или переучившийся программист.

Линукс знать обязательно, хотя бы на уровне простого траблшутинга. Скриптовые языки знать обязательно (bash плюс питон/перл). Базы данных минимально знать обязательно. Желательно на уровне установки и работы с бэкапами.

Попробуйте для начала освоить навыки администрирования Линукс/windows.

P.S. А вообще слово девопс в качестве профессии мне не нравится. Devops это название практики, а профессия — configuration engineer..

Для работы девопсом надо отличные знания linux

На самом деле нет.
Это как сисадминовские знания.

Другое дело что в мелких конторах софтом для DevOps занимаются непосредственно разработчики и сисадмины.

Но в общем случае — это не так.

Сисадмин делает базу, на которой уже DevOps-инженер разворачивает то, на базе чего уже и работают разработчики.

Зачем нужен DevOps и кто такие DevOps-инженеры

Когда приложение не работает, меньше всего хочется услышать от коллег фразу «проблема на вашей стороне». В итоге страдают пользователи – а им всё равно, какая часть команды несет ответственность за поломку. Культура DevOps появилась как раз затем, чтобы сплотить разработку и поддержку и объединить их вокруг общей ответственности за конечный продукт.

Какие практики входят в понятие DevOps и зачем они нужны? Чем занимаются DevOps-инженеры и что они должны уметь? На эти и другие вопросы отвечают эксперты из EPAM: Кирилл Сергеев, системный инженер и DevOps-евангелист, и Игорь Бойко, ведущий системный инженер и координатор одной из DevOps-команд компании.

Зачем нужен DevOps?

Раньше между разработчиками и поддержкой (т. н. operations) существовал барьер. Звучит парадоксально, но у них были разные цели и KPI, хотя они и делали общее дело. Целью разработки было как можно быстрее реализовать бизнес-требования и добавить их в работающий продукт. Поддержка отвечала за то, чтобы приложение стабильно работало – а любые изменения ставят стабильность под угрозу. Налицо конфликт интересов – DevOps появился, чтобы его решить.

Что такое DevOps?

Вопрос хороший – и спорный: окончательно в мире об этом пока не договорились. В ЕРАМ считают, что DevOps объединяет в себе технологии, процессы и культуру взаимодействия внутри команды. Это объединение нацелено на непрерывную доставку ценностей конечным пользователям.

Кирилл Сергеев: «Разработчики пишут код, тестировщики его проверяют, а администраторы устанавливают финальный продукт на производственное окружение. Долгое время эти части команды были несколько разрознены, а потом появилась идея объединить их общим процессом. Так появились DevOps-практики».

Настал тот день, когда разработчики и системные инженеры заинтересовались работой друг друга. Барьер между производством и поддержкой стал стираться. Так появился DevOps, в который входят практики, культура и порядок взаимодействия в команде.

В чем состоит суть DevOps-культуры?

В том, что ответственность за конечный результат лежит на каждом из участников команды. Самое интересное и сложное в философии DevOps – понять, что конкретный человек не просто отвечает за свой этап работы, а несет ответственность за то, как будет работать весь продукт. Проблема лежит не на чьей-то стороне – она общая, и каждый член команды помогает ее решить.

Важнейшее положение DevOps-культуры – именно решать проблему, а не просто применять DevOps-практики. Более того, эти практики внедряют не «на чьей-то стороне», а в весь продукт. Проекту нужен не сам по себе DevOps-инженер – ему нужно решение проблемы, а роль DevOps-инженера может быть распределена по нескольким членам команды с разной специализацией.

Какие бывают DevOps-практики?

DevOps-практики покрывают все этапы жизненного цикла ПО.

Игорь Бойко: «Идеальный случай – когда мы начинаем использовать DevOps-практики прямо при инициации проекта. Вместе с архитекторами мы планируем, какой у приложения будет архитектурный ландшафт, где оно будет располагаться и как масштабироваться, выбираем платформу. Сейчас в моде микросервисная архитектура – для нее мы выбираем систему оркестрации: нужно уметь управлять каждым элементом приложения по отдельности и обновлять его независимо от других. Еще одна практика – это “инфраструктура как код”. Так называют подход, при котором инфраструктура проекта создается и управляется при помощи кода, а не через прямое взаимодействие с серверами.

Дальше мы переходим на этап разработки. Здесь одна из крупнейших практик – построение CI/CD: нужно помочь разработчикам интегрировать изменения в продукт быстро, мелкими порциями, чаще и безболезненней. CI/CD покрывает и проверку кода, и заливку мастера в кодовую базу, и разворачивание приложения на тестовых и продуктивных средах.

На этапах CI/CD код проходит через quality gates. С их помощью проверяют, чтобы код, который вышел с рабочей станции разработчика, соответствовал заданным критериям качества. Здесь добавляется юнит- и UI-тестирование. Для быстрого, безболезненного и фокусированного разворачивания продукта можно выбрать подходящий тип деплоймента.

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

Чем полезны DevOps-практики?

Если бы мы писали учебник по современным практикам DevOps, на его первой странице значились бы три пункта: автоматизация, ускорение релиза и быстрая обратная связь от пользователей.

Кирилл Сергеев: «Первое – это автоматизация. Все взаимодействия в команде мы можем автоматизировать: написали код – выкатили – проверили – установили – собрали фидбэк – вернулись в начало. Всё это – автоматически.

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

Третье – это ускорение обратной связи от пользователя. Если у него есть замечания, мы можем сразу же вносить корректировки и тут же обновлять приложение».

Мастер Йода рекомендует:  Алгоритм сортировки слиянием
Добавить комментарий
Дата Режим обучения Место обучения Преподаватель
Курс: Linux. Уровень 1. Основы администрирования систем Debian, CentOS, Gentoo
12.11.2020 —
14.11.2020
ежедневно утро-день
10:00 — 17:10
«Радио»
м.Бауманская, м.Авиамоторная
В группе осталось 1 место. Успейте записаться на свободные места!
Курс: Linux. Уровень 2. Администрирование сервисов и сетей
17.11.2020 —
01.12.2020
воскресенье утро-день
10:00 — 17:10
«Радио»
м.Бауманская, м.Авиамоторная
Группа почти укомплектована. Успейте записаться на свободные места!
Курс: Система управления версиями Git
21.11.2020 —
22.11.2020
ежедневно утро-день
10:00 — 17:10

  • Индивидуальные очные консультации преподавателей
  • Обучение по видеозаписям реальных занятий
  • Самостоятельный выбор темпа обучения
  • Визуальный контакт с преподавателем и одногруппниками
  • Оптимальное соотношение цены и качества
«Таганский»
м.Пролетарская или м.Крестьянская застава
Группа почти укомплектована. Успейте записаться на свободные места!
Курс: DASA: DevOps – базовый уровень
17.02.2020 —
19.02.2020
ежедневно утро-день
10:00 — 17:10
«Белорусско-Савеловский»
м.Белорусская или м.Савеловская