{"id":14271,"url":"\/distributions\/14271\/click?bit=1&hash=51917511656265921c5b13ff3eb9d4e048e0aaeb67fc3977400bb43652cdbd32","title":"\u0420\u0435\u0434\u0430\u043a\u0442\u043e\u0440 \u043d\u0430\u0442\u0438\u0432\u043e\u043a \u0438 \u0441\u043f\u0435\u0446\u043f\u0440\u043e\u0435\u043a\u0442\u043e\u0432 \u0432 vc.ru \u2014 \u043d\u0430\u0439\u0434\u0438\u0441\u044c!","buttonText":"","imageUuid":""}

Как маленькие компании вырастают в корпорации

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

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

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

Семену пришлось засучить рукава и погружаться в дремучий легаси-код.

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

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

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

Проходит месяц, Васю все-таки увольняют и нанимают Машу. Маша совсем не злая, она просто немного не шарит. И пока болтает с подружкой в вотсапе, иногда промахивается и удаляет не те записи! Директор снова в бешенстве, вызывает программиста на ковер и спрашивает: «Ах, ты паршивец! Я тебе за что деньги плачу! В прошлом месяце ты все исправил, чтобы нерадивые не могли удалять, почему Маша удалила? Почини немедленно!»

Семен покраснел, помялся, пробубнил что-то про сложность кода и отправился в свою каморку исправлять проблему.

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

Так появилось следующее разделение:

  • Администраторы – могут все.
  • Начальники отделов – могут все, но только с теми записями, которые создали его подчиненные.
  • Работники – могут все, но только со своими записями.
  • Стажеры – могут только добавлять и редактировать записи, чтобы не могли сильно самим себе навредить.

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

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

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

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

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

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

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

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

Все вы играли в «Морской бой» или «Шахматы». Есть ось X и Y. На поле мы располагаем корабли или шахматные фигуры, а чтобы определить местоположение достаточно знать всего два значения X и Y.

В случае нашей большой корпоративной системой, мы представим, что группы сотрудников — располагаются на оси X, а функции, которые доступны каждой группе на Y. Теперь, чтобы делегировать права на выполнение операции группе, нужно просто поставить одну галочку напротив нужной группы и функции.

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

Дела у компании пошли в гору. Отдел маркетинга тоже постарался. Машины поставляли быстро, качество отличное.

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

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

Но это уже история про микросервисы, про которые я расскажу в следующих главах.

0
17 комментариев
Написать комментарий...
Илья Мишин

Программер совсем себя не ценит, как раб на галерах, даже долю в бизнесе не имеет

Ответить
Развернуть ветку
Kondin Dmitriy
Автор

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

Ответить
Развернуть ветку
Илья Мишин

300к пыль, ведь он мог быть в доле соучередителей и получать 3 млн в месяц.

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

Ответить
Развернуть ветку
Алексей Володин

Много вы таких програмистов знаете которым дали долю в более менее большом бизнесе?

Ответить
Развернуть ветку
Илья Мишин

Мало знаю но они есть. Вообще работать за зарплату сейчас моветон или доля в бизнесе или мой полы сам (программируй и тд).

Зато я знаю миллионы которые работали за зарплату и где они сейчас, завод продолжает работать, а им пинком под зад, максимум пенсия 100$ светит и то если доживут, а пенсию детям/внукам не передать, короче шляпа это разводилово.

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин
надеятся что буржуев больше ни разу не раскулачат

Надейся.

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

По 300к получать это и прапраправнукам останется.

Ответить
Развернуть ветку
Илья Мишин
По 300к получать это и прапраправнукам останется.

Более-менее приличная квартира стоит 40-45 млн, так что с ЗП 300к пахать на нее более 10 лет (и то через 10 лет она уже будет стоить 50-60) так что с такой зарплатой вам придется жизнь положить на алтарь квартиры

https://www.cian.ru/kupit-kvartiru-moskva-cao-044/

Ответить
Развернуть ветку
Kondin Dmitriy
Автор

Нихера себе вы граф-дворянин, раз для вас это более-менее )

Ответить
Развернуть ветку
Andrew Simon

Если ему до этого платили 400, то нет.

Ответить
Развернуть ветку
Иосиф Виссарионович Сталин

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

Ответить
Развернуть ветку
Andrew Simon

Ну первый и самый простой ответ, как мне кажется очевиден - он должен уметь зарабатывать деньги ))
Понимаю почему возник вопрос, ведь было использовано слово "получать", а не слово "зарабатывать" ))

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Dmitriy

Не программист много зарабатывает, а инженер мало, а это из-за того, что нищим народом управлять легче. Давайте переведем 300к ₽ это всего 4к $. Улучшение уровня жизни увеличит средний класс, а тот на митинги пойдет и сменяемость власти захочет, а нужно это текущему диктатору вопрос... Поэтому и будет глубинный народ зарабатывать максимум 10-20к ₽, а умные с образованием сваливать из страны.

Ответить
Развернуть ветку
Ричард Ричардович

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

Ответить
Развернуть ветку
Kondin Dmitriy
Автор

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

Ответить
Развернуть ветку
N.Smirnov

Статью - не читал. Хватило заглавной картинки. В полностью "стеклянной" переговорке - отсутствуют жалюзи. При предельно ярком солнце (контрастные тени на столе), изображение на экране - не может быть видно. Фотограф - имеет права быть идиотом, он художник, ему можно. Но тот кто делает такую картинку заглавной (если это не стёб) - обнуляет и себя и материал. Стрелка осциллографа опять падает стремительным домкратом.

Ответить
Развернуть ветку
14 комментариев
Раскрывать всегда