Front-End Engineer Blog
4.98K subscribers
36 photos
101 links
Hi, my name is Evgenii Ray. I'm SWE at Meta. Here is my place for posting notes about UI, career and personal development

Welcome on board 🚀
Contact: @evgeniiray
Languages: English, Russian
Download Telegram
Tech Lead (TL) - aka архитектор, из сложной и непонятной проблемы, делает проект, пишет начальный архитектурный док, разбивает все на воркстримы, назначает лида на каждый ворк-стрим, имлементит самые сложные и непонятные части - делает kick-off проекта. Как только проект начинает работать как часики, рабоает с ПМ (продукт менеджер и продуктом генералистом), выясняя и проектируя дальнейший скоуп.

Плюсы:
1. Делаешь много архитектуры и много думаешь в рамках большой системы
2. Остаешься программистом, пишешь самые сложные части
3. Прямое влияние на продукт через постоянно общение с ПМ и ПГ
4. Увеличиваешь свою ценность на рынке, как стафф программист

Минусы:
1. 50-60% времени будет уходить на написание архитектуры и общение
2. Нужно учитывать интересы людей, давать вменяемые по сложности задачи и много планировать
3. Ты никогда не закончишь проект целиком - твоя роль: кик-стартер, запустить проект и начинать максимально делегировать.
4. Достаточно стрессово, так как ты совмещаешь в себе мини-пма, архитектора и программиста.

Product Gen (PG) - aka программист, который стал ТПом. Твоя задача - работать с тех-лидами, соединять под-команды и налаживать паралельную работу. Нужно отлично понимать архитектурные спеки всех под-команд с которыми работаешь и плотно общаться с лидершипом и бизнесом. Часто ПГ налаживают процессы коммуникации в команде, трекают прогресс всех воркстримов и анализируют потенциальные риски, превентивно устраняя их.

Плюсы:
1. Плотная работа с бизнесом, менеджементом и директорами. Если целишься на директора - отличная роль.
2. Менее стрессово, чем роль ТЛ, так как нет ожиданий, что ты будешь кодить, хотя все еще считаешься инжинером

Минусы (по-крайней мере для меня):
1. Перестаешь программировать, теряешь навыки и свою рыночную стоимость, как программист
2. 70-90% времени сидишь на митингах
3. Отлично понимаешь высокоуровневую архитектуру проекта, но физически не можешь разбираться вглубь, из-за отстувия времени

Fixer - тот самый, сын маминой подруги, кинь его в горящий дом, на следующий день, в доме сделан евроремонт и все чисто. Данный тип программиста - решает самые сложные проблемы внутри проекта. Этакий пластырь, налепил и стало хорошо. Быстро индефицирует проблему проекта, предлагает решение и имлементирует его. Будь то техническая часть (Tech Fixer) - проблема с перфомансом, метрики тонут, ничего не работает, а также продуктовая (Prod Fixer) - разработка заглохла, нет нужной координации и всем ничего непонятно.

Плюсы:
1. Ты остаешьешься программистом, развиваешь навыки анализа и можешь решить любую проблему наиболее эффективным и дешевым путем для бизнеса, очень ценен на рынке.
2. Фокусная работа, не нужно сидеть половину времени на митингах - половину времени тратишь на анализ проблемы и еще половину на ее решение
3. Ты не пипл менеджер и от тебя нет таких ожиданий.
4. Ты очень ценен

Минусы (субъективно):
1. Фиксеры часто меняют проекты и прыгают от проблемы к проблеме. Обычно задача фиксера - понять проблему, пофиксить и идти дальше.

Coding Machine - горят проект и сроки? Нужно имлементировать быстро и чтобы работало, но немного жертвуя качеством? Закидываешь в проект парочку кодинг машин и все статусы проекта становятся зелеными. Короче говорят, данный архитип - это когда все очки навыков вбросил в кодинг. Такие люди могут генерировать 10-20к строк года за несколько дней, обгоняя некоторые автоматические генераторы. Быстро разбираются в проекте, понимают, что нужно делать и без лишних слов имлементируют.

Плюсы:
1. 95% работы - чистый кодинг, никакого булшита в виде митингов и выяснения требований
2. Остаешься программистом и проложаешь развивать свои навыки

Минусы:
1. Самый редкий архитип, очень мало людей способны генерировать такой объем работы, нужен особый склад ума и умение работать в полном фокусе
2. Таким людям, нужны четко описанные требования к системе - иначе ничего не выйдет.

У нас в команде, есть Тех-лиды, Coding-Machine и Продукт-Гены. Я для себя выбрал путь Тех-Лида. В следующем посте расскажу про себя.

Спасибо, что читаешь 🙏
👍52🔥21👏5👀21
The path towards staff engineer | Part 1 🚀 (Russian version can be found above)

Hi, I'm going to start sharing my work for the E6 promo at Meta. I recently decided to pursue this goal and set a deadline for myself - Summer 2023.

Why am I writing about it now? At a touchpoint ( the equivalent of an interim performance review), the manager informed me that he would be putting my package out for a promotional review in January. Although, I won't get a promo in January. Inside WhatsApp, you must show an E6 performance review for 9 months before you get promoted. The early promo review aims to get feedback from a broad group inside WhatsApp. The feedback you obtain at this review will help close the gaps (if there are any) and will serve as additional arguments in the next promotional cycle.

In this series of posts, I'll talk about what I'm doing now for the promo, a little bit about my current responsibilities, and how the work on the promo at Meta in general works.

So, Is it worth it in terms of money? 🤑
First, let's look at economic feasibility. Here are the figures for the UK & USA.

E6 base salary: 🇬🇧 140-160K GBP | 🇺🇸 230-260K USD
Bonus: 20% 🇬🇧 28-32K GBP | 🇺🇸 46-52K USD
Annual Refresher: 🇬🇧 234K USD | 🇺🇸 275K USD over 4 years

So, a tenured E6 with 4 years of experience in the company gets the following compensation:
TC UK 🇬🇧: 160 + 32 + 234 / 1.2 ~= 387K GBP ~ 464K USD
TC US 🇺🇸: 260 + 52 + 275 = 587K USD

After the promo, the compensation will level up gradually. But in general, economically - promo E6 allows you to grow in compensation almost twice 🤔

Is it worth it from a career standpoint?
This is where it will all depend on how you want to see yourself further in the industry and how far away from "programming" you want to be. Beginning with E6, everyone chooses a particular archetype - a base model you will follow.
There are 4 main archetypes (the second post below):
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19😁2
Tech Lead (TL) - aka architect, from a complex and incomprehensible problem, makes a fully clarified project, writes an initial architectural doc, breaks everything into workstreams, assigns a lead for each workstream, implements the most complex and obscure parts - kicks off the project. Once the project starts running like clockwork, work with PM and PG (product manager and product generalist) to figure out and design the future scope for the team.

Pros:
1. You do a lot of architectural work and think a lot within a large system
2. You continue to be an engineer and implement the most complex parts
3. Direct influence on the product through constant communication with PMs and PGs
4. Increase your value in the marketplace as a staff engineer

Cons:
1. 50-60% of your time will be spent writing architecture specs and communicating
2. You have to consider people's interests, give them challenging enough tasks and plan a lot
3. You'll only finish part of the project - your role: Kickstarter, configure the project and start delegating as much as possible. Ideally, the team should function even without you.
4. Stressful enough since you're combining pm, architect and programmer roles

Product Gen (PG) - aka programmer who became a TPM. You work with TLs, connect sub-teams, and set up parallel workstreams. You must understand perfectly the architectural specs of all the sub-teams you work with and communicate closely with the leaderboard and the business. Often, PGs establish team communication processes, track the progress of all workstreams, analyze potential risks and proactively address them.

Pros:
1. Close work with the business, management and directors. If you're aiming for a director or management role, it's a great role.
2. Less stressful than the TL role since there's no expectation that you'll be coding, even though you're still considered an engineer

Cons (at least for me):
1. You stop programming and gradually lose your skills and your market value as a programmer
2. You spend 70-90% of your time at meetings.
3. You understand a project's high-level architecture very well but cannot go deep into it because of the lack of time.

Fixer - the "son of your mother's friend", throw him into a burning house, the next day, the house is renovated, and everything is clean. This type of programmer - solves the most challenging problems to put down the fire within the project. A kind of band-aid put it on, and everything gets better. Quickly analyze the project's issues, offer a solution, and implement it. Whether it's the technical one (Tech Fixer) - system performance issue, metrics are sinking, nothing works, or the product part (Prod Fixer) - development is stalled, there is no proper coordination, and nobody understands anything.

Pros:
1. You continue to grow as an engineer and develop analytical skills. You can solve any problem most efficiently and budget-wise for the business, a valuable skill set on the market.
2. Focused work, you don't have to sit half the time at the meetings - you spend half the time analyzing the problem and another half solving it
3. You are not a people manager and are not expected to be one.
4. You are very valuable for business

Cons (subjective):
1. Fixers often change projects and jump from problem to problem. Usually, the fixer's job is to understand the problem, fix it, and move on to the next one.

Coding Machine - Need to build something quickly and make it work but sacrifice a little on quality? Throw a couple of coding machines into the project, and all project statuses turn green. In short, this archetype is when all the "character skill points" are thrown into coding. Such people can generate 10-20k lines of code in a few days, making even some automated code generators useless. But on the other hand, they figure out what needs to be done in the project quickly and can code everything blazingly fast.

Pros:
1. 95% of the work is pure coding, no bullshit job meetings and figuring out requirements
2. You continue to be a software engineer
🔥22👍31
Cons:
1. It's the rarest type. Very few people can generate so much code. You need to have a special kind of mind and the ability to work in such a way
2. This type of people needs clearly described requirements for the system - otherwise, it's hard to use its full potential.

In our team, we have Tech-Leads, Coding-Machine and Product-Gens. For myself, I choose to develop myself a Tech Lead. I'll tell you more details about myself in the next upcoming post.

Thanks for reading 🙏
🔥21👏5👍2
React.js - The documentary 📽️

Привет!👋 Команда Реакта запускает документальный сериал про разработку React.js👨‍💻

Рекомендую посмотреть, по мере выхода, чтобы понять, как react из маленькой библиотечки вырос в целую парадигму диктующую стандарт индустрии.
———
Hey!👋 React team launches a documentary video series about developing React.js👨‍💻

I highly recommend watching it as soon as it launches. It will give you a great insight of how a small library became an industry standard.

https://youtu.be/gmp0istg5xo
🔥40👍5👎1😁1
Path to Staff Software Engineer | Part 2 🚀 (Версия на русском внизу после поста)

Link to part one: https://t.me/frontend_engineer_blog/168

Hi, this is the second part of a series of posts about working on the staff engineer promo. Today I'm going to tell you what I do to get that promo 👨‍💻

Context
We talked about software engineer archetypes in the last post. So, let's assume we're going with TL Architype - Tech Lead.

☑️ What are the prerequasites for E6 promo at Meta:

- Be the Tech Lead for a team of 6+ people
- Successfully run at least one large project
- Drive architectural solutions - business gives problem X - your job is to clarify requirements, work with PMs and design. From problem X, create an architectural solution in the form of a specification, parts of which can be distributed among the engineers. Preferably, each engineer should dive technically in-depth and contribute to the assigned spec part
- Deliver through others. Learn to scale yourself - your capabilities are limited, and you can't code, do the architecture, and plan further scoping on the team. The ability to delegate tasks is critical. Delegate in a way that gives people tasks that they will grow on.
- Influencing your own and external teams, staff engineers tend to impact sister teams they work with. This translates into contributing to other teams' specs and roadmaps
- Contributions to org-wide initiatives. For example, implementing support for a new framework within all teams in the org or running mentoring initiatives across multiple teams
- Work in the high-priority area and be in the right place at the right time ( This is very important ). It is challenging to work on promo in a team where TLs are assigned already, the scope is defined, and only execution is needed. So it's essential to get into a project at its early stages.
- The manager has to want to promote you. Unfortunately, it's a cruel reality. If the manager doesn't put in the effort here, there's a very high probability that you'll never get the promo

As you understand, you can only do some of these at a time; it takes at least 6-9 months to have a good contribution. The main mistake is trying to do something for fake impact. For example, hiring people on a team, on an ineffective project, and launching initiatives that won't benefit the organization.

As I said, I was in the right place at the right time. I made the decision to change my team when I realized the following:
- My team would not grow, and my task level would be low
- My org was not a company priority

In the end, I chose a team - which was prioritized by the company, and I joined at the beginning of its development when there were only 7 engineers. Now, there are 53 of us. I really like the people within this team. I haven't seen such productive and talented folks in a long time. So many of them are stronger than me technically, and that's a good thing.
👍18
What am I doing on the project right now?👨‍💻 (Версия на русском внизу после поста)

I'm the Tech Lead of the core team, which is critical to the launch of the new WhatsApp & Business Messaging product.
I have 8 engineers on my team + 4 engineers we borrowed from other teams for a while 😄

☑️ In the last 5 months:
1. Hired 6 engineers to the team (3 IC5 & 3 IC4)
2. From obscure product ask - wrote the detailed technical spec about 74 pages (I'll post a picture in the comments). All of the team was impressed with the quality of the spec. But I’ve truly put a lot of effort in it 🙈
3. Created 4 working directions in the team in collaboration with XFN Partners. Each workstream - has a TL. Each workstream lead is responsible for the implementation of a particular part of the technical spec and the contribution of technical details
4. Participated in and influenced the roadmapping of sister teams.
5. Proposed and launched the migration of project code to a new version of the internal framework. First, I had to convince the executive team of the necessity of this solution. I also went with a colleague to the US office, where we spent a week with the framework team and migrated the code to a new version. In the aftermath - it helped unlock the work direction of the partner's team. The leadership has allocated additional funding for the framework team thanks to this decision.
6. Together with my colleagues, we wrote the core part of the first project milestone, which was later picked up by more than 20 engineers from several teams. Subsequently, this large workstream was led by my colleague and it was a tremendous job. The launch with 7 partners is coming soon.

🏃‍♀️What am I going to do in the next 3-4 months
1. Our next significant milestone is in March. There will be a public release with available documentation to many partners. In addition, there will be a public marketing campaign that I'll be able to share in the channel without worrying about NDA
2. Coordinate 5 teams (38 people), assess potential risks of dependencies and fix them as fast as possible to avoid the risk of delaying the milestone
3. Together with the team, implement the most complex part of the product
4. Prepare a technical talk for the mobile app conference.

How's it going with WLB? 😂
It's much worse than in my last team. Before that, I could work about 20 hours a week and do personal stuff on weekdays. Now, I work about 45-50 hours a week, which is stressful. However, weekends are sacred. So I never work on weekends. In general, if I removed the TL duties, I could go back to 20 hours again, but I really like the people on the team, the action within the project and what I'm doing now. It's good growth for me. The main difficulty is that I'm still E5. The company expects me to contribute largely by shipping code. An E5 who works on E6 promo is more challenging than an E6 since you're doing two levels of duties simultaneously. Overall, we'll see soon how I end up with this effort.

Please write in the comments what you're interested in learning about, and I'll try to uncover more details.
Thank
you for reading 🍁
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24❤‍🔥4
Path to Staff Software Engineer | Part 2 🚀 (English version can be found above)

Привет! Это вторая часть серии постов про работу над промо до Стаффа. Сегодня расскажу, что делаю я, для того, чтобы получить промо 👨‍💻

Link to part one: https://t.me/frontend_engineer_blog/168

Немного контекста
Про архитипы, мы поговорили в прошлом посте. Будем исходить из того, что мы идем по Архитипу ТЛ - Tech Lead.

☑️ Какие преквезиты нужны, чтобы запромоутиться до E6 в Мете:

- Быть тех-лидом для команды 6+ человек
- Успешно запустить, как минимум, один большой проект
- Драйвить архитектурные решения - бизнес дает проблему X. Твоя задача - кларифицировать требования, работая с ПМами и дизайном. Из проблемы Х, создать архитектурное решение в виде спецификации, части которой можно распределить между инжинерами. Желательно, чтобы каждый инжинер мог раскрыть технически в глубину, каждую часть спеки.
- Деливерить через других. Научиться скейлить себя - твои возможности ограничены, Ты не можешь кодить и делать архитектуру и планировать дальнейший скоуп на команду. Умение делигировать задачи критически важно. Делегировать нужно так, чтобы давать людям задачи, на которых они будут расти.
- Влияние на свою и внешние команды, стафы, как правило имеют влияние на соседние команды, с которыми работают. Это выражается в контрибуции в спеку других команд, влияние на роадмаппинг скоупа внешних спек
- Контрибуции в org-wide инициативы. Например имлементации поддержки нового фреймворка внутри всех команд в орге или запуск менторинг инициатив внутри орга
- Работать в high-prio area и оказаться в нужное время и в нужном месте ( Это очень важно ). Очень сложно работать над промо в команде, где ТЛ распределены, скоуп потянет и нужны только лишь исполнители. Очень важно попасть в проект на его начальном этапе развития.
- Менеджер, должен хотеть тебя запромоутить. К сожалению, это так. Если менеджер не прикладывает здесь усилий, очень высока вероятность, что промо ты не получишь

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

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

В итоге, я выбрал команду - которую приоритизировала компания и я пришел в нее на начальном этапе развития, когда в ней было всего 7 инжинеров. Сейчас нас 53. Мне очень нравятся люди внутри этой команды. Таких продуктивных и талантливых ребят я не видел давно. Многие - сильнее меня в техническом плане и это хорошо.
👍17🔥71
Что делаю я в проекте сейчас? (English version can be found above)

Я ТЛ core команды, которая является критически важной для запуска нового продукта WhatsApp & Business Messaging.
В моей команде - 8 инженеров + 4 инженера, которых мы одолжили у других команд на некоторое время 😄

За последние 5 месяцев
1. Захайрил 6 инженеров в команду (3 IC5 & 3 IC4)
2. Из непонятной продуктовой задачи - написал подробную техническую спецификации, вышло около 74 страниц гугл докса (фотку приложу в комментах). Все в команде были приятно удивлены качеством спеки 🙈
3. Создал в команде 4 рабочих направления с участием XFN Parnerts - по 3-4 человека. Каждое направление - имеет POC aka Workstream TL. Каждый лид воркстрима отвественен за имлементацию определенной части спеки и раскрытия технических деталей
4. Участвовал в роадмаппинге спецификаций дружественных команд.
5. Предложил и запустил миграцию проектного кода на новую версию внутреннего фреймворка. Для этого, пришлось убеждать leadership в неободимости этого решения, а также поехал с коллегой в штаты, где мы провели неделю с командой фреймворка и мы вместе мигрировали код на новую версию. В последствии - это помогло разблокировать рабочее направление другой команды. Благодаря этому решение, leadership выделил дополнительное финансирование, для партнерской команды. Все были очень довольны.
6. Вместе с коллегами, написал core часть проекта первого майлстоуна, которую в последствии подхватило больше 20 инженеров из нескольких команд. В дальнейшем, этот большой воркстрим лидил мой коллега и это была огромная работа. Запуск с 7ми партнерами состоится уже в ближайшее время

Что я буду делать в ближайшие 3-4 месяца 👨‍💻
1. Наш следующий большой milestone - Март. Произойдет публичный релиз с открытой документацией для большого числа партнеров. Будет рекламная кампания и открытая техническая дока, которую все смогут посмотреть.
2. Технически координировать 5 команд ( 38 человек ), оценивать потенциальные риски зависимостей и устранять их по мере возможности.
3. Вместе с командой, имлементировать пуличную core часть продукта
4. Готовить технический доклад на конференцию мобильных приложений.

Как дела с WLB? 😂
Сильно хуже, чем в прошлой команде. До этого я мог работать около 20 часов неделю и на буднях заниматься личными делами. Сейчас я работаю около 45-50 часов в неделю и работа довольно стрессовая, однако выходные святое, никогда не раюотаю на них. В целом, если сбросить с себя обязанности ТЛ, можно вернуться к 20 часам снова, но мне очень нравятся люди в команде. движ внутри проекта и то, чем я сейчас занимаюсь. Это хороший рост для меня. Основная сложность - я все еще Е5, компания ожидает, что я также буду много контрибьютить технически. В каком то смысле - E5, который работает на промо, это сложнее чем просто Е6, так как ты выполняешь обязанности двух уровней сразу.

Пишите в комментах, о чем интересно узнать, постараюсь раскрыть детали.
Спасибо, что читаете 🍁
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26🔥13
[System Design Bits]: The way to HTTP 2 ☃️

Hello folks, finally, the the first part of the HTTP protocol series is arrived 🚀.

In this video, we're going to cover the following:
1.
What’s HTTP and how the request is made through the browser
2. Evolution of HTTP and Web, from simple syntax to fully fledged protocol
3. HTTP 1.1 Issues and prerequisites from HTTP 2.0
4. Web Performance Tricks of HTTP1.1, and why they are antipattern now

I've decided to split the topic into 2 videos due to the large size and material complexity. The second part of the video will be published in a few weeks (hopefully)

I’d be happy if you re-share this post to your friends so more people can find it. Thank you!

Happy Upcoming New Year
❄️

Всем привет! Наконец то закончил работу над серией видео по HTTP 🚀.

В ней мы разберемся:
1. Что за зверь такой HTTP, как браузер делает запрос
2. Эволюция протокола и веба, от простого синтаксиса, до полноценного протокола
3. Проблемы протокола и пререквезиты для второй версии.
4. Какие подходы используются для улучшения производительности веб-приложений, и почему большинство из них теперь антипаттерн (но многие до сих пор используют)

Я решил разделить топик на 2 видео из-за большого размера. Вторая часть выйдет через несколько недель (надеюсь)

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

Happy Upcoming New Year ❄️

https://youtu.be/gxF9fLo5XQw
👍39🔥195
Buying the flat in London as SWE / Покупка недвижимости в Лондоне👨‍💻

Привет, первый пост в этом году! ☄️
Совсем недавно я купил квартиру в Лондоне и решил поделиться своим опытом покупки со всеми цифрами (моя зарплата, месячные платежи и тд). Надеюсь получилось интересно.

Ссылка на статью на русском: https://telegra.ph/Buying-flat-in-London-as-SWE-01-03
Как всегда, рад любым комментариям ☺️

——

Hi everyone! First post in this year! ☄️
I recently purchased an apartment in London and wanted to share my experience, including all of the financial details such as my salary, monthly payments, and more. I hope you find this information interesting and useful for yourself.

Link to the article in English: https://telegra.ph/Buying-flat-in-London-as-SWE-01-04
As always, any comments are welcome ☺️
Please open Telegram to view this post
VIEW IN TELEGRAM
👍77🔥37🎉1710❤‍🔥3🤯1
Exceptional Talent Visa - Personal Experience

Привет👋, сегодня поговорю с Надей про свой опыт получения визы таланта в ЮК. Присоединяйтесь к стриму, если интересно послушать про визу и документы.

Язык стрима - английский
Время: 06.00pm London Time

Запись будет доступна на ютуб канале Нади

Hi👋, today I’m going to talk with Nadia about my experience of getting UK Exceptional Talent Visa. Come and join the stream, if you’re interested in UK Talent visa and preparing the documents for it.

Stream language - English
Time: 06.00pm London Time

https://www.linkedin.com/video/event/urn:li:ugcPost:7007799658211074048/

Recording will be available on Nadia’s YouTube Channel
👍266
🇬🇧 (English version can be found after this post below)

Всем привет ! Давненько не было постов в блоге, а рассказать есть что! Писал у себя в инстаграме, что все самые лучшие идеи приходят во время отпуска. В марте я уехал на 6 недель в отпуск в Тайланд. Удалось хорошо перезагрузить голову. В итоге пришло несколько идей.

Предыстория 🤌

В Англии, а точнее в Лондоне, есть сектор рынка где фронтендеры зарабатывают 800к-1М фунтов в год 💷(~40-45k фунтов в месяц после налогов). Я не шучу, такое существует, до определенного времени все было на уровне слухов, пока несколько знакомых не нашли работу в этих компаниях. Как можно догадаться, это сектор финансов, а точнее Хедж Фонды. В голове загорелась идея, почему бы и нет? Так началось путешествие длиною в 4 месяца. Как я уже писал ранее, мне нравится мой текущий проект в Мете и я не хотел бросать цель его закончить и одновременно дорасти до Staff роли, учитывая, что уже имел большой социальный капитал в команде и в проекте.

Цели поставленные на 4 месяца :

1. Работа над текущим проектом и подготовка промо пакета для Staff Engineer
2. Подготовка к интервью в хедж-фонды в Лондоне

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

В течении 4ех месяцев мой день выглядел примерно так 📚:

- 8 часов работа
- 5-6 часов подготовка
- 1 час спортивный зал / кардио

Все выходные, я сидел за подготовкой, но каждые 3-4 недели ходил на 2-3 дня в хайк, что помогало поддерживать психику в нормальном состоянии. Про рефлексию и состояние выгорания расскажу чуть позже.

Тактика 🤔

Интервью процесс в хеджы был секретом. Я не знал, чего ожидать от интервью. Роль для таких компания новая и непонятная. К тому же я около года не писал на фронтендовом стеке в проде, но сохранял к нему любовь и использовал его в личных пет-проектах. Также, было неизвестно, нужен ли будет литкод (спойлер: нет).

Подготовка 📚

1. Прорешан весь bfe.dev, это заняло у меня около 2 недель + неделю тренировок на скорость (~200 задач)

2. Прорешано ~300 задач на литкоде, второй раз это оказалось сильно легче. В среднем, я решал 10-15 задач в день. Этот шаг занял у меня около 5 недель.

3. Перезаписал видео по System Design, которые опубликовал 2 года назад и дополнил их свежими знаниями и полезными советами, которые получил от подписчиков и на ютубе (скоро выложу обновленные видео). Этот этап занял около недели.

Боевое тестирование 🚀

Идти сразу на интервью было сложно, поэтому решил податься в мелкие и средние компании для тренировки навыков. В сумме отправил резюме в 34 компании, 29 из них ответили, а далее с 23 было назначено интервью. Так как моя виза не привязана к работодателю, компании охотно меня собеседовании. График интервью был плотный, поэтому собеседовался прямо в переговорке в офисе 😂

Результат: 21/23 оффер получен
Минимальный оффер: 50K (Senior Principal Engineer)
Максимальный: 250К (Staff Engineer)

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

Час Х 😬

Список хеджей куда можно податься фронтендеру достаточно мал, у меня получилось всего 4 компании.

1. Jane Street
2. Two Sigma
3. Jump Trading
4. Citadel

Ответ получил от всех достаточно быстро и интервью были назначены. Процесс интервью занял больше, чем сама подготовка. На все ушло примерно 2 месяца. Удалось ли получить оффер? Какой интервью процесс в этих компаниях? Что там с промо на IC6?

Продолжение следует во второй части, которую опубликую через день. А пока, пиши свои комментарии, буду рад ответить, если есть вопросы. Спасибо, что читаешь 🙏

#interview #career
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9331🔥28🤯9😍2
🪆(Версию поста на русском, можно найти перед этим постом)

Hello everyone, it's been a while since I last posted on my blog, but there's a lot to share! I mentioned on my Instagram that some of the best ideas come to me while I'm on vacation. In March, I embarked on a 6-week vacation to Thailand. It was the perfect opportunity to clear my mind. Eventually, a few ideas popped into my head.

Backstory 🤌

In England, more precisely in London, a sector of the market exists where front-end engineers earn 800k-1M pounds annually 💷 (~50k pounds per month after taxes). Up until a certain point, everything remained in the realm of rumours, until a few friends of mine landed jobs in these companies. As you can guess, it's in the finance sector, specifically Hedge Funds. An idea ignited in my mind: why not give it a shot? And so, a journey lasting 4 months began. As I mentioned earlier, I like my ongoing project at Meta and I wasn't willing to give up on the goal of growing into a Staff role, considering the substantial social capital I had already built within the team and the project.

My primary objectives were as follows :

1. Continuing to work on towards the IC6 level.
2. Getting prepared for the interviews with Hedge Funds.

While the goals themselves weren't particularly challenging, the real hurdle lay in managing my time effectively and I have to keep my preparation in secret since many of colleagues subsribed to my channel (thank you). Throughout these 4 months, my daily schedule resembled the following:

- 8 hours for work
- 5-6 hours allocated to interview preparation
- 1.5 hours dedicated to gym and cardio sessions

I dedicated my weekends entirely to preparation, although I did take breaks every 3-4 weeks for 2-3 days of hiking 🥾. These outdoor breaks were crucial in maintaining my mental well-being. I'll dive into reflections and share about the pre-burnout state a bit later on.

Tactics 🤔

The interview process at hedge funds is a secret. I found myself in a position of uncertainty regarding what to expect during the interview. The role is new and obscure for this kind of company. Plus, I hadn't written on the front-end stack in prod for about a year, but kept a love for it and used it in personal pet projects. Also, it was unknown if a leetcode would be needed (spoiler: no)

Preparation 📚

1. Tackled all bfe.dev problems (~200 problems), a process that spanned about 2 weeks, coupled with an additional week dedicated to speed coding
2. Solved ~300 problems on leetcode. This time it was notably easier than when I did it 2 years ago. On average, I managed to solve 10-15 problems per day. This phase stretched over approximately 5 weeks.
3. Re-recorded the System Design videos I had initially published 2 years ago. These videos were subsequently enhanced with fresh insights and valuable tips derived from subscribers and the YouTube community. (Stay tuned for the updated videos - I'll be posting them soon.) This step was accomplished within about a week.

Combat testing 🚀

It was difficult to go straight to the interview, so I decided to apply to small and medium-sized companies to practise my skills. In total I sent my resume to 34 companies, 29 of them responded, and then 23 of them scheduled interviews. Since my visa is not tied to the employer, companies were willing to interview me.

Result: 21/23 offer received
Minimum: 50K gbp (Senior Principal Engineer)
Maximum: 250K gbp (Staff Engineer)

I won't list the companies now, if interested, let's discuss it in the comments. The interview questions were very different, some companies have no coding part at all and it was more about experience and theory knowledge. I liked most of all when they gave a practical task for 2-3 hours and the interviewer came only at the beginning and at the end. Let me know if you want to see interview problems from these companies.

#interview #career
👍1711👏4
X Time

The list of hedges where a front-end engineer can go is quite small, I’ve applied to four companies.

1. Jane Street.
2. Two Sigma
3. Jump Trading
4. Citadel

I received responses from all of them quite quickly and interviews were scheduled. The interview process took longer than the preparation itself. Everything took about 2 months to complete. Was I successful in getting an offer? What is the interview process like with these companies? What's up with the promo on IC6?

The continuation follows in part 2, which I'll post in a day. In the meantime, write your comments, I'll be happy to answer if you have any questions. Thank you for being my subscriber 🙂

#interview #career
👍2811🔥7🤩1💅1
Interviews with hedge funds, part 2 👨‍💻 (Версия на русском, внизу после этого поста)

Hi everyone! So, I see the topic of sky-high salaries is raving the frontend community. There are actually quite a lot of data points. You can find all the data at levels.fyi. Search for a company and sort by compensation 🤑

So for me, chasing a big TC wasn't the primary goal. Primarily, I was looking to continue solving interesting technical problems and not get too immersed in politics and management, which is inherent in big companies starting at the staff level. Front-end engineering in hedge funds is in its early stages, the greenfield atmosphere has always appealed to me. Ok, let's cut to the chase 😃
——————
Interview process 👨‍💻

Two Sigma

- Online assessment ( frontend task for 2 hours on Hackerrank). They look at code quality and you also need to make that your solution passes all tests
- HR Call (talk about experience) ☎️
- React / Javascript coding - round with emphasis on handling complex structure and rendering of a component
- React / Javascript coding - another round, but more on using OOP and being able to write practical things. To give you an example: write a snake game in React
- System Design - if you've watched my youtube videos, this is an absolute blueprint of what's needed.
- 3 Rounds of Behavioral Interview. Yes, three rounds! One hour each with a different person
- Follow up if you have any technical questions.
- Offer if all goes well

Jane Street

- An hour long interview about the experience with a developer. I was lucky enough to talk to one of the developers of the Typescript compiler.
- Front-End coding. Open question on writing a generic component, requirement needs to be defined by yourself. You can write code using any framework and IDE. I decided to surprise interviewer, and wrote the components in Vanilla JS.
- Generic SWE coding. There are a lot of interview reviews on the internet, let's just say Jane Street has a special approach. No algorithms needed. The focus is on pure code. In this round I was very nervous, although the task was not difficult. Unfortunately, the round doesn't assess frontend knowledge.
- Virtual / Onsite interview for 4 hours with a break for lunch. If the first part went well, you continue with the second part. If not, you eat lunch and go home
- Offer / No offer within 24 hours.

Citadel

- Javascript Coding (bfe.dev) - Standart 45 min coding round. Complexity may vary. I advise to have some coding practice in advance.
- React / Javascript coding - a round with a focus on handling complex data-structure and rendering of a component
- Behavioural
—————————
Results 🙂

Overall this is the breakdown :

- Two Sigma - reject on stage 7. Unfortunately, I got lost in the task and didn't solve it.
- Jane Street - reject. Successfully passed UI coding, but failed Gen SWE.
- Citadel - Interviews were cancelled, position was closed
- Jump Trading - I can't disclose details, but I'm not going there🤐

I handeled rejection relatively easy, I was lucky to have a good job and a good project. No regrets about the time spent. Definitely realised for myself that I would like to work at Jane Street someday. I would go there even for a little less money than in Meta (although even junior swe gets as much as staff eng at Meta). Liked all the people I talked to and generally felt like frontend engineering there is in its infancy, you can do a lot of interesting things.

What about the IC6 promo? 🚀

I'll end this post on a positive note, I got the promo to staff engineer! 🥳 The process took 12 months, which by the standards of Meta, not much. I'm certainly happy about that. and it will take time to get used to the new role, although they say nothing should change. About how much staff earns in Meta I wrote here, I always openly share it. With all the promotions, bonuses, additional stocks and etc, I should land around ~370K - 450K next year if I don't get fired and stock price doesn't go down too much. In current market, you never know.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍24🔥168🥰1
In the next part, I'll talk about the conclusions I made. What could have been changed in the preparation process, how I almost got burned out. How you can negotiate offers. I'll start posting tasks from my interviews after part 3. However, I won't post the company where I was asked it ( standard NDA)

Stay tuned and thanks for reading! 🙏

YouTube 📹 ——— Medium 📑 ——— LinkedIn 👨‍💻
👍104
Интервью с хедж фондами, часть 2 👨‍💻 (English version can be found above this post)

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

Для меня, погоня за большой ТС не было основной задачей. В первую очередь, я искал возможность продолжать решать интересные технические задачи и не сильно погружаться в политику и менеджмент, что присуще большим компаниям, начиная со стафф уровня. Фронтенд в хеджах на зачаточных стадиях, greenfield атмосфера меня всегда привлекала. Ладно, давай к делу 😃
——————
Интервью процесс 👨‍💻

Two Sigma

- Online assessment (дают алго-фронтовую задачу на 2 часа на Hackerrank). Смотрят на качество кода и прохождение всех тестов.
- HR Call (поговорить про опыт) ☎️
- React / Javascript coding - раунд с упором на обработку сложной структуры и рендеринга компонента
- React / Javascript coding - еще один раунд, но больше на использовании ООП и умение писать практические вещи. Для примера: написать змейку на реакте
- System Design - если смотрели мои видео на ютубе, то это абсолютная копия, того, что нужно.
- 3 Раунда Behavioral Interview. Да, именно три! Каждый по часу с разным человеком
- Follow up, если есть вопросы по технической части
- Offer (если все хорошо)

Jane Street

- Часовое интервью про опыт с разработчиком. Не похоже на бехейв, мне повезло поговорить с одним из разработчиков компилятора Typescript.
- Front-End coding. Открытый вопрос по написанию дженерик компонента, требование нужно уточнять самому, ограничивать функционал тоже. Можно писать на чем угодно. Я решил удивить, и писал на ванильном JS.
- Generic SWE coding. В интернете много отзывов про интервью, скажем так, у Jane Street особый подход. Алгоритмы не нужны. Фокус на чистом коде. В этом раунде я очень переволновался, хотя задача была несложная. К сожалению, раунд не оценивает знания фронтенда.
- Virtual / Onsite интервью на 4 часа с перерывом на ланч. Если первая часть прошла хорошо, продолжают вторую. Если нет, кушаешь ланч и идешь домой
- Оффер / Не оффер в течении 24 часов

Citadel

- Javascript Coding (bfe.dev) - тут желательно подготовиться и нарешать задач. Сложность может варьироваться.
- React / Javascript coding - раунд с упором на обработку сложной структуры и рендеринга компонента
- Behavioural
—————————

Результаты🙂
В общем вот такой расклад :

- Two Sigma - reject на 7ом этапе. К сожалению, заплутал в задаче и не решил ее.
- Jane Street - reject. Успешно прошел UI кодинг, но не справился с Gen SWE
- Citadel - Интервью отменились, позиция закрыта
- Jump Trading - деталей раскрыть не могу, но туда я не иду 🤐

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

Что там с промо IC6? 🚀

Пожалуй закончу пост на позитивной ноте, промо на стаффа я получил! 🥳 Процесс занял 12 мес, что по меркам Меты, совсем немного. Несомненно этому рад. Буду привыкать к новой роли, хоть и говорят ничего не должно измениться. Про то, сколько зарабатывает стафф в Мете я писал тут, я всегда открыто делюсь этим. С учетом всех акций, бонусов, рефрешеров и тд, в след году я приземлюсь в районе ~370-450K 💷, если не уволят и если не уйдут на дно ;D. На текущем рыночке, ничего наверняка знать нельзя.

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

Оставайся на связи и спасибо, что читаешь! 🙏

YouTube 📹 ——— Medium 📑 ——— LinkedIn 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
114🔥70👍30🤡1
Интервью с хедж-фондами, часть 3 - Рефлексия 🤔 (English version can be found below)

Привет 👋 Надеюсь тебе понравились последние два поста про интервью с хеджами. Этим постом хочу завершить эту серию и подумать, что можно было сделать лучше.

1. Подготовка
Самой большой ошибкой было решать leetcode. Кажется индустрия движется в правильном направлении и алгоритмические задачи фронтов спрашивают все меньше и меньше. Я потратил на leetcode около 8 недель, было бы намного продуктивнее использовать это время на решение более практических вещей связанных с UI.

2. WLB
Работать фултайм, над промо и подготовкой к интервью = отрицательный WLB. Жизни просто нет. Все превращается в серую рутину. Примерно первых 6 недель, все шло довольно плавно, но затем чувствуется ментальное истощение. Чем больше продолжаешь готовится, тем хуже состояние.

Что помогало:
1. Регулярные тренировки ( 3 раза зал + кардио,(велосипед по выходным или бег )
2. Походы в хайки 🏕
3. Правильная еда 🍱

Опять же, перечисленные вещи помогают тебе остаться на плаву, но долго в таком режим находится нельзя. Для себя вывел формулу, что подготовка не должна продолжаться больше 8 недель, в моем случае, после этого срока, теряется эффективность, начинаются проблемы со сном и все сопутствующие симптомы выгорания. Стоит учесть, я говорю про вариант, что у тебя есть фултайм работа. Если есть семья, может быть еще тяжелее. Отсутствие фултайм работы практически убирает любые лимиты 😀 Если есть такой возможность - go for it.

3. Слишком много компаний
Говорят иметь контр-офферы хорошо. Но рынок больших зарплат очень узок в Англии. Собеседоваться с большим количеством мелких компаний не продуктивно, так как маловероятно, что они смогут перебить big tech TC. Следующий раз я бы выбрал 3-4 компании для практики и 2 target компании куда хотел бы пойти и готовился конкретно к двум компаниям.

4. Большой отпуск перед подготовкой
Лучшее решение! Это второй раз, когда я так делаю.

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

1. YouTube - пока что, это одна из лучших идей, которая приходила мне в голову. Процесс создания видео сложный, но удовлетворение, которое это приносит и благодарность людей окупают любые затраты
2. Привыкнуть к IC6 роли в Мете.
3. Конференции. В ноябре поеду выступать на Метовскую конфу в Калифорнии. Это будет первый опыт выступления на больших эвентах. Но как говорят, дорогу осилит идущий
4. Больше технических статей. Хочу написать несколько статей на темы, которые нравятся самому.
5. Коллаборация с frontend masters. Если все сложится хорошо, ждите high-quality system design курс на этом ресурсе 🙂

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

В следующих постах, буду выкладывать по 2-3 задачки с собеседований. Будет интересно посмотреть на твои решения 🙂

Увидимся ✌️

YouTube 📹 ——— Medium 📑 ——— LinkedIn 👨‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥146👍3329🏆6❤‍🔥1