…Тем временем клиентская база становится больше, отдел продаж у вас тоже растет. А где они хранят информацию о заказчиках и о том, как протекают продажи? Ясно, что не в тетрадочке. Для этого существуют системы CRM - туда заносятся данные обо всех клиентах - и существующих, и потенциальных, о ходах переговоров с ними, о том, в какой стадии находится продажа услуг, с кем из клиентов работает какой менеджер, и прочая нужная информация. Вероятно, для начала вы будете использовать crm как готовый продукт, написанный кем-то для вас (с платной поддержкой). Но со временем окажется, что эта crm неудобна для ваших целей и менеджеры очень на нее жалуются. Видимо, нужно написать свою crm под свои цели (или доработать существующую). Так что нужен кто? Еще один программист.



Наконец у вас появляется бюджет, чтобы сделать нормальный сайт. Так что вы нанимаете отдельных разработчиков под фронтэнд и бэкенд, и даже дизайнера. Бизнес процветает, клиенты приходят толпой. Вот их уже больше тысячи человек… и внезапно сайт снова начинает тормозить. Раработчики говорят, что хостер не справляется с нагрузкой - сайту нужен свой сервер. И еще отдельный сервер под базу данных - (база данных - это то место, где хрянятся все данные - и каталог товаров или услуг, и история заказов клиентов, и список клиентов - в общем, всё то, что клиент видит на сайте). Так что вы либо покупаете себе парочку железных серверов и ставите прямо в офисе (увольняете эникейщика и нанимаете админа посмекалистее, чтобы он за ними смотрел), либо арендуете их в облаке (что дороже, но хлопот меньше, и меньше вероятность, что всё сломается, а данные потрутся). А когда вы еще больше вырастете, и поймете, что вам нужно больше серверов, то придёте к тому, что пора арендовать стойку с серверами в дата-центре, а то и «заиметь» собственный дата-центр. И тут уже вам не обойтись без штата хороших админов. А если вы хотит всё по уму, то наймёте ещё и dba (database administrator), чтобы он следил за базами данных.



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



Вот у вас уже крупная компания, с известным именем, и множеством разнообразных продуктов. Каждый день вы выпускаете обновления для сотни приложений. Ясно, что вряд ли эти обновления вручную копируются на сервера вашими программистами, как это было на заре существования фирмы. Выкатка приложений - это уже автоматизированный процесс, всё налажено так, что в момент обновления сайты и всё остальное продолжает работать, а клиенты ничего не замечают. В худшем случае 5% клиентов будут затронуты, а обновление так же автоматически откатится к предыдущей версии. Так вот, обновлением приложений и налаживанием всего этого процесса занимаются Devops-инженеры. Они должны владеть технологиями ci-cd (continuous integration/continuous delivery). Не всегда это отдельные люди, бывает, что этим занимаются те же разработчики, что пишут приложения. Или админы. Потому что вообще-то «Devops - это процесс, а не человек»(с).