Факапы на работе: реальные истории IT-специалистов
Прощает ли IT ошибки? Конечно, да! О том, как превратить факап в ценный урок рассказывают выпускники Эльбрус Буткемп.
Перед тем, как мы перейдем к 7 увлекательным анонимным рассказам наших выпускников, мы расскажем, как сами относимся к ошибкам в процессе обучения студентов ↓
Ошибки во время обучения — это нормально
А теперь узнаем о реальных критических ситуациях, произошедших во время рабочих процессов, непосредственно из уст наших выпускников ↓
Падение прода в первый месяц работы
Я освоила профессию веб-разработчика в буткемпе и нашла работу в первый же месяц после окончания обучения. В этом мне помогла самостоятельная подготовка и комьюнити Эльбруса: советы выпускников, карьерного коуча. Сейчас я работаю фронтенд-разработчиком в крупной компании в сфере финтеха. Я занимаюсь поддержкой и развитием внутреннего продукта. Мы с командой внедряем в него новые крутые фичи и чиним (или ломаем) старые. Мелкие косяки появлялись то там, то сям еще во время моей адаптации в компании. Но самое страшное произошло в конце первого месяца работы, когда по моей вине упал прод...
Как это вышло
Задача была действительно сложной и такой объемной, что над ней работали сразу несколько команд. Мне нужно было собрать воедино все доработки и «вмерджить» в мастер-ветку, разрешить конфликты, убедиться, что ничего не забыли. Обычно после этого следует длительный процесс тестирования, но этот раз стал исключением. Мы были ограничены во времени, а у меня не было достаточного понимания проекта: я буквально не до конца понимала, что именно мы релизим. И вот итог: я «вмердживаю» доработку, значения которой не знаю, решаю конфликты без контекста. Неудивительно, что что-то пошло не так.
Спустя некоторое время наш рабочий чатик взрывается от сообщений об аварии на проде. Все в панике, срочно нужно что-то решать, привлекаются лиды разработки и тут обнаруживается тот самый Merge Request, за который отвечала я. Сказать, что я чуть не поседела — ничего не сказать. Меня и до этого мучали сомнения и тревоги на новом месте. Я хотела оправдать доверие, хорошо справиться с ответственностью, возложенной на меня, влиться в коллектив. И тут я роняю прод в первый же месяц работы. Не комично ли? Я стала ждать сообщения от продакт-менеджера или лида с пожеланиями удачи на новом месте. Спойлер: такого сообщения я не получила.
Как я с этим разобралась и спасла компанию от бага посерьезнее
Отставив панику, я подключилась к созвону с лидами. Мы вместе нашли причину аварии. Лиды объяснили мне, в чем ошибка, а я рассказала, почему она была допущена. Мы быстро все пофиксили.
Когда обнаружился мой факап, лиды соседних команд сперва ругались, но скоро успокоились. Меня спасло то, что в процессе поиска ошибки всплыл еще один критический баг с их стороны. Он мог бы очень сильно испортить всем жизнь, но до него просто не дошло. Мой продакт-менеджер поддержал меня, подошел к ситуации с юмором и припомнил лютый косяк моего коллеги, когда прод по его вине лежал гораздо дольше и с бóльшими последствиями. Я была удивлена, ведь тот коллега был гораздо опытнее меня. В итоге продукт-менеджер назвал случившееся моим боевым крещением, и никаких санкций не последовало.
Как это на меня повлияло
Чувство стыда не покидало меня даже после устранения бага. Меня гложила вина и сомнения в моих способностях, от одного упоминания этой ситуации меня начинало трясти. Только спустя некоторое время, когда эмоции утихли, я начала анализировать ситуацию и пришла к выводу, что всему виной моя неуверенность и боязнь показаться глупой. Из-за этого я не обратилась за помощью, не задала необходимых вопросов, не попросила автора той доработки самостоятельно «вмерджить» ее, как мы делаем сейчас. Тогда я поняла: не стыдно чего-то не знать, стыдно закрыть глаза на незнание и надеяться, что прокатит. Этот факап научил меня спокойнее относиться ко всему, вовремя брать себя в руки, не поддаваться ненужным эмоциям. А еще эта история сблизила меня с коллегами. Я вступила в клуб «ронятелей прода».
Инсайт для будущих выпускников
Иногда работа занимает слишком много места в нашей жизни. Мы растворяемся в ней, и рабочие успехи или неудачи оказывают на нас слишком большое влияние. Поэтому мой совет таков: если вы чувствуете что-то подобное, остановитесь, выдохните и вспомните, что это всего лишь очередной этап вашей жизни. Вы не одиноки, а прод может уронить каждый.
Ошибки — это база, независимо от вашего опыта, навыков, грейда. Учесть все — невозможно. Работа в IT построена на методе проб и ошибок. Это и есть тот самый опыт, за которым все гонятся. Важно лишь то, как вы справляетесь с факапами: пытаетесь их скрыть или делаете выводы и не допускаете их повторения.
Ошибка ≠ увольнение
Буткемп я закончила в июле 2023 года и уже в сентябре вышла на позицию ведущего специалиста отдела разработки систем искусственного интеллекта. У меня был удачный кейс: по образованию я математик-экономист, у меня есть опыт работы в аналитике данных, а Data Science я освоила в Эльбрусе. Изначально я готовилась к тому, что придется делать по 50-100 откликов в день, чтобы попасть на собеседование. Но карьерные коучи буткемпа помогли составить хорошее резюме и подсветить мои сильные стороны, поэтому рекрутеры писали мне сами. В августе я прошла около 15 собеседований и к концу месяца получила 4 оффера.
Секрет быстрого и успешного трудоустройства: крепкое резюме, хорошие теоретические знания, навык кодинга и уверенность в общении.
Сейчас я работаю в компании, которая предоставляет B2B-услуги в сфере телемедицины. Я участвую в нескольких проектах и в мои задачи входит контроль качества лечения пациентов, ранжирование протоколов клиник по их качеству с использованием метрик NDCG и ROC AUC, проекты по Computer Vision для диагностики кожных заболеваний, автоматизация контроля качества телемедицинских услуг с помощью voice2text и LLM. Я также работаю над рекомендательными системами, правилами Yargy, NLP-парсерами и моделями прогнозирования диагнозов в медицинских цифровых помощниках. С таким объемом заданий не удивительно, что мини-факапы случаются регулярно, как бы я старалась их избежать. Обычно факапы связаны с невнимательностью, а на их исправление уходит немного времени, но была одна...
Ошибка, которая мне врезалась в память...
Однажды мне показалось, что я допустила фатальную ошибку: я перезапустила проект на сервере, но после моих обновлений он перестал подниматься. У меня отличная команда и тимлид, они всегда готовы помочь. Но я стараюсь привлекать их только в крайних случаях и решать проблемы своими силами. Я потратила много времени на то, чтобы найти ошибку, а в итоге оказалось, что на сервере просто закончилось место.
Конец света или опыт?
В начале работы даже самые незначительные промахи казались мне катастрофой. Со временем я научилась проще относиться к ошибкам — они не смертельны, все можно исправить. Я склонна многократно проверять все перед коммитом, но даже это иногда не спасает. Мой совет: помните, что ошибки — это не конец света, это нормально, особенно на испытательном сроке. По моему опыту могу сказать, что даже серьезные факапы редко приводят к увольнению. Главное — использовать ошибки как возможность учиться и развиваться.
«Заглушки» спасли презентацию компании
Я изучал веб-разработку в Московском кампусе Эльбруса. После обучения, благодаря пинкам и советам карьерных коучей, я нашел работу через hh.ru в крупной компании, которая связана с автобизнесом. Она представляла услуги посредника между банками и автосалоном. В мои задачи входило составление раскрывающегося списка с заявками, в котором находятся ответы банков-партнеров. У меня не было достаточного опыта работы, много всего приходилось изучать и улавливать на ходу. Это привело к тому, что я допустил ошибку...
Суть проблемы
Я сделал неправильную индексацию и в раскрывающемся списке выводился только один корректный ответ. Но это еще не все… Список, над которым я работал, был частью модернизации платформы. Чтобы продемонстрировать новый функционал и дизайн была организована видео-трансляция для всех, кто связан с компанией. Рекламы такого масштаба еще никто не делал! И вот идет презентация, и тут я понимаю, что первый ответ от банка приходит корректный, а все остальные ответы — «заглушки», текст, который отображается до того, как пользователь введет свои данные.
Какие были последствия
К моему облегчению, никто ничего не заметил, потому что эти «заглушки» были написаны корректно и убедительно. После презентации моему продукт-менеджеру все говорили: «Как круто! Когда можно будет начать пользоваться?». С тех пор я очень ответственно отношусь к написанию «заглушек», они могут прикрыть спину.
Я никому ничего не сказал и молча «починил» все самостоятельно. Я был так горд собой! Но не мог никому об этом рассказать, потому что я и допустил эту ошибку. А сейчас этот опыт превратился в забавную историю, которой я делюсь с друзьями.
Совет для начинающих программистов
Совершив ошибку, проанализируйте причину ее возникновения, чтобы больше не повторять. Запомните этот опыт, как забавную и поучительную историю, и двигайтесь дальше.
Несмертельная ошибка
В 2023 году я закончила буткемп по направлению «Data Science». Свою первую работу я нашла через месяц после обучения. Вакансию и контакт работодателя мне прислал одногруппник, а устроиться на работу помогли карьерный коуч, знания, которые я получила в Эльбрусе и мое высшее образование. Именно оно в сочетании с IT-навыками сделало меня уникальным узкоспециализированным IT-специалистом.
Маленький кусочек кода меняет все
Компания, в которой я работаю, тесно сотрудничает с фармкомпаниями. В мои обязанности входит аналитика, разработка, поддержание моделей, работа с данными. И вот однажды, загружая данные в базу, я не добавила необходимое условие и все данные загрузились некорректно.
Это был мой первый опыт и я просто-напросто забыла об этом условии. На следующий день во время просмотров дашбордов стало очевидно, что данные я загрузила некорректно.
Исправление и ощущение после
Конечно, я расстроилась, но сразу взяла себя в руки и начала искать лучший способ решения возникшей проблемы. Я взяла исходные данные и снова сделала выгрузку в базу, но уже корректно, а также призналась в содеянном своей коллеге, которая меня обучала. Она очень поддержала меня и не стала говорить о случившемся начальству.
Мой вывод после этой ситуации
Теперь я знаю, что нужно учитывать, выполняя аналогичные задачи, а еще я поняла, что в таких незначительных ошибках нет ничего ужасающего и смертельного. Этот опыт помог мне лучше справляться с моими рабочими обязанностями в этой фирме.
Без внятного ТЗ — результат…
В конце лета 2023 года я закончил буткемп, где осваивал направление Data Science. После выпуска я активно искал работу и откликался на все вакансии. За время поиска я не раз прошел через эмоциональные качели. Справиться с этим помогли близкие и вера в себя.
В конце концов я получил и принял оффер от компании, которая выступает посредником между аптеками и производством, ведет аналитику, разрабатывает программы лояльности и приложения для фармацевтов. В мои обязанности входило написание скриптов, которые автоматизировали работу других отделов. А еще я должен был придумать новый способ матчинга названий препаратов, адресов и названий производителей.
Всегда ли причина ошибок — это разработчик?
Каждая встреча, на которой я показывал результаты своей работы, заканчивалась новыми правками. Проблема была в том, что из-за специфики сферы работы, у меня возникало огромное количество вопросов, на которые я не мог самостоятельно найти ответы. Коммуникация в компании была не налажена, четких требований к проекту не было. Мне приходилось «добывать» информацию по крупицам, обращаться за помощью к фармацевту, менеджеру по работе с производителями, аналитику, коммерческому директору и маркетологу. Бывало, что мне никто не мог помочь, и большую часть времени я был предоставлен сам себе.
Я копил вопросы ко встречам с руководством, инициировал взаимодействие с командой, чтобы не заниматься работой, которая уже выполнена. Я делал все, что в моих силах, но топтался на месте из-за отсутствия информации и источников, к которым я мог бы обратиться за помощью.
Что я мог изменить?
Моя ошибка заключалась в том, что я не настаивал на формулировке четкого технического задания по проекту, который был на меня возложен. Руководство знало, что я не обладаю знаниями о фармацевтике и тонкостях данной сферы, но они не предпринимали ничего, чтобы помочь мне решить задачи. Это сильно осложняло рабочий процесс и усугубляло состояние проекта. В итоге я сменил место работы.
Это был неприятный опыт, но сейчас я рад, что пережил его. Он сделал меня сильнее. Больше я не работаю без технического задания и занимаюсь разработкой поэтапно: начиная с MVP.
Мои рекомендации
Проявляйте инициативу и будьте проактивны. Станьте звездочкой в коллективе, с которой берут пример и которой восхищаются. Учитесь отстаивать свою точку зрения, предоставьте аргументы. А главное, как говорил Конфуций: «Найди себе дело по душе и тебе не придется работать ни дня в своей жизни».
Косячат все и постоянно
Я освоила профессии Data Scientist и Data Analytic в буткемпе в 2024 году и, благодаря подготовке к собеседованиям, довольно быстро нашла работу: уже через 3 недели после начала поисков у меня было 2 оффера.
Сейчас я работаю аналитиком данных и в мои обязанности входит проведение ad-hoc исследований, A/B-тестирования, разделение пользователей для A/B-тестов и составление дашбордов. За время своей работы я поняла, что косячат все и постоянно. Это часть рабочего процесса.
Мой личный лайфхак: Часто ошибки происходят из-за непонимания специфики данных и задачи. Когда я только пришла на эту работу, мне передали проект со словами «у тебя есть один день, чтобы забрать все процессы». Все шло хорошо, пока я не стала запускать код во второй раз. Оказалось, что код моего коллеги рассчитывал абсолютную дичь. Ошибку пропустил техлид, тимлид и обнаружили ее уже в службе безопасности спустя 3 или 4 месяца, когда в очередной раз выгрузка ушла на проверку.
Внимательность — это всё
Многие ошибки случаются из-за спешки и невнимательности. Например, когда прибегают заказчики с криками «срочно-срочно, эти цифры нужны вчера!», у меня нет времени проверять код и я отдаю очень приблизительные цифры. Я знаю, что там, где я вижу свой факап, его никто, кроме меня, скорее всего, не найдет.
В нашей команде каждый сотрудник отвечает за свой «кусочек» рабочего процесса. Если мне прилетает задачка по чьей-то чужой вотчине, мне приходиться очень долго разбираться. Однажды я должна была повторить исследование коллеги, изменив лишь ID акций. Но в конце «тетрадки» цифры совсем не бились с тем, что было в этом же коде в начале. Я подняла на уши всех: команды продукта и маркетинга, дата-инженеров… А потом оказалось, что в конце кода просто отличаются фильтры для выгрузок.
Как предупредить ошибки
Чтобы уменьшить количество ошибок, я стараюсь всегда и везде делать фактчекинг: совпадает ли количество строк в дата-фреймах, количество пользователей. Обычно на этом этапе становится понятно, что где-то есть проблема. Если я не могу решить проблему самостоятельно, я прошу старшего коллегу или автора кода проверить его со мной. Я чувствую эмоциональный подъем, когда мне удается найти ошибку: «вот она, попалась!».
Между прочим, ошибки бывают не только технические. Например, один раз я задержалась в офисе до 21:30. Это был пятый рабочий день, я хотела доделать задачу. Мне позвонили все: бадди, тимлид, техлид, руководитель департамента. Каждый сказал мне: «в этой компании так не делают!». Звучало опасно! Я даже запереживала, что меня уволят.
Мой совет: если у вас есть возможность и время, перепишите чужой код самостоятельно и согласуйте с заказчиком методологию расчета. Лучше отвечать за свои ошибки, чем отдуваться за чужие. И не бойтесь ошибок. Косячить нормально.
Ошибка не новичка
Факапы случаются не только у неопытных специалистов, но и у айтишников с многолетним стажем. Рассказ следующего героя не заставит вас сомневаться в его профессионализме.
Я закончила буткемп в 2021 году и уже четвертый год работаю во фронтенде. Но даже богатый опыт не смог защитить меня от ошибки ↓
Моя история
На моей работе довольно сложная система взаимосвязанных проектов. Перед началом одного из релизов процесс приостановили из-за крита, требующего срочного хотфикс. Поэтому мы смогли продолжить процесс деплоя по стейджам только на следующий день. Такие сбои уже немного дезориентируют.
Как только деливери-менеджер дал отмашку о начале первого этапа релиза, меня отвлекли сообщения коллег. Из-за этого я, сама не знаю как, допустила ошибку джуна — пропустила этап актуализации всех веток. Это привело к тому, что был произведен непреднамеренный откат мастер-системы до более ранней версии.
Как я обнаружила и исправила свой факап
Свою ошибку я обнаружила уже после прохождения стенда предпрода. Что я сделала? Первым делом — запаниковала. Затем я взяла себя в руки и начала выяснять, что именно могло быть перезатерто. Я провела поверхностные regress-тесты и, в конце концов, сообщила лиду о случившемся. Благо все модули проекта в наших релизах имели измененный патч и минорные версии. Так что обратная совместимость была гарантирована. Благодаря руководителю мы быстро нашли решение и актуализировали мастер-систему наших микрофронтов, поэтому ничего страшного не случилось.
Потом меня ждал не очень приятный разговор с руководителем, но этот опыт многое мне дал: я стала лучше понимать некоторые аспекты процесса и теперь я всегда составляю план релиза вне зависимости от его сложности.