Молодой коллега смеялся: «Тётенька, отойди, тут программисты нужны, а не уборщицы». Через час он сдавал мне свой код на проверку

– Женщина, вы куда? Тут рабочая зона, не хозблок.

Я остановилась. Папка в руке, пропуск на шее. Коридор третьего этажа, стеклянные перегородки, за ними – мониторы, кресла, молодые лица. Парень в яркой худи с наушниками на шее стоял передо мной, загораживая проход. Лет двадцать пять, не больше. Модная стрижка, кроссовки белые, уверенный взгляд сверху вниз.

– Тётенька, отойди, тут программисты нужны, а не уборщицы.

Он сказал это громко. Не шёпотом, не вполголоса – в полный голос, на весь коридор. Двое ребят за ближайшим столом подняли головы. Один хмыкнул. Второй отвёл глаза, но улыбку спрятать не успел.

Я могла ответить. Двадцать три года в профессии – я научилась отвечать так, что собеседник потом неделю подбирает слова. Но не стала. Молча обошла его, прошла по коридору до конца и села за пустой стол у окна. Положила папку. Достала блокнот – обычный, бумажный, в клетку. Записала: «Кирилл. Худи с логотипом. Наушники. Первое впечатление».

Он посмотрел мне вслед. Я видела краем глаза – повернулся к ребятам, покрутил пальцем у виска. Мол, видали? Тётка с блокнотиком в айтишный отдел зашла.

На часах было девять утра. Планёрка – в десять.

***

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

Первый компьютер купила на деньги, которые три месяца откладывала с зарплаты бухгалтера. Муж тогда крутил пальцем у виска – тридцать два года бабке, какие курсы? Какое программирование? Борщ вари.

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

Компания закрылась в январе. Я три месяца сидела без работы. Рассылала резюме – семнадцать штук за март. Ходила на собеседования. На пяти из семи мне говорили одно и то же: «У вас впечатляющий опыт, но мы ищем кого-то помоложе». Не прямо так, конечно. Вежливее. «Мы ориентируемся на другой профиль кандидата». Но суть одна – сорок восемь лет для этой профессии звучит как приговор. Там средний возраст – двадцать семь. Я старше некоторых начальников на двадцать лет.

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

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

Я вышла на работу сегодня. Первый день. Серый кардиган, собранные волосы, никакой косметики. Обычная женщина сорока восьми лет. С сединой у висков и блокнотом в руке.

И первое, что я услышала на новом месте – «тётенька, отойди».

***

Без пяти десять в переговорную начали заходить люди. Я узнала парня в худи – Кирилл. Он сел в дальний угол, развалился в кресле, достал телефон. Двое ребят, которые смеялись в коридоре, сели рядом с ним. Лена – худенькая, тихая, лет тридцати – устроилась у стены, открыла ноутбук.

Виктор Сергеевич вошёл последним. Высокий, в очках, с седой бородой. Оглядел всех, кивнул мне.

– Коллеги. У нас изменения. Вместо Дмитрия Олеговича, который ушёл в прошлом месяце, команду будет вести новый руководитель. Для тех, кто не знает – тимлид принимает вашу работу. Проверяет код, ставит задачи, решает, что годится, а что нужно переделать. Прошу – Нелли Аркадьевна Самсонова. Двадцать три года в разработке. Последние двенадцать – руководила группой в «Системпро». Строила онлайн-банк для трёх с половиной миллионов пользователей.

Я встала. Кивнула. Обвела глазами комнату.

Кирилл убрал телефон. Медленно. Очень медленно. Посмотрел на меня. Потом на Виктора Сергеевича. Потом снова на меня. Уши у него стали розовыми. Не красными ещё – розовыми.

– Коллеги, вопросы? – Виктор Сергеевич сел.

Тишина. Я открыла блокнот.

– Давайте знакомиться. Кто чем занимается, какие задачи в работе, где нужна помощь. Начнём по кругу. Имя, проект, текущая задача.

Они представлялись по очереди. Лена – серверная часть системы. Антон, двадцать восемь, мобильное приложение. Сергей, тридцать два, база данных – место, где хранится вся информация о пользователях. Я записывала в блокнот. Коротко, по делу. Имя – проект – что сейчас делает.

Дошла очередь до Кирилла. Он откашлялся. Голос всё ещё уверенный, но поза изменилась – сидел уже прямо, не развалившись.

– Кирилл. Фронтенд. Делаю личный кабинет пользователя.

– Фронтенд – это то, что видит обычный человек на экране, – объяснила я, хотя объяснение было скорее для блокнота, для порядка. – Кнопки, формы, страницы. Личный кабинет – это где пользователь входит под своим именем и паролем, меняет настройки, смотрит историю. Верно?

Кирилл кивнул. Коротко.

– Сроки? – спросила я.

– Ну, нормальные. В процессе.

– Конкретнее, пожалуйста. К какому числу?

Он пожал плечами.

– К пятнице, наверное.

– Хорошо. Жду то, что уже готово, сегодня к пяти. На проверку. Хочу видеть текущее состояние.

Он усмехнулся. Едва заметно, одним уголком рта, но я увидела. И двое ребят рядом тоже. Один из них – тот, который хмыкнул утром – откинулся на спинку стула.

Планёрка закончилась. Все потянулись к двери. Я собирала блокнот, когда услышала в коридоре голос Кирилла. Негромкий, но и не шёпот. Он специально говорил так, чтобы было слышно – но чтобы потом можно было сказать «я не вам».

– По блату посадили. Видели – блокнотик у неё, ручечка. Как в бухгалтерии. Двадцать три года опыта – а одета как библиотекарша. Посмотрим, надолго ли хватит.

Кто-то тихо засмеялся.

Лена стояла у кулера. Слышала всё. Посмотрела на меня. Я отвернулась к монитору.

Три раза. Три раза за полдня. Первый – в коридоре, «тётенька, отойди», при двух свидетелях. Второй – усмешка на планёрке, когда я дала ему задание. Третий – «по блату» за моей спиной, но так, чтобы я услышала.

Я открыла на экране код проекта. Нужно было разобраться, что уже написано. Пальцы легли на клавиатуру – и стало спокойнее. Вот это – моя территория. Здесь возраст не важен. Здесь важно только одно: работает или не работает.

***

К пяти часам Кирилл прислал свой код на проверку. Я открыла файлы. Двенадцать модулей, четыреста с лишним строк. Личный кабинет пользователя – та самая страница, где человек входит на сайт, меняет свои данные, смотрит, что покупал. Задача не самая сложная, но требует аккуратности. Особенно в том, что касается безопасности – ведь за этой страницей стоят настоящие люди с настоящими паспортными данными.

Кирилл подошёл к моему столу. Руки в карманах, подбородок чуть вверх. Наушники на шее.

– Скинул. Всё работает. Можно идти?

– Подожди, – я листала код на экране. – Сядь, пожалуйста.

Он не сел. Остался стоять, переминаясь с ноги на ногу.

Первая ошибка нашлась на третьей минуте. Неправильная проверка пароля – программа пропускала пустое поле. Это как дверной замок, который открывается, если просто дёрнуть ручку. Без ключа. Любой мог бы зайти в чужой личный кабинет, не зная пароля.

– Вот здесь, – я показала на строчку. – Проверка не срабатывает. Пользователь может войти с пустым паролем. Понимаешь, что это значит? Чужой человек заходит в твой кабинет и видит всё – имя, адрес, номер карты.

Кирилл наклонился к экрану.

– А, ну да. Мелочь, потом поправлю.

– Это не мелочь. Это дверь без замка.

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

Третья – одно и то же действие было написано в четырёх разных местах вместо одного. Как если бы в кулинарном рецепте инструкцию «разогрей духовку до ста восьмидесяти» напечатали четыре раза – на каждой странице. Программа от этого работает медленнее и ломается чаще.

Четвёртая. Пятая. Шестая.

Кирилл молчал. Уши уже не розовые – красные. Ярко-красные, как раки на блюде. Руки из карманов вытащил, скрестил на груди.

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

– Семь ошибок, – я закрыла блокнот. – В четырёхстах строчках. Три из них критические. Если бы этот код ушёл на настоящий сайт, личные данные пользователей лежали бы как на ладони.

Кирилл стоял. Руки уже не скрещены – вдоль тела. Пальцы сжаты в кулаки.

– Я поправлю, – тихо.

– Конечно, поправишь. Завтра к десяти утра жду исправленную версию. Все семь пунктов.

Он развернулся и ушёл. Быстрым шагом, не оглянулся. Дверь за ним не хлопнула – придержал. Но спина была каменная.

Я откинулась на спинку кресла. Разжала пальцы – они ныли. Весь день я сжимала ручку блокнота так, будто от неё зависела моя жизнь. Шея затекла от напряжения. Плечи – как деревянные.

Лена подошла, поставила рядом стакан с чаем.

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

– Для трёх с половиной, – поправила я. – Но спасибо за чай.

Она чуть улыбнулась и ушла.

Чай был горячий и сладкий. Я грела о стакан ладони. Первое тёплое ощущение за весь день. Но расслабляться не стоило.

В блокноте, на последней странице, мелким почерком: «Умеет. Но не хочет. Посмотрим завтра».

***

На следующее утро код пришёл в девять сорок семь. За тринадцать минут до срока. Я открыла файлы, начала проверять. Четыре ошибки из семи были исправлены. Три – нет. Причём самые важные. Те самые, про безопасность.

Кирилл появился в десять ноль пять. Кроссовки скрипнули на пороге.

– Прислал, – бросил он с порога.

– Вижу. Три ошибки остались. Те самые, которые я вчера выделила красным.

– Там всё нормально. Я проверял.

– Нет. Не нормально. Садись, покажу.

Он сел. Я вывела его код на большой монитор. Строчка за строчкой показала, где программа даёт сбой. Объяснила каждый пункт. Простыми словами, без унижения, без издёвки. Как объясняют сложную задачу человеку, который может понять – если захочет.

Он не хотел.

– Это придирки, – сказал он. – На прошлом месте у нас код такого уровня шёл без вопросов.

– Значит, на прошлом месте были другие требования. Здесь мои.

– Ваши требования из двухтысячных, может быть. Сейчас так никто не работает.

Я посмотрела на него. Спокойно. Молча. Три секунды. Пять. Он не отвёл глаза, но моргнул – быстро, нервно.

– Кирилл, требования безопасности одинаковые и в две тысячи третьем, и в две тысячи двадцать шестом. Пароль не должен быть пустым. Данные пользователя не должны ходить без защиты. Это не мода. Это основа. Как фундамент у дома – без него всё рухнет.

Он встал. Стул отъехал назад с резким звуком – ножки проскрипели по полу.

– Я напишу Виктору Сергеевичу. Вы придираетесь, потому что я вчера не так вас встретил. Это личное.

И вышел. Дверь не хлопнул. Но шаги по коридору были быстрые, злые.

Я сидела одна. Кондиционер тихо гудел под потолком. На экране – его код с тремя красными пометками. Мои руки лежали на столе ладонями вниз. Спокойные. Но внутри – пружина. Та самая, которая закручивается медленно, виток за витком. Двадцать три года я её закручивала. Двадцать три года терпела «бабушка, вам не сюда», «женщина, тут серьёзная работа», «а вы точно сами написали?»

Четырнадцать программистов я обучила за эти годы. Восемь из них сейчас сами руководители. Двое работают здесь – именно они порекомендовали меня Виктору Сергеевичу. Система онлайн-банка для трёх с половиной миллионов человек. Ни одного сбоя за четыре года.

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

***

Письмо от Виктора Сергеевича пришло через час. «Нелли Аркадьевна, зайдите. И Кирилла позовите».

Кабинет директора по разработке. Большой стол, два стула напротив. На стене – экран для презентаций. Виктор Сергеевич снял очки, положил их на стол. Потёр переносицу.

– Кирилл написал, что вы предвзято оцениваете его работу. Личный конфликт, говорит. Что вы мстите за какое-то утреннее недоразумение. Кирилл, подтверждаешь?

Кирилл сидел прямо. Голос ровный, отрепетированный.

– Да. Вчера она зашла в отдел, я её не узнал, принял за сотрудницу хозчасти. Обычная ошибка, с кем не бывает. А теперь она заваливает мой код. Семь замечаний к четырёмстам строчкам – это ненормально. Там рабочий код, я сам проверял.

Виктор Сергеевич посмотрел на меня поверх очков.

– Нелли Аркадьевна?

– Можно ваш компьютер?

Он кивнул. Я подсела к его ноутбуку, открыла файл с кодом Кирилла. Вывела на настенный экран первую ошибку.

– Вот проверка пароля, – я говорила спокойно, показывая пальцем на конкретные строки. – Смотрите, Виктор Сергеевич. Я ввожу пустое поле – ничего, ни одного символа. Нажимаю «Войти». И система пускает меня внутрь. В личный кабинет любого пользователя. Без пароля. Имя, адрес, история покупок, номер телефона – всё как на ладони.

Виктор Сергеевич надел очки. Посмотрел на экран. Потом на Кирилла.

– Это не придирка, – продолжила я. – Это дыра, через которую можно залезть в чужие данные. Кирилл считает, что это мелочь.

Я показала вторую ошибку. Данные без защиты – открытка вместо конверта. Третью – программа не проверяет, кто перед ней, прежде чем показать информацию. Каждую объяснила просто, с примерами. Не торопясь. Без злости. Без торжества. Как показывают рентгеновский снимок – вот тут, и вот тут, и вот тут.

Виктор Сергеевич снял очки. Положил на стол. Тихо.

– Кирилл, ты это видишь?

Кирилл молчал. Пальцы сцеплены на коленях. Костяшки белые. Шея красная – пятнами, неровно, от ворота худи до ушей.

– Нелли Аркадьевна права, – сказал Виктор Сергеевич. – Это не придирки. Это ошибки безопасности. Если бы этот код попал на рабочий сайт, у нас были бы серьёзные проблемы. Очень серьёзные. И юридические тоже.

Тишина. Кирилл смотрел в пол.

И тут я сказала то, что потом сто раз прокручивала в голове. Стоило или нет – до сих пор не знаю.

– Кирилл, – голос ровный, негромкий. Я смотрела ему прямо в макушку, потому что он не поднимал глаз. – Ты вчера устроил мне знакомство с отделом. Публичное. При всём коридоре объяснил, что тут нужны программисты, а не уборщицы. А потом в коридоре рассказал ребятам, что меня по блату посадили.

Он вскинул голову. Глаза злые, испуганные одновременно.

– Хочешь – могу устроить тебе публичное ревью. Знаешь, что это? Это когда твой код выводят на проектор перед всем отделом. Девять человек смотрят на каждую строчку. И видят пустые пароли, незащищённые данные и код, который ты сам не проверил. Как тебе такое знакомство с коллективом?

Тишина. Секунда. Две. Три.

Кирилл разжал пальцы. Снова сжал. Ничего не сказал.

Виктор Сергеевич кашлянул.

– Думаю, в этом нет необходимости. Кирилл, исправь код. Сегодня. Нелли Аркадьевна – спасибо, работайте.

Мы вышли. Кирилл – первый. Быстро, не оглядываясь. Кроссовки скрипели по коридору. Я – следом. Медленно. Закрыла дверь. Прислонилась к стене.

Руки тряслись. Не от страха. От того, что сказала. Вслух. При начальнике. Предложила мальчишке публичный разбор его работы перед всем отделом – зеркально тому, что он устроил мне вчера в коридоре. Око за око. Справедливо? Может быть. Правильно? Не уверена.

Он – мальчишка. Двадцать пять лет. Два года опыта. Глупый, дерзкий, самоуверенный. Но мальчишка. Я могла просто показать ошибки и уйти. Без этой фразы про публичное ревью. Без зеркала. Профессионально и сухо.

Но я её сказала. И она попала точно туда, куда я целила.

Лена стояла у кофейного автомата. Видела, как мы вышли. Посмотрела на меня – долго, внимательно. Я выпрямилась. Оттолкнулась от стены. Прошла к своему столу.

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

Вечером я сидела одна в пустом офисе. Все ушли. Монитор светился голубым. Стакан с остывшим чаем рядом. Блокнот раскрыт на сегодняшней странице. Семь пунктов – все зачёркнуты. Исправлено.

Я допила холодный чай. И подумала – а нужно ли было вот так? С угрозой публичного разбора? Двадцать три года я строила репутацию. Строчка за строчкой. Бессонная ночь за бессонной ночью. Четырнадцать учеников. Система для миллионов. И один парень с наушниками на шее решил, что я – уборщица. Потому что возраст. Потому что кардиган. Потому что седина.

Нет. Я не жалела. Но и лёгкости не было.

***

Прошло две недели. Кирилл здоровается. Кивает, не глядя в глаза, цедит «доброе утро» сквозь зубы, но здоровается. Код сдаёт вовремя. Ошибок стало три, потом две, потом одна. Учится. Молча, без вопросов – но учится. Я вижу по коду.

Только в курилке – Лена рассказала, сама я туда не хожу – он говорит другое. Что я «самоутверждаюсь за счёт молодых». Что «притащили тётку, которая всем жизнь портит». Что «раньше у нас было нормально, а теперь каждую запятую проверяют». Половина отдела кивает. Они привыкли сдавать код, который никто не смотрит. Другая половина молчит и работает. Их код стал чище. Я это вижу.

А я каждое утро прихожу в девять. Сажусь за стол. Открываю блокнот. Седина у висков – на месте. Кардиган серый – тот самый, первый день, и все дни после. Двадцать три года за спиной. Четырнадцать учеников. Три с половиной миллиона пользователей, которые даже не знают, что их данные были в безопасности, потому что одна «тётенька с блокнотиком» проверяла каждую строчку.

И один вопрос, который не отпускает.

Перегнула я тогда, в кабинете у Виктора Сергеевича? С этим публичным ревью – правильно или слишком жёстко? Он ведь мальчишка. Глупый, но мальчишка.

Или правильно, что сразу расставила точки – тут не на возраст смотрят, а на результат?

Что скажете?

Оцените статью
Молодой коллега смеялся: «Тётенька, отойди, тут программисты нужны, а не уборщицы». Через час он сдавал мне свой код на проверку
Бывший муж пригрозил лишить меня сына, но через месяц к нему в кабинет вошла женщина с документами