– Спасибо, что предложили его, – ответил он, оплатив счёт. – Оно многое говорит о вас. И я рад, что вы доверили мне эту историю.
Мы спустились по узкой лестнице на улицу. Вечерняя Остоженка была тихой и уютной, фонари создавали мягкие круги света на мокром после дождя асфальте.
– Давайте я вас подвезу до дома?
Я на секунду задумалась и всё же осторожно отказалась:
– Спасибо, но я хочу пройтись и подумать.
– Хорошо. Тогда до завтра, – кивнул собеседник и протянул мне свою широкую, сильную ладонь. Рукопожатие получилось чуть более долгим, чем требовали деловые рамки, но мы оба сделали вид, что не заметили этого.
Я проводила его взглядом, пока он не скрылся за углом, а потом ещё долго стояла у входа в кафе, осмысливая произошедшее.
Игра началась по-настоящему. И ставки оказались выше, чем я предполагала.
Глава 7
Будильник прозвенел в семь утра, но я проснулась задолго до него. Лежала на жёсткой койке и смотрела в потолок, где паук методично плёл паутину в углу. Сегодня предстояло доказать, что я не пустое место. Что восемь лет моей жизни, потраченные на создание «Хроноса», чего-то да стоят.
В общей ванной умылась холодной водой, прогоняя остатки тревожного сна. В зеркале отражалась женщина с решительным взглядом и морщинкой между бровями. Сегодня я иду на войну. И должна выглядеть соответственно.
Из чемодана достала строгие чёрные брюки, белую рубашку и тёмно-синий пиджак. Деловой костюм, который не кричит о статусе, но говорит о профессионализме. Волосы собрала в низкий пучок, минимум косметики. Образ серьёзного технического специалиста.
Дорога до офиса заняла час. TechDrive располагался в современном бизнес-центре на Ленинградском проспекте. Закрытая лаборатория находилась на восьмом этаже, доступ только по специальным пропускам.
Даниил встретил меня в холле. Лично. И это, если честно, приятно удивило. Поздоровавшись, он повёл меня к лифтам.
– Готовы познакомиться с командой?
– Более чем, – кивнула я.
Лаборатория поразила. Открытое пространство с десятками мониторов, стеклянные переговорные, современные эргономичные кресла. На стенах интерактивные доски с диаграммами и схемами. Пахло кофе и той особой атмосферой творческого хаоса, которая всегда сопровождает серьёзную разработку.
– Ребята, знакомьтесь, – громко объявил Даниил. – Арина, наш новый технический консультант по архитектуре систем.
Ко мне подошёл мужчина лет тридцати пяти, худощавый, в потёртой футболке с логотипом GitHub. Длинные волосы небрежно собраны в хвост, усталые глаза за очками в тонкой оправе.
– Максим Петров, тимлид, – представился он без особого энтузиазма. – Ещё одного консультанта? Серьёзно?
В его голосе читалось плохо скрытое раздражение.
– Сколько можно, – продолжил бормотать он, хмуро глядя на Даниила. – Мы и так завалены работой, а тут очередной теоретик будет учить нас жизни.
– Макс, какая муха тебя укусила? Не с той ноги встал? Выскажешь мне все свои претензии наедине, сейчас это неуместно, – начал было Даниил, недовольно прищурившись, но я его остановила жестом.
– Понимаю ваш скептицизм, Максим, – спокойно сказала я. – Консультанты обычно много говорят, часто весьма красиво, но и только. Правильно?
Тимлид удивлённо поднял брови, явно не ожидая такой прямоты и спокойствия. Он видел, что его слова меня вовсе не задели, напротив, я едва заметно усмехнулась. Нетипичная реакция на его подначивание.
– Ну… в общем-то да. Не обижайтесь, но у нас был печальный опыт. И не раз.
– Не обижаюсь. Предлагаю простое решение: дайте мне задачу. Любую техническую проблему, которая у вас есть. Если справлюсь, значит, не зря сюда пришла.
Максим обменялся взглядами с коллегами. В их глазах читался интерес, смешанный с недоверием и щедрой щепоткой скептицизма.
– Хорошо, – сказал он и провёл меня к одному из рабочих мест. – Видите этот модуль интеграции с внешними API? Он тормозит всю систему. Мы бьёмся над оптимизацией уже три недели. Время отклика неприемлемо медленное, а нагрузка растёт.
Я посмотрела на экран. Код был написан грамотно, но неоптимально. Классическая проблема синхронных запросов и отсутствия кэширования.
– Можно час времени? – спросила я.
– Конечно. Удачи, – в голосе Максима прозвучала плохо скрытая ирония. – Но, думаю, часа мало будет, потому сколько угодно времени в вашем распоряжении.
– Шестидесяти минут вполне хватит, – повторила я и села за компьютер. Вскоре работа увлекла, я погрузилась в неё с головой, позабыв об окружающем мире. Знакомое состояние концентрации, где есть только логика, алгоритмы и элегантность решений.
Проблема была в том, что система делала отдельный запрос к каждому API последовательно. Я переписала модуль, внедрив асинхронную обработку и многоуровневое кэширование. Добавила пул соединений и оптимизировала работу с памятью.
Через сорок минут я откинулась в кресле.
– Готово, – объявила я.
Максим подошёл, недоверчиво покачивая головой.
– Так быстро? Сомневаюсь, что…
Он посмотрел на экран и замолчал. Потом склонился ближе, изучая код.
– Чёрт возьми, – пробормотал он. – Асинхронный пул… кэширование на трёх уровнях… Это же… это должно дать прирост производительности в разы!
– Запустим тесты? – предложила я.
Он кивнул, всё ещё, как загипнотизированный, рассматривая мои изменения. Команда собралась вокруг, наблюдая за результатами нагрузочного тестирования.
Цифры на экране говорили сами за себя. Время отклика сократилось с восьми секунд до полутора. Пропускная способность выросла в четыре раза.
– Блин, – выдохнул один из разработчиков. – Мы месяц голову ломали…
Тимлид выпрямился и посмотрел на меня совершенно другими глазами.
– Ладно, – сказал он, и в его голосе не осталось и следа скептицизма. – Возможно, я поторопился с выводами. Добро пожаловать в команду!
И протянул мне раскрытую ладонь для пожатия.
– Только не обижайтесь за эту проверку. Приходилось иметь дело со… специалистами, которые красиво говорили, но на деле оказывались пустышками.
– Понимаю, – улыбнулась я. – Я бы на вашем месте тоже проверила.
Остаток утра прошёл в обсуждении технических деталей будущего проекта. Команда оказалась сильной: восемь опытных разработчиков, каждый эксперт в своей области. Они слушали мои идеи с растущим энтузиазмом.
В час дня Даниил пригласил меня в свой кабинет.
– Впечатления? – спросил он, закрывая дверь.
– Прекрасная команда. С такими людьми можно творить самые настоящие чудеса.
– Отлично! Тогда мой следующий вопрос: каковы ваши ожидания по оплате?
Я пожала плечами. Я ас в написании программ. Вся моя жизнь всегда сводилась к работе. И я мало на что обращала внимания за пределами своей зоны комфорта. Сейчас, оказавшись за бортом из-за предательства мужа, начала осматриваться и замечать то, чего раньше просто не видела. И узнавать. В том числе озаботилась поиском информации по уровню зарплат у профессионалов моего уровня.
– Рыночная ставка для таких специалистов как вы – шестьсот-семьсот тысяч в месяц.
Не солгал, не преуменьшил. Ещё один плюсик ему в карму.
– Я готов предложить шестьсот пятьдесят плюс бонусная программа по результатам проекта. Устроит?
– Более чем, – я замешкалась на секунду и всё же зачем-то поддалась порыву и добавила: – В «Romanov Motors» я получала сто двадцать как «технический директор».
Даниил изумлённо поднял брови:
– Серьёзно? Романов ещё и недоплачивал вам… Никак в голове не укладывается.
– Я была женой, а не наёмным работником, – передёрнула плечами я.
– Тогда добро пожаловать в TechDrive Solutions!
Первый этап был скреплён крепким рукопожатием.
– Договор будет готов завтра, тогда и оформим всё на бумагах, – не скрывая довольства, улыбнулся Смерчев.