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

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

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

Книги: https://boosty.to/time2code
Download Telegram
Хайлайты 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
Декабрь 2025:

🍾 Всех с Наступающим Новым Годом! Пусть год будет спокойным, счастливым и плодородным.

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

✔️ 31 декабря — «отличное» время для донаписания селф-ревью. Но, наконец, оно готово и можно расслабиться.

✔️ Толк подвел статистику и выяснилось, что у меня количество встреч за год выросло в x1.2 по сравнению с прошлым (23 506 минут за год)

✔️ Написал архитектурный документ по незнакомому домену(финтех).

✔️ Отревьюил много TDR'ов.

✔️ Изучал разное с точки зрения ФП: OCP, LSP, ISP

✔️ Устал.

посты

⭐️ Самое сложное в разработке -> читать

🔖 Замедлиться -> читать

🔖 Приходит фичафриз, но как продержаться до конца года? -> читать


#дайджест

@time2code
2
Итоги 2025 🎆

Второй год подряд я ставлю годовые цели, используя OKR.

У меня было 4 амбициозных цели. Каждая со своим приоритетом.

Жесткая приоритизация целей — это то, что решил попробовать в 2025. И это хорошо сработало: я фокусировался на достижении максимального приоритета, оставляя в тени все остальное.

Итак посмотрим, что получилось.

Здесь я предлагаю перейти в удобный Web View и прочитать в моем блоге подробности:

↘️ https://novikov-ai.github.io/ru/posts/year-highlights-2025/

TLDR

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

Да, не все получилось, но ретроспективно могу сказать, что годом и своим перформансом доволен.

Анализируем, делаем выводы, двигаемся дальше.

#итоги

@time2code
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍2🔥1
Экранное время — убийца твоего времени

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

Одним из векторов станет радикальное уменьшение экранного времени использования телефоном.

В среднем за неделю (по статистике айфона) мое экранное время в день составляет 3-4 часа, а это 15% времени от всего дня.

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

Маленькие шаги

Что делать? — Есть 2 лагеря мысли (наверняка, есть больше, но в моей голове их два).

1 🏕Тотальное ограничение

Мы сразу отказываемся от потенциальной проблемы.

Есть зависимость на соц.сети? — Перестаем заходить во все, что скроллится. Много ешь? — Перестань и так далее.

Раньше было модно даже удалять аккаунты. Помню много ситуаций в ВК: "Удалил свою страницу со словами:"... Особенно было комично это наблюдать по несколько раз у одного и того же человека.

2 🏕Постепенное уменьшение

Так как я продуктовый разработчик, то я за инкрементальный подход: сделали что-то на 5% — наблюдаем за ощущениями, если все хорошо, то продолжаем.

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

Вектор атаки

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

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

Метрика

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

Посмотрим как изменится среднее время.

Если всегда хотели тоже привести свое экранное время в порядок, то предлагаю челлендж (в треде подробности).

@time2code
4🔥4
Ваша видимая зона роста

В пятницу принял участие в выпускном мероприятии внутренней программы по росту инженеров.

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

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

Что заставило сомневаться в участии?

Страх

1. Может что-то не получиться.

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

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

2. Будешь не успевать.

Так или иначе, любая проектная работа добавляет нагрузки. Влияет даже дополнительная встреча раз в 2 недели, так как это:

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

Синергия

Ретроспективно могу сказать, что страхи не оправдались.

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

Из опыта

Очередное подтверждение тому, что страх — это ваша видимая зона роста.

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

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

Практикую такой подход уже более 10 лет, и он ни разу не подводил.

@time2code
4👍3
Нужен ли вам помощник, за которым нужно все проверять?

Дано: Claude на Pro-подписке за 22€, модель Sonnet 4.5.

Найти: Объем краски для покраски определенной площади с учетом тары производителя.

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

И Claude почти справляется, почти.

Особенно интересно наблюдать за его рассуждениями (см. скрин).

Что могло повлиять

1️⃣ Промт

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

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

2️⃣ Кириллица

Есть ощущение, что чат на английском дает лучшее качество ответов.

Выводы

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

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

@time2code
2👍2💯1
Январь 2026:

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

✔️ Спроектировал Митап-подобную платформу под 100M DAU для сдачи финального проекта по курсу, который проходил прошлой осенью.

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

✔️ Осознал главную особенность System Design, которая позволит вам мыслить о системе на другом уровне (конечно, обсудим отдельно).

✔️ Подружился с платными Клодом и определился с AI-сетапом для разработки и жизни.

✔️ Немного поразвлекался с квантовыми вычислениями по материалам Майков: Quantum Katas.

✔️ Пробил отметку 1700 в блице на lichess и нашел тренера по теннису.

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

Спойлер: будем ставить и достигать цели по-новому.

посты

⭐️ Экранное время — убийца твоего времени -> читать

🔖 Нужен ли вам помощник, за которым нужно все проверять? -> читать

🔖 Ваша видимая зона роста -> читать

🔖 Итоги 2025 -> читать

#дайджест

@time2code
🔥64
AI-усталость

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

Современный блогинг

А еще вчера в десктопной версии телеграма заметил фичу (не знаю на премиуме ли? — напишите, пожалуйста, если у вас такой фичи нет), которая позволяет делать саммари постов при помощи не так давно презентованной Дуровым Confidential Compute Open Network.

То есть классический блог превратился в следующее:

1. Писатель с идеей (надеемся, что идея есть): "AI-напиши".
2. Читатель/подписчик: "AI-сожми".
3. По итогу получаем дистиллированный текст, в котором осталась суть, которую AI посчитал сутью.

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

Возможно. Но некоторых таких авторов я читать перестал вплоть до отписки.

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

Триггеры резонанса

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

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

Именно по этой причине, уверен, что классическая литература никуда не денется, AI не подберется даже близкой к ней, а различные сжатия и концентраты литературы — пустая трата железа и токенов.

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

Чтобы лучше понять мою мысль рекомендую прочитать "Цветы для Элджернона" — небольшую книжку с гениальной, на мой взгляд, стилистикой изложения, которую не видел больше нигде в литературе.

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

Но пока идет активная фаза развития технологии, придется потерпеть.

@time2code
8🔥4👍2💯1
Как Tower Defense может помочь разобраться с архитектурой

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

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

Хотелось сделать симулятор построения веб-архитектуры, через которую впоследствии можно пускать трафик и проверять решение на прочность + добавить различные приколы с DDoS-атаками, отказами DC и пр.

То есть на вид — классический Tower Defense.

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

Из описания:
Tower defense game that teaches cloud architecture. Build infrastructure, survive traffic, learn scaling.


Проект стартовал в ноябре прошлого года, но уже получил 600+ форков и 5K звезд на Гитхабе.

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

Какие можно сделать выводы?

1. Придумали что-то революционное? — Проверьте сразу на предмет аналогов.

Нет аналогов? — Идите и сразу реализуйте MVP.

Идеи ценны только в зарелиженном виде и своевременно.

2. Если не понимаете как верхнеуровнево работает WEB или готовитесь к очередной секции по system-design, то рекомендую посмотреть этот симулятор, сделан неплохо.

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

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

P.S.: Если знаете подобные симуляторы, то пишите, пожалуйста, в тред. Давайте соберем список.

@time2code
👍52