Глава 27: Сладкое слово универсал
Ну что, друзья мои, пришло время моей последней главы и думаю стоит поговорить о самом сокровенном — о команде. Ах, эта загадочная субстанция, без которой ни один проект не взлетит, но с которой порой хочется взлететь самому. Куда-нибудь подальше, желательно на необитаемый остров в Тихом океане, где нет ни Wi-Fi, ни мобильной связи, ни даже намёка на электричество. Туда, где нельзя получить сообщение: «Слушай, тут всё сломалось, почини срочно!»
Помните те славные времена, когда для проекта нужен был один-единственный кодер? Сидел себе такой Василий в углу, обложившись пустыми банками из-под энергетиков, и строчил код на одном языке программирования. Спросишь его: «Вась, как дела с проектом?» А он в ответ что-то бормочет на своем, программистском, и снова утыкается в монитор, а из его наушников доносятся звуки техно-микса с басами такой глубины, что кажется, будто в офисе заработал промышленный вибратор для бетона.
Монитор у такого Васи обычно был обклеен стикерами с какими-то загадочными надписями вроде «SELECT * FROM users WHERE sanity = 1» с припиской «ничего не найдено». Рядом — фигурка Дарта Вейдера и кружка с надписью «Я не волшебник, я только учусь», в которой плавал чайный пакетик возрастом примерно как первая версия Windows.
— Слушай, Олег, — говорю я как-то нашему старому кодеру, — а помнишь, как ты один весь проект тянул?
— Ага, — отвечает он с ностальгической улыбкой, потирая запястья, на которых до сих пор заметны следы от многолетнего прикосновения к клавиатуре. — Золотые были времена. Никто не лез, что и как делать. Сиди себе, пиши код.
— И как, справлялся? — спрашиваю я с искренним интересом, подвигая к нему кружку с свежезаваренным кофе, запах которого мгновенно наполнил нашу переговорную.
— Ну… — он задумчиво почесал затылок, взъерошив и без того стоящие дыбом волосы, будто внутри его головы работал небольшой генератор Ван де Граафа, — справлялся-то справлялся. Только вот заказчики почему-то не всегда были довольны. Говорили, что сайт работает как сапог, и дизайн у него — как у сапога же. А однажды один клиент сказал, что наш интерфейс выглядит так, будто его рисовал слепой дальтоник во время землетрясения. Обидно было, я старался…
Олег отхлебнул кофе и продолжил, глядя куда-то сквозь стену, словно видя там призраков прошлых проектов:
— Знаешь, что самое забавное? Тогда я думал, что знаю всё. HTML, CSS, немного PHP — и ты король мира! А потом появились всякие фреймворки, препроцессоры, сборщики модулей, контейнеры… И внезапно оказалось, что я не знаю вообще ничего.
— И что ты сделал? — спросил я, хотя уже знал ответ.
— То же, что и все мы, — усмехнулся Олег. — Притворился, что всё знаю, загуглил Stack Overflow и как-то выкрутился.
И вот тут-то, друзья мои, мы подходим к главной проблеме современного IT-мира. Теперь нам подавай универсалов! Этаких Леонардо да Винчи от мира программирования, с мозгом как у Стивена Хокинга, пальцами как у пианиста-виртуоза и выносливостью как у марафонца, способного без сна и еды работать сутками напролёт.
— Вась, — говорит мне как-то HR-менеджер Маша, стуча своими идеально наманикюренными ноготками по глянцевой поверхности айпада, — нам нужен человек, который умеет всё.
— В смысле «всё»? — переспрашиваю я, чувствуя, как у меня начинает дергаться глаз и где-то в глубине души просыпается желание убежать в тайгу и стать отшельником.
— Ну, знаешь, — она мечтательно закатывает глаза, поправляя прядь волос, выбившуюся из идеального хвостика, — чтобы и фронтенд делал, и бэкенд, и базы данных знал, и дизайн умел, и кофе варил, и вообще был душой компании. А, и ещё нужно, чтобы он разбирался в SEO, умел настраивать рекламу в социальных сетях, знал хотя бы три JavaScript-фреймворка, умел работать с Docker, AWS, и в идеале был бы ещё и DevOps-инженером. И подружился с бухгалтерией — это очень важно!
— А ходить по воде и превращать воду в вино ему не нужно? — спрашиваю я, стараясь сохранить серьёзное выражение лица.
— О, это было бы отлично! — оживляется Маша, не замечая сарказма. — И ещё чтобы красиво пел на корпоративах. У тебя есть такие кандидаты?
Я смотрю на нее и думаю: «Господи, да проще единорога найти, чем такого специалиста!» Или, как говорил мой дед-столяр: «Ищи дурака, который одним топором и избу срубит, и микроскоп сделает, и зуб вырвет».
Но знаете что? Такие люди действительно существуют! Правда, найти их сложнее, чем иголку в стоге сена. И стоят они, прямо скажем, недешево. Они как редкие покемоны — все о них слышали, но мало кто видел живьём, а если и видел, то не факт, что сумел поймать.
И что интересно — большинство из этих универсалов на самом деле не так уж универсальны. Они скорее как швейцарские ножи: вроде и отвёртка есть, и ножницы, и штопор, но попробуй-ка собрать с их помощью шкаф из ИКЕА или постричь человека. Зато в резюме можно написать: «Умею работать с инструментами».
— Слушай, Вась, — говорит мне как-то наш универсал Димка, сидя на краю моего стола и жонглируя тремя стресс-болами с логотипами разных JavaScript-фреймворков, — а ты в курсе, сколько сейчас на рынке платят за мои навыки?
— Боюсь даже представить, — отвечаю я, чувствуя, как у меня холодеет внутри и бюджет компании начинает тихонько подвывать от ужаса.
— Я тебе скажу, — он наклоняется ко мне и шепчет сумму, от которой у меня едва не отваливается челюсть и начинают слезиться глаза, как будто я только что нарезал килограмм самого едкого лука.
Я вздрагиваю. За эти деньги можно купить небольшой остров где-нибудь в Тихом океане! Или, по крайней мере, неплохую квартиру в спальном районе Москвы, что в наши дни почти то же самое по стоимости.
— Но ведь это… это безумие, — выдавливаю я из себя. — За такие деньги можно нанять трёх… нет, четырёх отдельных специалистов!
— Может быть, — пожимает плечами Димка. — Но тогда тебе придётся как-то заставить их работать вместе, не убивая друг друга. Удачи с этим, — он подмигивает и ловит все три мячика одной рукой. — Кстати, я тут подумал…
И вот тут-то начинается самое интересное. Потому что найти такого универсала — это полдела. Главное — удержать его! Это как поймать золотую рыбку — вроде и поймал, но она постоянно норовит выскользнуть из рук и уплыть к соседу, который предложил ей аквариум побольше и корма получше.
— Вась, — говорит мне Димка через месяц, заходя в мой кабинет с ноутбуком под мышкой и термокружкой в руке, — а у нас есть какие-нибудь интересные проекты? А то я тут подумал…
Я чувствую, как по моей спине пробегает холодок. Когда такие ребята, как Димка, начинают фразу со слов «я тут подумал», это обычно заканчивается либо увольнением, либо требованием повышения зарплаты на 50%.
И я понимаю: если сейчас не придумаю что-нибудь эдакое, наш золотой мальчик упорхнет в закат быстрее, чем я успею сказать «повышение зарплаты». Он как цифровой Питер Пэн — всегда в поисках новых приключений и никогда не хочет взрослеть настолько, чтобы задержаться на одном месте дольше, чем на год.
— Знаешь, — начинаю я, стараясь, чтобы мой голос звучал непринуждённо, — тут как раз есть одна штука… Помнишь тот проект с использованием машинного обучения для предсказания поведения пользователей? Клиент хочет развивать его дальше, добавить нейросети, анализ больших данных…
Глаза Димки начинают блестеть, как у ребёнка перед витриной с конфетами.
— Настоящий проект с ИИ? Не очередная попытка прикрутить чат-бота к сайту визитке?
— Настоящий, — киваю я. — Бюджет приличный, технологии новые. Правда, придётся немного Python подтянуть…
— Python? — Димка даже подпрыгивает на месте. — Я же как раз хотел в него углубиться! Идеально!
Потому что, друзья мои, в современном мире IT мотивация — это не просто большая зарплата. Это интересные задачи, это возможность расти и развиваться, это… Это как наркотик для них — постоянная потребность в новых технологиях, новых вызовах, новых победах. Дайте разработчику решить сложную задачу, и он будет счастлив. Заставьте его месяцами поддерживать устаревший код — и он зачахнет, как комнатное растение без полива и солнечного света.
— Печеньки! — вдруг выпаливает наш системный администратор Коля, который до этого молча сидел в углу комнаты, настраивая очередной маршрутизатор.
— Что? — не понимаю я, резко поворачиваясь и чуть не пролив кофе на свои записи.
— Печеньки, — повторяет он, не отрывая взгляда от экрана, где бегут строчки какого-то кода. — И кофемашину. Хорошую. Вот увидишь, никто не уйдет! Ещё можно пинг-понг. Или настольный футбол. И комнату отдыха с игровой приставкой. И бесплатные обеды. И пиво по пятницам. И…
— И золотую статую Стива Джобса в натуральную величину? — усмехаюсь я.
— Ну нет, — серьёзно отвечает Коля. — Статуя Линуса Торвальдса была бы уместнее. Мы всё-таки уважающая себя компания.
И знаете что? Он оказался прав. Потому что иногда для счастья нужно совсем немного. Интересный проект, хорошая команда и вкусный кофе. И какой-нибудь человеческий жест, показывающий, что компания заботится о своих сотрудниках не только тогда, когда им нужно срочно сделать проект к завтрашнему утру.
Помню, как-то раз после особенно сложного проекта я просто заказал в офис пиццу для всей команды. Обычную пиццу из соседней доставки — ничего особенного. И знаете что? Люди говорили об этом ещё несколько месяцев! Не о пицце, конечно, а о том, что их ценят и замечают их усилия. А ведь стоило это всего ничего по сравнению с бюджетом проекта.
Но есть еще одна проблема, о которой нельзя забывать. Молодые специалисты. Те самые, которые приходят к нам с горящими глазами и желанием перевернуть мир, вооружившись знаниями из онлайн-курсов и уверенностью, что они через год станут техническими директорами.
— Вась, — говорит мне как-то наш новенький стажер, бледный худой парень в футболке с логотипом какой-то инди-группы, о которой я даже не слышал, — а можно я попробую написать новую систему управления проектами? На блокчейне. С искусственным интеллектом. И чтобы она еще и в бубен стучала!
Его глаза горят таким энтузиазмом, что мне становится почти физически больно говорить «нет». Это всё равно что отбирать конфету у ребёнка или объяснять котёнку, что нельзя точить когти о новый диван.
Я смотрю на него и думаю: «Боже, я тоже таким был. Лет десять назад, когда деревья были большими, трава зеленее, а биткоин стоил десять центов».
— Конечно, можно, — отвечаю я с улыбкой. — Только давай сначала научимся базу данных нормально настраивать, ладно? И, может быть, разберёмся с основами Git, прежде чем переворачивать мир? А то знаешь, мир — он тяжёлый, можно спину надорвать.
— Но ведь это так скучно! — возмущается стажёр. — Базы данных, настройка серверов… Это всё древность! Будущее за блокчейном и искусственным интеллектом!
— Знаешь, — говорю я, положив руку ему на плечо, — я однажды видел стартап, который хотел создать искусственный интеллект на блокчейне для автоматической генерации контента. Звучит круто, правда? Только вот незадача — разработчики забыли настроить бэкапы базы данных, и когда сервер однажды крякнулся, они потеряли все данные за полгода. Вот такая вот история. Гламурная, правда?
Стажёр моргает, переваривая информацию.
— Так что, — продолжаю я, — давай сначала научимся ползать, потом ходить, а потом уже будем думать о полётах в космос. Договорились?
— Ладно, — вздыхает он с таким видом, будто я только что запретил ему играть с новой игрушкой. — Но потом мы всё-таки сделаем систему на блокчейне?
— Обязательно, — обещаю я. — Как только ты сможешь объяснить мне, зачем обычной системе управления проектами нужен блокчейн, мы сразу же этим займёмся.
И вот в этом-то и кроется главная сложность. Удержать баланс между опытными спецами и молодыми энтузиастами. Потому что одни без других — никуда. Первые знают, как делать, но часто не хотят ничего менять. Вторые горят желанием менять всё, но не всегда знают, как это делать правильно. Вместе они могут свернуть горы. По отдельности же… По отдельности они либо создадут устаревший, но стабильный продукт, либо инновационный, но нерабочий прототип.
Команда — это как оркестр. Нужны и первые скрипки, и ударные, и духовые. Кто-то задаёт ритм, кто-то создаёт мелодию, а кто-то добавляет глубины и объёма. И дирижёр, который каким-то чудом умудряется заставить их всех играть одну и ту же композицию, а не каждый своё.
А самое сложное в этом всём — найти правильных людей. Не самых умных, не самых опытных, а именно подходящих. Тех, кто будет хорошо работать вместе, дополнять друг друга, компенсировать слабости и усиливать сильные стороны.
Помню, у нас был один разработчик — гений, просто настоящий гений программирования. Мог решить любую техническую задачу, придумать элегантное решение для самой сложной проблемы. Но работать с ним в команде было… скажем так, непросто. Он считал, что все вокруг идиоты, и не стеснялся говорить им об этом прямо в лицо. Через месяц половина команды была готова его придушить, а вторая половина просто боялась к нему подходить.
В итоге нам пришлось с ним расстаться. И знаете что? Проект от этого только выиграл. Потому что команда начала работать как единый организм, а не как группа запуганных людей вокруг «звезды».
Так что не сдавайтесь, друзья мои. Ищите своих универсалов, растите молодежь, варите вкусный кофе. И помните: в мире IT всегда есть место для чуда. И для нас с вами, обычных людей, которые почему-то решили связать свою жизнь с единицами и нулями, кодом и багами, сроками и дедлайнами. Возможно, мы немного сумасшедшие. Но, как говорил Стив Джобс, «только безумцы способны изменить мир». Так что безумствуйте на здоровье!
И знаете что ещё? Несмотря на все трудности, бессонные ночи, сорванные дедлайны, недовольных клиентов и вечно меняющиеся технологии — я ни о чём не жалею. Потому что быть частью этого безумного, постоянно меняющегося мира — это как американские горки. Страшно, захватывает дух, иногда тошнит, но, чёрт возьми, как же это весело!
А теперь извините, мне пора. Кажется, наш стажер все-таки решил написать ту самую систему на блокчейне. Нужно идти спасать сервера, пока они не взорвались от его энтузиазма! А ещё — заказать пиццу для команды. И, пожалуй, всё-таки купить ту кофемашину, о которой говорил Коля. Потому что универсалы универсалами, а хороший кофе — это святое.

