Аватар канала Андрей Марченко Dev заметки

Андрей Марченко Dev заметки

@andrey_marchenko_notes

Мои @tom910 заметки о IT, Node.js, Web и процессах

1,320подписчиков

Открыть канал

Последние посты

  • Андрей Марченко Dev заметки

    4 сент., 15:30

    Выше требования по коммуникацииЭто то, что меня особенно удивило.Уровень коммуникации у некоторых Principal инженеров здесь лучше, чем у большинства VP, которых я встречал в Тинькофф. И именно это долго меня тормозило.Тебе нужно показывать лидерство среди других людей, которые сами очень хорошо умеют брать инициативу на себя, и при этом ещё хорошо презентовать свою работу.В Тинькофф я довольно много писал статей и старался публично показывать, чем занимаюсь и почему это важно. Но Meta здесь на совсем другом уровне.Тут есть сильная культура написания и шаринга документов о своей работе, анонсов, апдейтов и результатов. То, что казалось мне «много» в Тинькофф, по факту оказалось довольно мало в Meta.В итоге я научился намного лучше продавать то, что сделал, и лучше показывать ценность даже не самых больших улучшений.Хотя мне всё ещё далеко до некоторых Principal инженеров,
    453311051Открыть в Telegram
  • Андрей Марченко Dev заметки

    4 сент., 15:30

    Promotion сильно зависит от команды и проектаPromotion сильно зависит от того, в какой команде и на каком проекте ты оказался.Нужен проект, в котором вообще есть scope для роста, менеджер, который помогает этот scope получить, и достаточно задач, где можно показать заметный результат через метрики.При этом недостаточно просто сделать работу. Нужно ещё правильно преподнести результат и нормально зафиксировать его в документах и артефактах, чтобы потом на это можно было ссылаться в performance review и promotion case.Поэтому, если в команде просто нет подходящих проектов, сделать promotion становится намного сложнее, независимо от того, насколько хорошо ты работаешь.В моём случае у меня уже была экспертиза в Performance и SRE, поэтому я начал работать над этим практически с первого дня.В команде уже был человек, который отвечал за эту область, поэтому сначала я скорее помогал
    4271432Открыть в Telegram
  • Андрей Марченко Dev заметки

    4 сент., 15:29

    Требования стандартизированыPromotion хорошо описаны, и у людей вокруг есть понимание, что именно требуется от тебя. Ожидаются определённые проекты, результаты и поведение.С одной стороны, это сильно упрощает рост. С другой, создаёт ту самую конкуренцию за scope и возможность закрывать нужные требования. Все хотят кого-то вести, помогать, задавать direction и брать ownership.А значит, тебе нужно быть в правильной команде и иметь хорошие отношения с менеджером, чтобы получить нужные проекты и его поддержку.Тут и появляется проблема: повышение сильно зависит от стабильной команды, проекта и менеджера. У меня с этим были проблемы, но повезло, что сохранялся один и тот же менеджер менеджера, с которым были хорошие отношения и который периодически подкидывал мне критичные проекты.Сколько реально заняло повышениеЯ с самого начала говорил менеджеру, что одна из моих целей это
  • Андрей Марченко Dev заметки

    4 сент., 15:28

    Получил повышение с Senior (IC5) до Staff (IC6) уровня после 2 лет работы в FAANG. До этого я также получил множество повышений в Тинькофф, с Middle до примерно Principal уровня, так что есть с чем сравнить. Поэтому решил написать небольшую заметку.В Meta я устроился на Senior позицию, с довольно большим понижением фактического уровня. Но это обычное явление, так как переход на другой язык сильно усложняет возможность доказать свой уровень. Да и в целом в американских компаниях не очень сильно котируют опыт из зарубежных компаний. Его обычно достаточно, чтобы пройти на Senior позицию, но выше уже начинают появляться вопросы.Поэтому я и перешёл с понижением, но с целью получить повышение хотя бы до Staff уровня. В итоге получилось.Выше конкуренцияПервое, с чем я столкнулся в Meta, это значительно более высокий средний уровень инженеров. Я бы сказал, как минимум +1 или +2 уровня
    47230127Открыть в Telegram
  • Андрей Марченко Dev заметки

    15 мая, 16:20изменён

    Так и появились интересные особенности:Работа с React/React Native/Relay-разработчиками - все легко поменять, так как это локальный код. Как итог, у меня есть N патчей и улучшений в React/React Native. Так же ты можешь просто пойти и поговорить с ними, попросить помощи решить свою проблему и даже повлиять на дизайн фич. Работа с реальными девайсами - так как мое приложение работает на девайсах, это сильно меняет разработку. Можно было посмотреть, как разрабатывают девайсы, как работает Android изнутри и как идет его разработка. Так же было интересно видеть развитие прототипов, когда девайс постепенно меняется и приходит к финальной стадии. Очень сильная внутренняя культура компании - интересно было видеть, как культура меняет разработку и влияет на людей. Особенно заметна разница между людьми, которые только пришли, и теми, кто работает в компании 8+ лет. При этом замечаешь и много
    1,1202614111Открыть в Telegram
  • Андрей Марченко Dev заметки

    15 мая, 16:20изменён

    Давно не писал в канал. 13 мая исполнилось 2 года, как я работаю в Meta и работаю над Quest-девайсами. Я разрабатывал магазин приложений - то место, где пользователи могут купить игры для девайсов. Все это время отвечал за производительность и работоспособность этого приложения + пилил фичи.За это время я очень много узнал и перестроил то, как работаю каждый день. Недавно ко мне пришла аналогия: я начинал в маленькой компании, которая даже не была IT, где разрабатывал на PHP и заливал код на удаленный сервер через FTP. Потом я перешел в Тинькофф, где процессы уже были на ступень выше. Так и Meta стала еще одним значительным прыжком по сравнению с прошлым опытом.Что я поменял в работе:Метрики - это то, чего мне не хватало в Тинькофф, и я даже создал первую версию Statist, чтобы решить эту проблему. При этом сейчас все инструменты работают отлично: куча данных, все быстро работает,
  • Андрей Марченко Dev заметки

    28 мар. 2025 г., 22:42

    Сейчас лечу в самолёте из отпуска, где есть бесплатный интернет от Starlink, и решил написать пост, потому что это сильно меняет впечатления от полётов, особенно если лететь больше 5 часов. Раньше приходилось заранее готовить контент: скачивать фильмы, ролики с YouTube или статьи, которые хотел почитать в самолёте. Да и вообще долгие поездки выбивали из привычного ритма. А с нормальным интернетом можно заниматься почти тем же, к чему привык за компом, только с дополнительным шумом и неудобным креслом.При этом соединение стабильное, скорость скачивания больше 50 Мб/с, пинг низкий — около 65 мс. В итоге можно делать большинство привычных вещей: смотреть стриминговые сервисы, включая Twitch, играть в некоторые онлайн-игры или писать код с привычными AI-инструментами.В общем, крутая штука, буду стараться выбирать перелёты, где есть нормальный интернет.
    Иллюстрация к посту канала Андрей Марченко Dev заметкиИллюстрация к посту канала Андрей Марченко Dev заметки
  • Андрей Марченко Dev заметки

    3 мар. 2025 г., 15:27изменён

    Всем привет, в статье про FAANG компании я обещал рассказать куда в итоге прошел. И вот результат - в этот понедельник был первый день в Meta в Калифорнии. Буду работать на позиции senior full stack разработчика в Oculus команде.
    Engineering at MetaRebuilding our tech stack for the new Facebook.comFacebook.com launched in 2004 as a simple, server-rendered PHP website. Over time, we’ve added layer upon layer of new technology to deliver more interactive features. Each of these new features an…
    2,460621771Открыть в Telegram
  • Андрей Марченко Dev заметки

    3 сент. 2024 г., 18:03изменён

    Сегодня я наткнулся на дискуссию вокруг Effector https://habr.com/ru/companies/vk/articles/839632/, когда одна из команд VK опубликовала пост с критикой и объяснением, почему они отказываются от этой библиотеки. Я следил за Effector с 2019 года и всегда считал, что он сложен и делает слишком большой акцент на управлении состоянием.Мой прошлый подходМне больше нравился подход с минимальным использованием глобального состояния и применением библиотек типа react-query, SWR, Apollo или Relay, которые берут на себя работу с загрузкой и обновлением данных. В этом случае менеджеры состояния используются только для хранения общих, глобальных данных, которых обычно не так много в большинстве приложений.Этот подход повлиял на разработку фреймворка Tramvai, над которым я работал. Вот что было внутри:- Простой менеджер состояния https://tramvai.dev/docs/features/child-app/state-management/
    3,1101752Открыть в Telegram
  • Андрей Марченко Dev заметки

    22 июл. 2024 г., 14:34изменён

    Всем привет, возвращаюсь с новой статьей: Edge Computing Demystified - From ISP Architecture to Global Content Delivery.Недавно читал в новостях, что выходит из строя оборудование Google, и из-за этого YouTube будет хуже работать в России. И тут я вспомнил, что сам работал 10 лет назад в мелком интернет-провайдере, который уже тогда имел оборудование от Google для кэширования статичных данных. По сути, это и есть Edge-технологии, которые стали популярны в реализациях Edge Computing/Functions/Workers. То есть Google, как обычно, придумал крутые технологии задолго до всех. Получается, что Edge — это не что-то хайповое, а уже давно проверенные технологии, которые работают внутри большинства крупных CDN-сервисов.В статье я разобрал, как схематично устроены интернет-провайдеры изнутри, почему Edge-оборудование — это спасение для них и youtube начнет тормозить, после выхода из строя их
    amarchenko.devEdge Computing Demystified - From ISP Architecture to Global Content Delivery - Andrei MarchenkoEdge computing is revolutionizing internet infrastructure by bringing computation and data storage closer to end-users. This article delves into the intricacies of Edge networks, from ISP architecture to global content delivery systems. We explore how Edge…
  • Андрей Марченко Dev заметки

    14 мая 2024 г., 20:04

    Всем привет, в статье про FAANG компании я обещал рассказать куда в итоге прошел. И вот результат - в этот понедельник был первый день в Meta в Калифорнии. Буду работать на позиции senior full stack разработчика в Oculus команде.
    Иллюстрация к посту канала Андрей Марченко Dev заметкиИллюстрация к посту канала Андрей Марченко Dev заметки
  • Андрей Марченко Dev заметки

    8 мая 2024 г., 14:20изменён

    Всем привет! Написал очередную статью с разбором Technology Radar 30 от ThoughtWorks. ThoughtWorks — это консалтинговая организация, в которой работают крутые инженеры, такие как Martin Fowler и Neal Ford. Каждые полгода компания ThoughtWorks выпускает список технологий, в которые они верят и которые начинают использовать. Последние семь лет я активно слежу за этим списком, так как он помогает мне понимать, куда движется IT-сфера и какие технологии я мог пропустить, находясь в своем информационном пузыре.В этом выпуске делается акцент на AI/ML/LLM инструментах и новых сервисах, построенных на их основе, а также на решениях, которые помогают создавать подобные приложения. А также Infrastructure as Code для описания инфраструктуры проекта на языках по типу TypeScript.В моем блоге вы можете найти разбор списка технологий по категориям с небольшим расбором, зачем все это нужно:
    amarchenko.devReview of Technology Radar 30 - Andrei MarchenkoThe Technology Radar is a list of technologies that the editors at Thoughtworks consider important and valuable to try. I read each edition of their Technology Radars because they usually provide a list of new approaches and services, and it helps me validate…
    3,6601831Открыть в Telegram
  • Андрей Марченко Dev заметки

    7 мая 2024 г., 15:51

    переслано из @web_platform

    Собрал для вас в одну папку авторов, ведущих блоги по фронтенду, веб-разработке и вокруг неё.🔗 https://t.me/addlist/Z6Efi4jXwe9lODcyСпециально отобрал именно ламповые авторские блоги, а не перепосты ссылок, документации или тексты не про код.Для меня это хороший способ следить за реакциями о событиях индустрии. Например, конференции проходят не так часто, и контент с них становится общедоступным не сразу. Кроме того, там обычно рассказывают о чём-то эпичном, не сиюминутном, так как формат обязывает. А вот в авторских бложиках (и комментариях к постам) можно собрать цельную картинку происходящего в рутине, и не просто факты, а именно авторскую интерпретацию и комментарии.Надеюсь, будет полезно ✌️@web_platform | Поддержать канал 🤝
  • Андрей Марченко Dev заметки

    13 мар. 2024 г., 10:50изменён

    Привет всем! Опубликовал новую статью в своем блоге о NewSQL. Последние три месяца я много изучал то, как работают базы данных внутри: прочел несколько книг, прошел несколько курсов (кстати, у MIT прям отличный курс на эту тему), а также изучил ряд papers. В итоге, на основании всего изученного, получилась эта статья.Меня давно интересовал вопрос, как устроены новые типы баз данных NewSQL. Если с работой PostgreSQL и в общих чертах с Cassandra было понятно, то оставались вопросы относительно таких систем, как Google Spanner или FaunaDB, предлагающих высокую консистентность и масштабируемость. Как они могут решить все сложности и почему они еще не стали универсальным решением и не сместили предыдущие поколения?В статье вы найдете разбор SQL и NoSQL баз данных, подробный разбор NewSQL на примере FaunaDB, а также обзор Consensus протоколов, таких как Raft и Multi-Paxos, лежащих в
    amarchenko.devNewSQL in Depth Understanding Its Consistency and Scalability Features - Andrei MarchenkoNewSQL databases are not widely discussed in the database world
    3,02020521Открыть в Telegram
  • Андрей Марченко Dev заметки

    18 янв. 2024 г., 09:09изменён

    Всем привет! Возвращаюсь с новым постом. За последние три года я трижды пытался пройти собеседование в FAANG, и этот процесс занял у меня почти три года. За это время я ознакомился с огромным количеством материалов, связанных с прохождением интервью: просмотрел десятки часов видеоматериалов, изучил множество статей и историй других кандидатов.В итоге я выделил пачку ключевых моментов, на которые стоит обратить внимание при собеседовании, особенно в Big Tech и FAANG компаниях, где достаточно сложные интервью, отличные от того, к чему я привык. Когда требуется специальная подготовка и формат ответов.В итоге написал статью в которой рассказываю о: - Различных типах компаний; - Нужен ли хороший английский на интервью? - Моём подходе к Coding/System Design/Behavioral интервью - Количестве задач, которые я решил, и моих рекомендациях по подготовкеСаму статью можете почитать в моем блоге
    amarchenko.devCracking the FAANG Interview. My experience and recommendations in 2024 - Andrei MarchenkoI have tried to pass interviews at FAANG companies three times. Each time, I increased the amount of time I spent preparing for the interview. Over the years, I have read and watched a lot of information related to interview preparation. In this article,…
    5,85041121Открыть в Telegram
  • Андрей Марченко Dev заметки

    16 дек. 2023 г., 19:12изменён

    Всем привет, давно я не писал новых статей, так как активно готовился к собеседованиям к FAANG компаниям. Пока жду результатов. Делюсь новой интересной статьей не под моим авторством, но содержащую интересную информацию про базы данных, основные проблемы и подходы: - CAP-теорему - LSM Tree – это популярный дизайн баз данных, наподобие Cassandra - Bloom filters, позволяющие, не расходуя большой объем памяти, понять, обрабатывал ли ты ранее элемент - Consistent Hashing – алгоритм распределения данных между хостамиСтатья https://tontinton.com/posts/database-fundementals/ . В общем, советую почитать. Особенно если вы – full-stack или бэкенд-разработчик, так как все это необходимо знать для успешного прохождения system-design собеседований.Также одна из интересных для меня тем – это реализация небольшого прототипа системы. Я подумываю написать на Node.js простую базу данных, которая
    2,530201341Открыть в Telegram
  • Андрей Марченко Dev заметки

    19 окт. 2023 г., 13:19изменён

    Всем привет. Написал очередную статью. На этот раз про архитектуру и фреймворки. Ранее мне часто попадался новый фреймворк Service Weaver от Google для Golang, так как инженеры Google активно участвует в конференциях и рассказывают про этот фреймворк.Первая мысль: "Очередной фреймворк, ничего интересного". Но на деле этот фреймворк реализует интересную модель, когда во время деплоя можно выбрать, как именно проект будет задеплоен - как множество микросервисов? Как модульный монолит? Или как множество модульных монолитов?И это определенно необычный подход, который позволяет решить ряд проблем микросервисов. В статье подробнее разбираю, как работает эта "магия" внутри, на основе каких компонентов построен Service Weaver и как это можно реализовать в Node.js.Статья доступна на английском: https://amarchenko.dev/blog/2023-10-19-service-weaver/
    amarchenko.devHow to combine Microservices and Modular Monoliths together - Andrei MarchenkoMicroservices have been a popular topic for the past 10 years. In the first 5-7 years, almost all companies migrated from monolith applications to microservices. However, in the last 3-5 years, there have been a lot of complaints about microservices. However…
    3,6301421Открыть в Telegram
  • Андрей Марченко Dev заметки

    12 окт. 2023 г., 15:20изменён

    В своей статье я использовал расширение deoptexplorer-vscode https://marketplace.visualstudio.com/items?itemName=rbuckton.deoptexplorer-vscode для сбора профайл информации V8 и последующего удобного просмотра. На удивление все это легко можно запустить, расширение имеет хороший UI. А значит это: - Рабочий инструмент для создания оптимизированных библиотек - Позволяет понять на примерах механизмы работы V8, включая концепции, такие как hidden-classes, turbofan, Monomorphic, Polymorphic, Megamorphic, PACKED_SMI_ELEMENTS и прочее.
    Visualstudiodeoptexplorer-vscode - Visual Studio MarketplaceExtension for Visual Studio Code - V8 Deoptimization Explorer Extension for VS Code
  • Андрей Марченко Dev заметки

    12 окт. 2023 г., 15:10изменён

    Привет всем! Опубликовал новую статью на тему Memory Cache. Тема кэширования меня всегда привлекала своей вариативностью и отсутствием универсального решения. В прошлом, я уже реализовывал простые версии LRU cache, в том числе и на собеседованиях. Недавно наткнулся на исследование нового алгоритма кэширования — S3-FIFO. Он ещё не был реализован для JS, и это меня заинтересовало. S3-FIFO отличается простотой, но при этом по обещаниям обеспечивает отличную производительность и высокий hit rate.В статье найдете:- Зачем нужен Кэш и почему важен hit rate? - Разновидности алгоритмов кэширования: 2Q, LRU cache, S3-FIFO. - Возможные угрозы: как атака на кэш может нарушить работу приложения. - Детальное рассмотрение и реализация S3-FIFO. - Результаты тестирования в плане производительности и cache hit. - Бонус: профилирование кода в V8 и поиск мест деоптимизации.Статья доступна на
    amarchenko.devWriting Efficient Memory Cache Algorithms [part 1] - Andrei MarchenkoCache is a crucial component of many systems. It helps reduce resource consumption and improves the timing of our systems. Often, I've observed the Node.js community focusing on the speed of cache algorithms. However, a cache algorithm primarily has two parameters…
    2,2702362Открыть в Telegram
  • Channel name was changed to «Андрей Марченко Dev заметки»

    2 окт. 2023 г., 11:19