Стефа
Переговорка №2 виглядає так, ніби тут народжуються дуже серйозні рішення: довгий стіл, маркерна дошка, панорамне вікно на вулицю, екран на стіні. І… Назар, який вже сидить усередині, ніби тут ночував.
Перед ним відкритий ноутбук, поруч — роздруківки, які дуже підозріло схожі на ті самі технічні схеми, від яких звичайним людям стає зле. Катя щось друкує в телефоні, паралельно сьорбаючи каву.
— О, наша дизайнерка, — каже Назар, підводячи погляд. — Прошу до столу переговорів, шановна Пані.
— Звучить так, ніби зараз ми будемо ділити імперію, — бурмочу, заходячи всередину. — Сподіваюся, впораємося, без кривавих жертв.
— Залежить від того, скільки ти захочеш анімацій, — абсолютно спокійно відказує він.
Катя фиркає й, не підводячи очей, сідає ближче до дверей, як людина, яка щиро вірить, що від нас можна просто втекти фізично. Наївна…
— Добре, — вона відривається від телефону. — Назаре, давай, показуй свого технічного монстра. — Вона переводить погляд на мене. — Спокійно. Це я про схему, не хвилюйся, — усміхається.
Назар клацає по ноутбуку, на великий екран виводиться схема. Лінії, стрілочки, прямокутники, якісь підписи англійською й українською. Я роблю розумне обличчя. Усередині — легке “о Боже…”.
— Отже, — каже він, обертаючись до мене, — давай я спробую коротко й “людською мовою” все пояснити.
— Давай, — сідаю навпроти, кладу блокнот перед собою. — Подивимось, чим ти мене сьогодні здивуєш.
Він киває на перший прямокутник.
— Ось тут, — показує, — сайт і мобільний додаток. Те, що бачить людина. Вона заходить, пише своє бажання, тицяє “надіслати” і далі це вже летить у бекенд, — робить паузу й додає: — умовно кажучи, на сервер, де живе вся логіка.
— Бекенд, — повторюю. — Тобто місце, де живе все страшне, але потрібне.
— Приблизно так, — хмикає він. — У бекенді всі бажання лягають у базу даних, тобто в нашу внутрішню систему, де нічого не губиться, — пояснює він.
— Зрозуміло, — киваю.
Він клацає далі, стрілка спускається вниз.
— У нас є три основні статуси, — продовжує він. — “нове бажання”, “взято до виконання” і “виконано”. Від цього ми й вирішуємо, який сигнал відправити всередину інсталяції: що саме має загорітися і яким кольором.
— Говориш так, ніби в тебе з проводкою окремі стосунки, — не стримуюсь.
— З контролерами, — усміхається Назар. — Це такі маленькі “коробочки” всередині інсталяції, які керують світлодіодами. Ми просто кажемо їм: “оце бажання повинно бути такого кольору, це іншого, а тут змінився статус, тож міняй світло”.
Я дивлюся на екран. Сайт → сервер → база даних → щось, що зветься “контролери інсталяції”.
Добре, поки що в голові все тримається. Принаймні я розумію, куди течуть стрілочки.
— Оце ось, — показує Назар на окремий блок, — канал передачі даних до інсталяції. Її ставлять у центрі міста, там буде підключення до інтернету й наш невеличкий “мозок”, який прийматиме від сервера дані і транслюватиме їх.
— І ти хочеш сказати, — повільно формулюю, — що якщо людина напише “хочу кота”, це пройде через сервер, базу даних, якийсь канал, потрапить до контролера, і…
— І один вогник спокійно загориться в потрібному місці на мапі, — закінчує за мене Назар. — Якщо все зробити правильно.
— Добре, — кажу. — Головне, щоб у момент, коли хтось попросить кота, у нас не загорілася вся інсталяція разом і не показала місту, що в кожного тепер повинні бути коти.
Назар щиро посміхається.
— Я теж не хочу, щоб усе пішло шкереберть, — киває. — Тому ми й робимо нормальну архітектуру. Мінімум магії, максимум прогнозованої поведінки.
— Це зараз була пасивна агресія в бік дизайнерів, чи мені здалося? — прищулююсь.
— Ні, — абсолютно спокійно відповідає він. — Це була активна любов до стабільності.
Катя зітхає.
— Поки вам, здається, не потрібна моя допомога з перекладом та розумінням один одного. Проте я залишуся, про всяк випадок.
Назар перемикає слайд.
— Дивись, — показує. — Ось структура даних по бажаннях.
На екрані — табличка: ідентифікатор, текст бажання, статус, час створення, координати, користувач… ще щось дрібне.
— Все тут виглядає підозріло охайно… після попередників, — хмикаю, розглядаючи схему. — Я вже морально готувалась оцінювати людей не тільки по тому, що вони пишуть у своїх бажаннях, а й по тому, які серіали дивляться…
— Узагальнюєш? Маєш на увазі всіх майбутніх користувачів? — перепитує Назар. — Чи якусь конкретну людину? — кидає на мене короткий погляд. — Кортить дізнатися про когось більше?
— Ну, почати можна з усіх, — віджартовуюсь. — А вже потім, можливо, захочеться дізнатися щось про якусь конкретну людину.
— Тоді не обов’язково лізти в систему, — спокійно каже він. — Нам достатньо буде просто поговорити.
Я на мить зависаю, не очікуючи такого повороту. Усміхаюся, ніби це все ще просто робочий жарт:
— Спочатку потрібно вивести проєкт у продакшн, — відповідаю. — А вже потім можемо побалакати про твої серіальні вподобання.
Він усміхається кутиком губ, але потім знову повертається до справи.
— Формально, — каже, — наша система має просто вчасно приймати бажання, змінювати їхні статуси й передавати це інсталяції без затримок. Щоб людина написала і майже одразу побачила свій вогник.
— “Майже”… це скільки? — питаю. — Бо якщо ми говоримо про магію, то “через пів години”... це вже не магія, це черга в супермаркеті.
— Ми будемо прагнути до кількох секунд, — відповідає Назар. — Залежно від навантаження й інтернету на площі. Але ціль, щоб люди не встигли передумати й подумати, що все зламалося.
Я киваю.
Кілька секунд — це вже красиво. Якщо вогник загориться майже одразу, люди повірять, що це справді живе, а не просто якийсь муляж.
— Окей, — кажу. — Мені подобається, що ти думаєш про це як про “відчуття магії”, а не просто “сигнал дійшов — ставимо галочку”.