Новиков > путь в Big Tech – Telegram
Новиков > путь в Big Tech
184 subscribers
94 photos
192 links
От зеро-кодинга на стройке до написания высоконагруженных сервисов в Big Tech. 

Пишет SWE в Avito.ru (backend), в прошлом: .NET developer и сертифицированный специалист по использованию BIM.

Написать автору: @nvkv_ai

Книги: https://boosty.to/time2code
Download Telegram
🌚 Темная сторона Биг Теха

Пронзительный крик души L5 разработчика, который проработал в Amazon Web Services в Лондоне 3 года.

Предлагаю всем ознакомиться, кто мечтает о работе в Биг Техе, особенно в MAANG.

Пост читается за пару минут на одном дыхании.

Хайлайты

человеческая нервная система может в какой-то момент не выдержать


1️⃣ Работа в "Больших" компаниях сопряжена с регулярным стрессом, так как разрабатываете продукт, которым пользуются тысячи и миллионы пользователей.

"let's keep rollout aside"


2️⃣ При разработке фичи не учитывается ее раскатка, так как это сопряжено с серьезным риском в виде побочных эффектов на пользователей.

первые 15-20 минут митинга вы будете молча читать


3️⃣ Ни у кого нет времени на чтение документа по разрабатываемой фиче, поэтому для этого бронируется слот в календаре.

GenAI истерия совершенно неадекватная


4️⃣ Важно использовать GenAI в работе (всегда).

вы сидите 40 минут, играя в мафию: кто ж из нас недоволен


5️⃣ Регулярные опросы лояльности могут раздражать.

у всех уже такое восприятие, что ну ты прям L6


6️⃣ Промо не зависит напрямую от результата твоей работы.

Релиз проекта, который я сделал за 2 недели, занял полтора года...


7️⃣ Невероятно низкий TTM, из-за чего страдает удовлетворенность работой. Раскатка изменений может занимать N времени (месяц и более).

. . .

Не смотря на такие предосторожности и низкий TTM новых фичей, серьезные падения случаются даже у таких корпораций.

Здорово, что есть практика публичного разбора инцидентов. Например, что происходило 20 октября с AWS, можно изучить здесь (спойлер: виноват DNS).

Интересно, что самые разрушительные изменения обычно вызваны не деплоем каких-либо серьезных изменений, а чем-то минорным (имею в виду по loc) в виде правки нескольких строчек конфига.

Из опыта

Я тоже проработал в РФ Биг Техе 3 года и не могу не замечать определенные сходства...

Конечно, ситуация в Amazon гипертрофирована, если проецировать на наши реалии и сравнивать с РФ-компаниями, где сотрудников несколько десятков тысяч (для справки: в Amazon AWZ работает 127.000 человек).

Но что, если такой тренд неизбежен, и это то, как сейчас работают все Биг Техи и то, во что они эволюционируют со временем?

Такая тенденция огорчает, и для меня является главным недостатком действительно больших компаний и основной причиной не работать в них.

@time2code
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Highload. Инструкция по выживанию

Прошло 2 года с посещения конференции для разработчиков высоконагруженных систем Highload++ 2023, которая для меня стала первой в статусе Go-разработчика.

Уже описывал достоинства и недостатки подобных мероприятий. С того времени мало что изменилось за исключением цены, которая выросла в 1.5 раза.

Ценник для личного участия я бы назвал заградительным,(убежден, что есть более полезное приложение для 100K), поэтому основная аудитория — корпорации, для которых не составит никакого труда отправить вас на конференцию за счет бюджета на обучение или как выступающего с докладом.

У меня тоже есть желание выступить с интересной темой на конференции, но так как задаю себе высокую планку полезности контента на такую широкую аудиторию, то с этим пока глухо (с чем-то проходным выступать ради опыта не вижу смысла).

Выбрать цель

Без цели на конференции можно легко праздно провести время.

Полезными могут быть:

- новые знания (лучшие практики), которые можно внедрить в процессы компании;
- поиск возможных решений проблемы/задачи;
- нетворкинг или поиск новых клиентов;
- поиск работы — многие передовые компании будут представлены со стендами, но лучше, конечно, идти через нетворкинг напрямую;
- поиск идеи/темы для исследования.

Самая полезная конференция (и первая в карьере) случилась в 2017 году, у меня было 2 цели:

1. Поиск возможного решения по использованию информационного моделирования в эксплуатации (задача компании).
2. Материал для написания магистерской диссертации (+поиск наставника).

Обе цели были достигнуты, и на выходе я получил несколько идей, которые помогли реализовать задуманное в рабочем проекте. Также я привез много материала для диссертации и обзавелся полезными контактами в сфере.

В этом году я еду с комбинированной целью: прощупать пульс IT-индустрии, найти новые практики, которые можно внедрить в процессы компании, и нетворкинг.

Спланировать

Планирую план посещения конференции формировать с учетом описанных целей выше. Лучше подготовиться заранее, накануне, чтобы не пытаться планировать в центре многотысячной толпы (пробовал, неудобно).

Активно участвовать

Если вы простой слушатель на конференции и по своей природе интровертны, то будет нелегко выжать из мероприятия максимум. Знаю на своем опыте.

Поэтому я всегда стараюсь вовлекаться: задавать интересные вопросы спикерам, участвовать в воркшопах, обсуждать прочие вопросы в кулуарах.

Сейчас многие конференции можно слушать онлайн, но я такое не практикую, так как теряется весь смысл (нетворкинг) и дух большого мероприятия.

А вы видите пользу от профильных конференций? Принимаете очное участие или онлайн?

> Если тоже будете на Хайлоаде 6-7 ноября и готовы встретиться, то пишите — попьем кофе.

@time2code
Октябрь 2025:

ключевые события

✔️ Потушил пожар на проде: сервис стал "захлебываться" из-за возникших блокировок у PG, очередь новых сообщений ощутимо стала расти вместе с лагом на сохранение... Хорошо, что лучшие практики не подвели (была и внутренняя очередь с ретраями, был и fallback при деградации сервиса), поэтому на пользователях это не отразилось.

✔️ Изучил основные характеристики хорошего кода: законченноть, понятность, эволюционность. Попрактиковался находить их в своих проектах.

✔️ Рассмотрел как можно улучшать функции, применяя SRP с точки зрения ФП.

✔️ Долгожданные 14 дней почти беспрерывного отпуска, за которые удалось собрать внушительный INBOX задач и проектов, создающих серьезное фоновое напряжение (большую часть за время отпуска закрыл).

✔️ Очередные 21K уже не стали чем-то необычным, но приятно, что удается за 1:50 их пробегать.

✔️ На курсе по SD выбрал проект и описал FR + NFR (отдельно поделюсь изысканиями).

посты

⭐️ Собираем требования -> читать

🔖 Боль при переезде на новое железо осталась в прошлом? -> читать

🔖 Лучшее, чем можно заняться в отпуске* -> читать

🔖 Темная сторона Биг Теха -> читать

#дайджест

@time2code
👍1
Хайлайты Highload

Если все сделали правильно, то по итогу зарядились энергией большого мероприятия и продуктивно провели время.

Одна из неочевидных возможностей подобных мероприятий — лутать мерч и подарки от различных компаний.

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

Общее впечатление

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

Удалось неформально пообщаться с коллегами из других Биг Техов, узнал как жизнь у них, и по итогу понял, что все большие компании +- живут одинаково, как с точки зрения процессов, так и каких-то бенефитов.

Возможно я выбирал не самые хардовые доклады, но мне показалось (и не только мне по разговорам), что общий уровень конференции стал постепенно снижаться в плане сложности.

5 лайков и выложу топ 10 рекомендаций по работе с БД от сразу двух лекторов из самой большой аудитории. Несмотря на то, что зал на эту презентацию был битком, многие критиковали уровень доклада.

Итог

Достиг ли я поставленных целей? — Еще бы.

Комбинация нетворкинга, выбора правильных докладов, активного слушания и задавания вопросов — не подвели.

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

@time2code
👍10🤓1
Топ 10 рекомендаций по работе с БД с Хайлоада

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

↘️ https://novikov-ai.github.io/ru/posts/database-tips/

Если нет времени читать блог или вчитываться в слайд и делать какие-то выводы, то вот самая суть — фактически готовый рецепт по работе с БД:

1. Ограничивайте пул коннектов, ставьте PgBouncer если нужно.
2. Транзакция = один коннект; держите транзакции короткими.
3. Не держите коннект в простое и не делайте внешние вызовы внутри транзакции.
4. Вынесите HTTP в outbox/после commit.
5. Аналитика и тяжёлые запросы — на реплику или в DWH.
6. Индексы — подумайте перед созданием; composite > набор отдельных.
7. Переписывайте OR/NOT/IS NULL в эквивалент, чтобы сохранить индекс.
8. Планируйте keyset pagination заранее.
9. JSON — удобно, но не для часто фильтруемых полей.
10. Профилируйте, измеряйте, затем применяйте «нетипичные» архитектурные приёмы.

Если знаете другие рецепты по работе с БД, проверенные временем и продом, пожалуйста, делитесь ⤵️

@time2code
👍6
Почему я стал писать еще меньше кода?

И нет, AI меня пока не заменил.

2.5 года назад уже было мое ворчание по этому вопросу, и я решил его продолжить.

Не всем может быть очевидно (я из прошлого точно бы не поверил), но синьор-разработчики пишут в разы меньше года, чем мидлы.

Делаем ремарку, что это применимо не во всех областях. Есть скилловые ребята, которые занимаются системной, платформенной разработкой или поддержкой инфры, поэтому тут возможны отклонения.

Но я работаю в продукте и сейчас пишу про него.

Хлеб синьора

Десятки пул-реквестов и различных документов, дизайн-ревью новых архитектур и сотни комментариев к ним.

Бесконечные обсуждения работы нового домена и прочие коммуникации — хлеб старших инженеров в команде.

Про дофамин

С одной стороны, это закономерно, но с другой — легко заскучать по временам, когда есть код и ничего кроме кода.

Код написан, ревью пройдено, продакшн не упал — вы великолепны 🙂

Сейчас дофамин стал более сложным. Его нужно научиться добывать, когда твой результат недетерминирован.

Что делать?

Осознать, что с эволюцией в карьере меняются также и задачи.

Применять новые подходы и по-другому оценивать результат своей работы.

И, конечно, научиться получать удовольствие от нового, если это целиком не противоречит вашей конституции.

@time2code
💯4👍2
Ноябрь 2025:

ключевые события

✔️ Познакомился с базой по ассемблеру x86/x64, написал простенькую консольную игру (код).

✔️ Попрактиковался разделять ответственность широких интерфейсов на более узкие, чтобы реализация зависела от того, что действительно необходимо.

✔️ Продолжаю активную работу с менти. Двум человекам уже удалось закрыть запросы, которые были сформированы на менторство 3 и 6 месяцев назад, сейчас формируем следующую цели.

✔️ Провел десятки код-ревью пул-реквестов и написал комментариев больше, чем строк кода.

✔️ Написал серьезный архитектурный документ по миграции нашего сервиса из одной доменной модели в другую. Значительно улучшил свои знания о работе с системой, планирую поделиться с командой на воркшопе.

🪫 Случился классический перегруз под конец года: времени, энергии и мотивации перестало хватать, поэтому по курсу по SD просрочил все DL на сдачу проектов и договорился перенестись на следующий поток.

посты

⭐️ Хайлайты Highload -> читать

🔖 Топ 10 рекомендаций по работе с БД с Хайлоада -> читать

🔖 Почему я стал писать еще меньше кода? -> читать

#дайджест

@time2code
🔥5
🗣️ Самое сложное в разработке

Неочевидно, но самое сложное в любой сфере (программная инженерия не исключение) — это коммуникации.

В разработке это ухудшается тем, что многие технически сильные специалисты имеют слабые навыки коммуникации.

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

. . .

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

Зафиксировали зону ответственности каждого и ожидания.

Спустя месяц получили новую архитектуру существующей системы, которая решала большой спектр задач, включая и нашу, но ресурсов на разработку требовала в разы больше.

Это был явно не MVP и совсем не то, о чем мы изначально договорились.

Причины могли быть разные: от обыкновенного недопонимания до политической игры, где под видом одной договоренности команда решила закрыть какие-то свои потребности.

В итоге пришлось эскалировать ситуацию на другой уровень, после чего, наконец, всем удалось выровняться и договориться о решении.

Потребовалось почти 2 месяца, чтобы найти понимание.

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

Могло ли это произойти раньше?

— Со своей стороны мне сложно ответить, так как не обладаю всем контекстом и ответственный только за технику.

Пусть этот вопрос останется открытым.

Но ощущение, что регулярные хелс-чеки и инкрементальный подход помогли бы сгладить и эту ситуацию.

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

@time2code
👍4🔥31
Новиков > путь в Big Tech
⚡️ Сколько у вас энергии под конец года?
Замедлиться

Приятно видеть, что более половины ответивших или полны энергии, или имеют неплохой запас для эффективной работы.

Восхищаюсь такими людьми. Как вам удается?

Признаться, у меня год был высоко интенсивным, поэтому сейчас чувствую истощение.

Возможно, стоило лучше планировать отпуск или «работать не усерднее, а умнее».

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

Рефлексировать, как обычно, буду позже, но сейчас хочется явно замедлиться.

Это недостаток работы в IT.

Невозможно постоянно быть в ресурсе и мощно перформить. Это очень быстрый путь к выгоранию и отторжению того, что вы делаете.

Поэтому я плавно последние месяцы стараюсь переходить в энергосберегающий режим.

Пусть не все поставленные цели за год я выполню и не все запланированное успею завершить, но тот небольшой объем скопленной энергии под конец года поможет мне спокойно завершить год и подготовить себя к следующему.

@time2code
🔥42👍1
🥶 Приходит фичафриз, но как продержаться до конца года?

У нас было 3 неоцененных, 2 недописанных TDR'а, 1 селф-ревью и 10 дней перед Новым Годом...

Для кого-то время фичафриза очень благоприятное: если что-то нужно было успеть, вы или успели, или нет — в любом случае уже можно расслабиться; кто-то считает раз новые выкатки фичей заморожены, то ничего плохого не должно случиться и тоже начинает потихоньку отдыхать; а кто-то продолжает работать.

Работаем

У меня 2025-ый прошел под флагом архитектурных документов.

Их было немало написано, а еще больше — прочитано.

Забавно, но это первый фичафриз, от которого я никак не зависшу в плане своей работы.

Документ должен быть написан и заревьюен в не зависимости от того можно ли что-то катить на прод или нет.

Поэтому предвкушаю интересные полторы рабочие недели, в которые нужно будет еще как-то уместить предновогоднюю суету...

По-доброму завидую тем, кто взял отпуск на последнюю неделю и уже отдыхает.

Я же вчера принял очередное решение по дисциплинированию себя, иначе ничего не успею.

Приятное

Но есть и приятное: ребята, менторством которых занимаюсь, достигают своих целей на менторинг и дают хороший фидбек, а это всегда отрадно.

А еще среди коллег в среду организуем турнир по шахматам Фишера, если ни разу не играли, то порекомендую ;)

Все это ^ заряжает энергией и помогает достигать своих целей, переключая контекст с рабочих задач.

Совет

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

Пусть приятные моменты дадут сил продолжать.

Или уже отложите в корзину "после январских".

@time2code
🔥3