FAANG зовет! | Работа в ИТ от $100К в год
371 subscribers
49 photos
2 files
54 links
Канал о поиске и подготовке к работе в ИТ в Европе с зарплатой от $100К в год

Контакты: @srgpan
Download Telegram
Feliks_Bekeshov_CV (Стало).pdf
120.4 KB
Прожарка резюме для FAANG 🔥 – Java Software Developer 👨🏼‍💻

🎯 Цель – FAANG в Европе

Было: 2 колонки
Стало: 1 колонка, фокус на основном

Видео прожарки (23 минуты): https://youtu.be/nkUvtrqJAVs
💯7👍1
System design интервью является одним из этапов собеседований в FAANG и другие ИТ-компании. Суть задания – спроектировать сложную ИТ-систему, рассуждая при этом вслух. Часто это бывают всем известные сайты типа Twitter, Facebook, Instagram или Pinterest.

Но помимо видео с разборами таких задач (в следующих постах я поделюсь ссылками) и чтения книжки “с кабанчиком”, полезно развивать общий технический кругозор и насмотренность (technical sophistication, как его называет автор книги по Ruby on Rails) даже в тех технологиях, которые вы напрямую не используете.

Для развития такой насмотренности я хочу с вами поделиться фильмом и историей Ruby on Rails, которая позволяет лучше понять мир технологий и развития продуктов. Меньше чем за 1 час вы узнаете о Девиде (aka @dhh), 20-летнем парне из Дании, который создал один из самых известных фреймворков для разработки веб-приложений. На нем работают такие гиганты как GitHub и Shopify. А началось все с первого релиза в августе 2004 года.

У Девида была в голове идея – сделать все так просто, чтобы один инженер мог написать веб-приложение и масштабировать его. То, что сейчас является слоганом фреймворка Rails: from HELLO WORLD to IPO.

Для этого он использовал (и сильно популяризировал) концепцию convention over configuration, разумные настройки “по умолчанию”, позволяющие не заниматься бесконечными конфигами, а сразу начинать строить продукт. Это хорошо вписалось в методологию agile с частыми спринтами и “product first”-подходом, которая начала становится популярной в то же самое время (напомню, что Agile Manifesto, с которого все началось, был опубликован в 2001 году).

Так что откладываем Netflix ненадолго и смотрим историю про то, как мечта инженера стала реальностью🍿

https://youtu.be/HDKUEXBF3B4?si=cCl8hcwsLHLWgoo1
👍2
Как я решил 100 задач на LeetCode и что я делал неправильно? 👨🏼‍💻

LeetCode – сайт с алгоритмическими задачами, похожими на задачи с собеседований в FAANG и других ИТ-компаниях. Задач там тысячи, они все сгруппированы по сложности (Easy, Medium и Hard – простые, средние и сложные), по теме и по популярности на собеседованиях в конкретных компаниях (можно, например, выбрать задачки, которые чаще всего встречаются на собеседованиях в Apple или Google). Поэтому решение задачек на LeetCode является одним из основных “модулей” в программе подготовки к собеседованиям в топовые ИТ-компании.

Решив за полгода более 100 задач там и общаясь с другими ребятами, я понял, что я делал не так, а что я делал правильно. Делюсь с вами этим, чтобы у вас подготовка шла эффективнее и быстрее.

1. Системность
Многие начинают решать задачки случайным образом, начиная с простых и перепрыгивая между разными темами. Это – неэффективный подход. Попробовав так пару дней, я решился и купил их курс подготовки и пошел решать по темам – сначала читаю и изучаю теорию (точнее вспоминаю ее из института), потом разбираю решения и уже потом решаю сам. Пожалуй, эта одна из лучших моих инвестиций в $100

2. Надежда на чудо
Сначала я думал, что вот надо просто подольше посидеть и как следует все обдумать, еще раз перечитать условие задачи, пописать код и проверить подошел ли ответ. И так проходил час, другой, третий. Потом стало понятно, что если непонятно как решить задачу в первые 5-10 минут, то чуда не случится. Озарение внезапно не приходит. Случайный код не дает вдруг правильный ответ и “зеленые” тесты. Поэтому я стал просто изучать решения задач (я из курса, но вы можете и просто загуглить по номеру и названию задачи – есть много видео-разборов), смотреть какие приемы используются и потом уже, разобравшись и поняв алгоритм, шел решать другие задачи по теме. И это уже действительно позволяло решать задачу за 5-10-20 минут.

3. Нет четкой цели, не меряешь прогресс
Сначала я просто решал задачки, но со временем стал замечать, что не чувствовал прогресс. Это влияло и на самооценку, и на мотивацию. Тогда я завел тетрадку-дневник, куда стал записывать как разборы задач, так и проблемы, на которых я “зависал” в конкретных задачах, чтобы осмыслить их и реже допускать в будущем. Также я стал записываать каждый раз после решения простую статистику: ХХ задач решено, Y%от курса пройдено, рейтинг с системе ХХХ (да, там меряют твое место среди других решающих. Вроде ерунда, а на мотивацию работает. Например, я начинал и был позади 2-х миллионов человек, сейчас в 800 тысячах лучших). Это сработало – появилось приятное ощущение роста и динамики. И для справки, по мнению экспертов решение даже 150 задач дает уже больше 80% успеха прохождения интервью по алгоритмам в FAANG.

4. Выбор неправильного языка программирования
Как понять, что язык неправильный? if (Язык !== Python) print (‘Язык неправильный’) 😀

Так как я последнее время в основном пишу на JavaScript/TypeScript все свои задачи я решал именно на JavaScript. Но сейчас я буду переходить на Python, так как на нем любое решение задачи записывается гораздо проще (приложил скриншот со сравнением). Мы это обсуждали и с моим знакомым из Google в Германии – он тоже однозначно “топил” за Python, даже если ты пишешь на других языках (он, как и я, пишет на JavaScript/TypeScript). Поэтому нужно (и гораздо проще) выучить основы синтаксиса Python и записывать решение 100+ задач быстрее, чем каждый раз фокусироваться не на самом алгоритме, а на правильной расстановке фигурных скобок (как в JavaScript или C++). Помимо этого, в нем много встроенных структур данных, типа кучи (heap), реализации которой в JavaScript вообще нет и на интервью пришлось бы воспроизводить ее, вместо просто использования встроенного функционала языка (а задача-то не про то, как написать реализацию кучи, а как ее правильно использовать и фокус должен быть на этом).

Буду раз узнать о вашем опыте решения LeetCode, ваших ошибках и успехах, в комментариях 👋
#leetcode

@faangiscalling
👍2
JavaScript vs. Python – победитель очевиден 💪
1
Мы открываем рубрку "Интервью" историей Java-разработчика Ивана Заяц, который работал в Яндексе и Авито, переехал в Финляндию и получил оффер от Revolut, Zalando и Wolt. Какой из них он принял? Узнайте в этом видео!

Кроме этого:
– как перейти из тестировщика в разработчики
– как искать работу за рубежом
– как учить сложные темы в Java
– финский ИТ-рынок
– жизнь в Финляндии (work-life balance, стоимость аренды, медицина, садики, школы)

P.S. Иван тоже тут на канале, поэтому вы можете задавать ему вопросы в комментариях.

@faangiscalling

Смотреть: https://youtu.be/D40TKf45rFE
🔥5
Как писать про свои результаты в резюме? Опыт инженера в Instagram (FAANG)

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

Знакомьтесь:
👨🏼‍💻 Ryan Peterman
💼 Staff Software Engineer (Instagram)
📍 San Francisco, CA
🔗 https://www.linkedin.com/in/ryanlpeterman/

Некоторые цитаты с описанием результатов из его профиля:
• Incepted and led video ads pipeline rewrite (5 eng involved) that reduced memory errors by 98%, drove +3.9% ads watch time wins, and exceeded cross-org revenue goals
• Wrote about the optimization publicly here - https://about.instagram.com/blog/engineering/making-instagram-video-ads-performant
• Found and fixed bug in cache breaking hash function which reduced cache fill from origin data centers by 50%
• Brought daily ETL run time down from 3-5 hours to a few minutes on average

Смело берите за образец и ваше резюме станет лучше!

🎥 Смотреть полный обзор (7 мин): https://youtu.be/ysa9OnTFaBM

А где вы ищете примеры, когда пишете о своих результатах? Делитесь в комментариях 👋
#прокачкарезюме

@faangiscalling

P.S. Ваш друг тоже ищет работу? Помогите ему и поделитесь ссылкой на этот пост. Пусть он тоже пишет как Райан и найдет работу быстрее!
👍211🔥1👏1
Новый iMac с М3 на борту приехал! 🥳

Я всегда вдохновлялся техникой Apple. После многих лет бесконечной переустановки Винды по любому чиху, опыт работы на Маке стал для меня дивным новым миром. И ребята из Калифорнии не перестают удивлять своим легендарным UX! Например, мышка с ноута плавно перетекает на iMac и обратно! 🤩

На таком красивом компьютере хочется создавать красивые полезные продукты и делать этот мир лучше👨🏼‍💻

Делюсь своим обновленным сетапом. Делитесь вашим в комментариях 👋
#setup

@faangiscalling
🔥3👍1
Где брать тестовые картинки для проектов? 🏞️

Я собрал короткий cheat-sheet с популярными сервисами тестовых изображений, так как любой проект (как рабочий так и pet-проект) лучше тестировать на данных, похожих на реальные.

Помимо классики вроде фотографий с Unsplash, вот подборка, которая может вам пригодиться:

Аватарыhttps://randomuser.me/photos
На этом сайте есть 100 мужских и 100 женских аваторов с индексами от 0 до 99, шаблон такой: https://randomuser.me/api/portraits/men/0.jpg
https://randomuser.me/api/portraits/women/99.jpg

Случайные фотоhttps://picsum.photos/
На этом сайте много настроек, можно сделать в grayscale, добавить blur и так далее. В базовом варианте шаблон такой (индекс, ширина, высота): https://picsum.photos/id/123/1000/1000

Placeholders – https://via.placeholder.com/100x100
Просто заменяют изображение на placeholder серого цвета с размерами, записанными цифрами. Иногда может быть полезно, чтобы цвета и сами изображения не отвлекали. Шаблон простой – ширина на высоту:
https://via.placeholder.com/382x320

Котики (ну а вдруг :)https://placekitten.com/
Здесь много разных котиков, в разных размерах. Шаблон простой – ширина, высота:
https://placekitten.com/200/200

А какими ресурсами пользуетесь вы?
#инструменты
@faangiscalling
👍2
Инженерная культура Facebook, Amazon, OpenAI, Figma, Stripe 👨🏼‍💻

Первое, что нужно понимать – все компании в FAANG довольно сильно отличаются друг от друга и чтобы перейти от общего желания ‘хочу в FAANG!’ к конкретике, нужно побольше узнать о самих компаниях. Я напишу еще отдельно основные особенности каждой.

А сегодня, чтобы лучше понять, в какой FAANG компании вы хотели бы работать, предлагаю вам полистать статьи об инженерной культуре Facebook, Amazon, OpenAI, Figma, Stripe.

Автор – ex-Uber, ex-Microsoft инженер Gergely Orosz, и в этих статьях он беседует с техническими директорами компаний (вашими будущими боссами ;)

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

https://newsletter.pragmaticengineer.com/t/engineering-culture-deepdive
#инженернаякультура

@faangiscalling
👍6
#интервью
Костя Горский, CEO HireHire, ex-дизайн-директор Яндекс
📍Дублин, Ирландия 🇮🇪 ☘️
💼 HireHire, Intercom, Яндекс

Смотрите в видео:
– как конференции и нетворкинг помогают в поиске работы
– как искать работу за рубежом
– как проходят собеседования за рубежом
– как проходит первый рабочий день за рубежом
– отличия найма в России и в Европе
– о рынке найма сейчас
– что больше всего застает русскоязычных кандидатов врасплох на собеседованиях и как к этому подготовиться

P.S. Костя тоже тут на канале, поэтому вы можете задавать ему вопросы в комментариях.

@faangiscalling

🎥 Смотреть: https://youtu.be/Xyml5Tl_ias
👍3
Архитектура бэкенда Instagram 📸

Мне попалась интересная статья с обзором “внутрянки” Instagram, хочу поделиться с вами. Итак, на сервере у Instagram популярный Python-фреймворк Django:

Монолит: миллионы строк кода, сотни endpoints
Очень “живой”: сотни инженеров делают сотни коммитов каждый день (!)
Расширения: Cython и C++ (для дополнительной скорости)


Как удается предотвратить хаос в коде и выпускать новые фичи быстро? Две основные вещи, которая использует команда Instagram:
linting (автоматическая статическая проверка кода на следование заданным правилам – от простых типа “всегда одинарные кавычки для строковых констант” и подсветки неиспользуемых переменных, до более сложных, описывающих принятый в компании coding style)
автоматизированный рефакторинг


🔗 Подробнее в ссылках:
📌Статья Static Analysis at Scale: An Instagram Story: https://instagram-engineering.com/static-analysis-at-scale-an-instagram-story-8f498ab71a0c
📌Видео “Django at Instagram” с конференции Django Under the Hood (Амстердам 🇳🇱, 2016): https://www.youtube.com/watch?v=lx5WQjXLlq8
📌Видео “Releasing the World's Largest Python Site Every 7 Minutes” с конференции PyCon (Кливленд 🇺🇸, 2019): https://www.youtube.com/watch?v=2mevf60qm60
🔥3
Фронтенд-разработчик из Spotify: стажировка в Google, оффер Microsoft и жизнь в Лондоне 🇬🇧

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

В этом видео Елизавета, фронтенд-разработчик в музыкальном сервисе Spotify в Лондоне поделилась множеством интересных историй из своей карьеры:
⁃ Как попасть на стажировку в Google в Цюрихе
⁃ Как попасть на стажировку в Cisco в Кремниевой Долине
⁃ Как попасть на стажировку в CERN в Швейцарии
⁃ Как получить оффер от Microsoft в американский офис и отказать им
⁃ Как закрыть гештальт с Яндексом
⁃ Как найти работу в Лондоне (спойлер - через сайт)
⁃ Как заинтересовать HR-а на скрининговом звонке
⁃ Как проходит собеседование в Spotify
⁃ О поиске жилья в Лондоне, ценах, коммуналке
⁃ Досуг в Лондоне - концерты, путешествия

У Елизаветы есть свой канал в Телеграме: @lizas_sweets

Она будет рада ответить на ваши вопросы!

@faangiscalling

Видео: https://youtu.be/opWItMLXqco
4🔥4
Как перестать беспокоиться за свой английский и найти работу мечты 🤩

Опытом поделился Андрей Столбовский, который работал в Яндексе и устроился в Amazon в Лондоне:
🧑‍💻 Андрей Столбовский (ex-Yandex)
💼 Software Development Manager (Amazon, AWS Redshift)
📍Лондон, UK 🇬🇧

Ключевое:
– акцент есть у всех и все говорят с акцентом
– говорите простыми словами без всяких идиом и сложных слов (I’m swamped -> I’m very busy)
– переспрашивайте, если не поняли
– используйте видеозвонки, не собеседуйтесь по мобильному телефону
– слушайте разные акценты на YouTube
– заготовьте истории на английском для собеседований в Гугло-таблице (см. пример)
– пройдите тестовые (mock) собеседования с ребятами из FAANG, например тут (Prepfully)

После прочтения статьи уверенности у вас точно должно стать больше. А если еще подготовиться и попрактиковаться – все точно получится! 💪

Я тоже вижу, что многие пытаются усложнить свою речь на английском, чтобы выглядеть ‘профессиональнее’. Этого точно делать не нужно, проще слова, легче вас понять. Вы не диссертацию по Шекспиру защищаете, а просто рассказываете о себе и своих результатах за 20-30 минут :)

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

А у вас есть страх прохождения собеседований на английском?

@faangiscalling

https://vc.ru/u/1036111-andrey-stolbovskiy/1024429-kak-ya-ustroilsya-v-amazon-i-perestal-perezhivat-za-svoy-angliyskiy
🔥10👍4
Tell me about yourself: секретная формула, чтобы зажечь в начале интервью 🔥

Меня, как и большинство людей, ставил этот вопрос в тупик, пока я не узнал эту ‘секретную формулу, которая реально работает’ (с). Поделилась ей опытный американский рекрутер Анна Папалия (Anna Papalia).

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

Сам ответ на этот вопрос, конечно, подразумевает рассказ о вас как о профессионале, а не как о хорошем человеке (‘женат, двое детей, люблю рыбалку…’ это не туда).

🟰Секретная формула Tell me about yourself: Past + Present + Future 🔥

Но начинаем, конечно, с представления себя.

0. Представьтесь

💬
Например:

Hi, I’m Sergei, software developer based in Paris.

1. Past (прошлое) – коротко рассказать, почему вы выбрали эту профессию, образование, ключевые прошлые проекты

💬 Например:

I liked coding since I was a kid, so I’ve chosen Computer Science as my major. I’ve been developing web apps for startups and enterprises for 5+ years using JavaScript/TypeScript on Frontend and Python on backend.

2. Present (настоящее) – здесь нужно рассказать о текущей работе/текущем проекте

💬 Например:

Now I work for startup/scale-up/company with 5M MAU as Senior Frontend Developer – I develop complex UI that uses React and Python on the backend with Amazon Web Services.

3. Future (будущее) – здесь нужно рассказать, как вы видите себя в этой роли в этой компании, используя ключевые слова из описания вакансии/рассказа интервьюера о роли:

💬 Например:

In this position I’d be happy to work on UI development of your new project using Next.js that you have and integrating it with your Python-based backend.


Если вас тоже ставил этот вопрос в тупик, ставьте лайк👍

И поделитесь в комментариях, как эта формула сработала на ваших интервью 👋

Rock on the interview! 🤘

@faangiscalling
#собес #интервью #сша #европа
🔥223
Лучший способ изучать разговорный английский язык 🇬🇧

Я знаю 10+ иностранных языков и попробовал, пожалуй, все возможные способы их изучения. По фильмам, подкастам, с нейтивами, с не-нейтивами, по методу Ильи Франка, по самоучителям, по визуальным словарям, книжкам “50 тем для школьников”, читая художественную литературу, через Duolingo, с погружением и без. Делюсь своей находкой, которая поможет вам изучать именно разговорный язык, на котором вы будете общаться с коллегами и рассказывать истории на собеседовании.

Обычно все, кто хотят изучить язык, начинают это делать совсем не так. Я тоже так начинал.

Идете в книжный и вас начинает тянуть на классику, ее там много и кажется, что это, ну, круто! У меня руки сами потянулись к Диккенсу с его “Оливером Твистом”. Но сейчас понятно, что ни сама история, ни язык, не имеют никакого отношения к языку, на котором сейчас разговаривают люди и в какой реальности живут. Это все полезно, когда вы уже уверенно владеете языком, но и тогда нужно выбирать авторов и сюжеты на свой вкус – я так и не прочитал больше 2-х абзацев “Оливера Твиста”, хотя с огромным удовольствием прочитал потом того же “Гамлета”.

Отличный инструмент для изучения живого разговорного языка – это комиксы. В них есть лучшее от фильмов без их недостатков: картинка помогает понять контекст, “кадры” не сменяются слишком быстро, чтобы не успевать читать субтитры. Язык простой и понятный, можно запоминать сразу фразами и сразу их использовать. Для успешного результата нужно выбрать именно те комиксы, которые вам реально нравятся.

Во Франции с комиксами особенно хорошо – тут они продаются прямо в книжной секции “Перекрестка” (Карфура). Так вот я выбрал себе Симпсонов – любимые герои, интересный для меня сюжет, очень живой язык, даже незнакомые фразы понимаешь из контекста. I wish I knew it before!

Надеюсь это поможет вам быстрее выучить язык и получить работу вашей мечты!

Какие комиксы на английском вы бы прочитали?

@faangiscalling
#английский
9
Можно ли попасть на собеседование, написав бред в тексте резюме? Да!

Интересный эксперимент провел Джерри Ли из Сан-Франциско – он подался на 100 вакансий и получил 29 приглашений на интервью, когда в резюме были, в том числе, следующие достижения:
– устраивал оргии в офисе по пятницам
– майнил эфир для себя на оборудовании Гугла на $15M
– увеличил шансы своей собачки победить на всемирной выставке собак на 20%

Резюме в приложении (чистое и с выделением “достижений”, с ходу их реально не сразу заметишь. Также в приложении тепловая карта айтрекинга при прочтении резюме).

Как это вообще возможно?

Разбираемся по пунктам:
– названия известных компаний в опыте – он указал Instagram, Google, Amazon
– первый абзац, который читают без троллинга
– во всех буллетах с результатами есть цифры (даже если и бредовые :)

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

🧐Мораль эксперимента: хотите получать больше приглашений на собеседования?

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

Если что-то действительно важное останется внутри буллетов – скорее всего это никто не увидит и не прочитает.

@faangiscalling
8😁6🔥2
Статистика найма от PostHog (20К ⭐️ на GitHub)

PostHog (www.posthog.com), open-source сервис продуктовой аналитики с 20К звезд на GitHub и $27 млн инвестиций, поделился интересной статистикой найма инженеров. Я думаю, это может быть вам полезно в поисках вашей работы.

Воронка с конверсией в 0,4% в найм:
• 900 подач
• 86 позвали на первое скрининг интервью
• 55 позвали на второе техническое интервью
• 10 позвали на тестовый рабочий день (SuperDay)
• 4 получили офферы

Зарплаты, кстати, все открыты и их можно посчитать в калькуляторе самому в зависимости от роли, опыта и локации (нанимают везде по миру) (Compensation - Handbook - PostHog). Уровень довольно хороший, помимо зарплаты везде предлагают еще и опционы:
• Frontend в Сан-Франциско 🇺🇸~$200К в год
• Frontend в Париже 🇫🇷 ~ €110К в год
• Frontend в Армении 🇦🇲 ~ $125К в год

А сколько раз вы подавались и какая была конверсия в интервью?
#статистика #posthog

@faangiscalling
🔥61
Где брать опыт? Решаем проблему курицы и яйца 🐔🥚

Пройдя более 100 собеседований, я часто встречал требование по участию в open-source проектах, особенно часто это спрашивали на полностью удаленные позиции.

И вот я сам сделал первый шаг - одобрили и смерджили в main мой первый pull request (PR) в open-source проект. Это багфикс в React Native/Expo 🥳

Чем хорош open source? Он отлично решает проблему 'курицы и яйца' - получить нужный вам опыт без опыта в этой теме.

Как выбрать проект? Я считаю, что лучше брать довольно популярный проект, чтобы потом на звонке с рекрутером дополнительно не пояснять, а что это за проект XYZ. Даже в большом, популярном проекте могут быть небольшие задачи и баги (баги есть всегда и в любом проекте, слава Богу :)

После выбора проекта нужно погрузиться в то, как он устроен и работает - поставить самому, попробовать что-то сделать, изучать код, смотреть видео про использованные там технологии, почитать раздел Issues проекта на GitHub. Посмотреть текущие PR. Я еще подписался на все уведомления по проекту на GitHub, тогда видишь, что другие люди добавляют в проект.

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

Так вы сможете получить хороший опыт, который точно улучшит ваше резюме 📝

А какой ваш опыт с open source?

@faangiscalling

https://github.com/expo/expo/pull/30614
4🔥3👍2