Vadim Chistiakov | IT
1.85K subscribers
67 photos
2 videos
101 links
Сообщество разработчиков со всего мира: boosty.to/chistiakov
Менторство: https://vadim-chistiakov.github.io
Автор: @chvadim

Рассказываю о программировании и жизни разработчика в Лондоне на Global Talent Visa. Делюсь мыслями, опытом и знаниями.
Download Telegram
Новый чатик для подготовки к алгоритмическим интервью ✍️

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

Если вы отказываетесь проходить алгоритмические интервью, то вы срезаете количество компаний, готовых вас нанять. Для крупных международный компаний - это обязательный этап на позицию любого разработчика.
На российском рынке я не замечал большой разницы в зарплатах между крупными компаниями, где есть алгоритмические интервью, и любыми другими, где их нет. На западном рынке разрыв уже существенный. Можете сами проверить на level.fyi. Зарплаты в хэджфондах, фаанге или крупных банках гораздо выше средней по больнице. Это главный аргумент за позицию “алгоритмы нужны”.

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

Что вы уже найдете в чате?

🎯 Задачки, которые попадаются на интервью. Предпочтение задачам, которых нет на Leetcode и других площадках;
🎯 Решения и объяснения задач хитрых задач;
🎯 Моковые алго-интервью для всех желающих вне зависимости от уровня и языка программирования. Пара найдется всем. Тренироваться можно как на русском, так и на английском языках;
🎯 Задачи помечаются тегами компаний, в которых они встречались, и уровнем сложности (субъективная оценка, может подвергаться сомнению) Например: #Apple #medium;
🎯 Решения и объяснение выкладываем под спойлером, так будет удобнее для тех, кто хочет решить сам без подсказок. Вместе с ответом можно написать объяснение или поставить тег проблемы, например #slidingwindow;
🎯 Если у вас есть интересные задачи, не стесняйтесь выкладывать или обсуждать условия/решение с остальными.

Уже добавил свежие задачи из Яндекса, Альфа-банка, Тинькофф, Google и других компаний.

Вступить можно через boosty или tribute
Please open Telegram to view this post
VIEW IN TELEGRAM
Подготовил разборы, как спроектировать кэш и свой загрузчик изображений 🥺

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

Вот некоторые из будущих тем, которые хотелось бы рассмотреть глубже:

👉 Задания от российских компаний. Как правило системный дизайн ограничен одной фичей или проблемой. Например, дают дизайн экрана и просят описать интерфейсы, нарисовать верхнеуровневую схему и провести по флоу работы фичи. Хотя есть и исключения, например, “спроектируй мне тетрис“. Казалось бы, зачем решать проблемы тетриса в 2к24 году?

👉 Проектирование популярных приложений: Instagram, Twitter, Uber и тд. Очевидно, что за час интервью такие проблемы не решаются, но и задача не в том, чтобы подготовить production-ready решение. Собственно, в будущих разборах попробуем выяснить, что нужно делать на таком интервью, а что можно оставить за скоупом.

👉Хитрые вопросы из FAANG. В таких компаниях можно встретить совсем неожиданные вопросы. Например, вам нужно спроектировать свою структуру данных, которая будет вести себя определенным образом. Или продумать как работает аэропорт и вся его инфраструктура, не написав и строчки кода. Нелегкая задача, особенно для мобильного разработчика.

Stay tuned!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
NSLondon at Apple 🍏

Хочется поделиться приятным послевкусием. На днях посетил конференцию NSLondon в офисе Apple. Как и предполагалось, ажиотаж был не маленьким, и примерно 140 человек забронировали свой билет на мероприятие менее, чем за 2 минуты после открытия записи. Кажется, что участники караулили билеты как в очередях за новыми айфонами когда-то.

ИМХО доклады были посредственные. Первый походил на воркшоп и по большей части пересказывал документацию. Чат ЖПТ справился бы не хуже. Второй - опыт создания пет-проекта. В целом, ничего уникального, еще один трекер привычек. Сорри, что все обесценил)

Apple всегда подходит к созданию чего бы то ни было с размахом и большим вниманием к деталям. Будь то грандиозный проект офиса в Купертино за несколько миллиардов долларов или новая штаб-квартира в Лондоне в исторической постройке Battersea Power Station. Здание бывшей угольной электростанции в результате джентрификации превратилось в классное место притяжения, а Apple заняли 40% площадей.

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

Apple умело создали ощущение как у Чарли на Шоколадной Фабрике. Ходишь, удивляешься и к тому же нельзя ничего снимать и фотографировать. Но когда нас это останавливало) Охраны тоже было много, но, вроде бы, они лояльно закрывали глаза и замечаний никому не прилетало. Если вы тоже хотите пообщаться с сотрудниками и прийти к ним в гости, можно записаться на сессии по разным тематикам.
Please open Telegram to view this post
VIEW IN TELEGRAM
Типы технических интервью для мобильного разработчика

Попалась мне одна занимательная статья, которая проливает свет на то, какие типы system design интервью можно встретить на рынке труда. Однако, она ориентирована больше на бекенд и фулл-стек разработчиков.

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

- Теоретические вопросы
- Алгоритмы
- Проектирование Класса/Библиотеки/Приложения
- Gathering requirement или Сбор требований
- Рефакторинг кода

Я уверен, можно наткнуться на любой другой формат, ведь есть компании "не такие, как все".

Но сегодня я бы хотел заглянуть в Object Oriented Design или Low Level Design.
Большой пласт знаний, который не уместится в одном посте. Умельцы из FAANG сделали на этот счет курс из 173 уроков, например.

Как правило, в таком формате озвучивается проблема и в результате хотят увидеть стройную систему. Помните, что цель - не нарушать принципы проектирования SOLID и ему подобные. Также грамотно применить подходы объектно-ориентированного или протоколо-ориентированного программирования.
Собственно, это именно то, что делает разработчик практически каждый раз при написании кода.
Пример такого задания из американского бигтеха можно найти по ссылке.
Персональный сайт

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

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

Я решил поковыряться в новом стеке и сделать сайт самостоятельно. Конечно, можно заплатить профессионалам, но тогда я не смогу поддерживать его.
Чтобы сильно не заморачиваться, я выбрал подходящий шаблон на https://astro.build и добавил недостающие компоненты.

Сразу скажу, что у меня нет никакого опыта с веб разработкой. Знания html, css, java script - на уровне студента, поэтому я применил ChatGPT-driven-development) В целом, подход рабочий, с простыми задачами он справляется хорошо. Если не забывать подключать голову, за несколько дней на коленках можно что-то собрать. Все инструкции, как писать код, ui слой и как задеплоить на хостинг, есть на сайте.

Новые технологии дают новый опыт, расширяют взгляд на разработку в целом. По моему мнению, развитие в ширину - такое же необходимое направление для роста инженера, хотя бы на уровне поддержания диалога с коллегами из смежных областей. Плюс ко всему, эта активность утвердила мои представления о том, что разрабатывать под iOS приятнее.
О сеньерности и грейдах 📊

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

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

Ввести исчисляемые метрики и на их основе определить грейд пока невозможно. Нельзя сказать, что разработчик, который пишет 200 строк кода в день - джун, а если 1000, то уже сеньер. Может быть, кто-то и пытается это делать (индусы), но я не встречал рабочую систему. Годы опыта или зарплата тоже не совсем подходит. Человек мог просиживать штаны 5 лет на галере, а другой - запустить свой проект, поработать в биг-техе и получить хорошее образование за то же время. Вероятнее всего, их уровень знаний и компетенций будет разным. Что касается финансовой компенсации, можете сами найти вакансии на сеньора за 150к. Многие компании таким образом приманивают гоев на красивые тайтлы: “Senior Staff Solution Architect” - зарплата 3 ветки в месяц.

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

Почему важно понимать такие нюансы? Тогда вы перестанете задавать вопросы в стиле “Могу ли я откликаться на вакансии с опытом от 3 лет и надписью сеньер-помидор, если у меня только 2 года, и в трудовой я записан как мидл?” Ответ: конечно, можете! Все нанимающие менеджеры вкладывают в это понятие разные смыслы, и даже при низкой самооценке может быть, что знаний и умений справиться с этой работой более чем достаточно.

В моем опыте были тоже случаи, когда стандартное представление о грейдах разрушалось о действительность. В МТС после повышения моя роль называлась «эксперт», что было выше старшего разработчика. При этом моя работа была вполне обычной без Rocket science. Спустя несколько месяцев я перешел в Амедиатеку на грейд обычного разработчика с повышением зарплаты. Мои задачи стали нетривиальными, количество неопределенности, обязанностей и влияния увеличилось кратно. Это закрепило мое представление об отсутствии сакральной важности названия твоей роли.

Как же определить уровень разработчика, чтобы ожидание и реальность на входе совпали? Компании, которые задаются этим вопросом не первый год и являются лидерами индустрии, выбирают подход с поиском “сигналов”. В простом приближении это означает, что в ваших ответах на вопросы, поведении и подходах пытаются выявить сигнал о том, что вы действительно в этом разбираетесь или что вы реально решали такую проблему. Как и любая другая система этот подход тоже абъюзится. Особенно, если интервьюер недостаточно опытен в тех вещах, про которые спрашивает. Собственно поэтому мы и видим 5-7 этапов в крупных компаниях, где разные специалисты должны поставить оценку вашему интервью и по среднему арифметическому определить ваш грейд. Несложно заметить, что и в таком способе есть изъяны.

Подводя итог, я бы рекомендовал главным образом не зацикливаться на этом и не гнаться лишь за надписью в трудовой. Если у вас есть способ определения сеньера из толпы, расскажите в комментариях. Карты таро не предлагать.
Please open Telegram to view this post
VIEW IN TELEGRAM
О книге The Software Engineer's Guidebook 📓

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

Поначалу, половина идей мне казались очевидными для разработчиков из любой компании и любого грейда с маломальским опытом. Например, чтобы держать в курсе стейкхолдеров о своей работе, поставьте созвон или напишете сообщение. Премия «кэп года» goes to Gergely Orosz! Но под конец книги я начал проникаться и все-таки это дало свою пищу для размышления. Интересно стало читать о ролях выше своей, на которых я никогда не работал.

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

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

Вы-кост или вы-профит.
Все галеры нанимают инженеров, которые по своей сути являются профитом. Деньги делаются на марже от продажи этих сотрудников другим компаниям.
Если вы работаете в команде, которая пилит пейволы, то отчасти вы-тоже команда профита.
А что если вы работаете в платформенной команде? Скорее всего, вы больше похожи на кост, хоть это и сильное упрощение.
Но я видел проявление этой логики на живом примере. Как только у компании начали заканчиваться деньги, бизнес перестает видеть ценность в автоматизации, тестах или повышении качества кодовой базы. В таком случае, весь ресурс пускают в гриндинг быстрых денег, тем самым снижая горизонт планирования до минимума. И команда платформы начинает красить кнопку "купить". И я думаю не сложно догадаться, кто первый идет «на мороз», если в компании лэйоффы.

Эта книга сможет подскать вам, как оценивать конъюнктуру в компании и команде. Как делать правильные предположения о том, стоит ли ливать с проекта или есть смысл остаться. Ведь кто-то же должен подняться по этой "лестнице".
Качаем публичный профиль для Визы Таланта 👸

Основная проблема, с которой сталкиваются желающие получить визу таланта, - недостаток доказательств для кейса. Я сам был в такой же ситуации. Поэтому, хочется помочь выстроить план и за срок в 6-12 месяцев сделать из любого IT специалиста Global Talent Immigrant'a.

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

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

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

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

Я уже писал о самой визе в канал и на Хабр. Также о плюсах и минусах GTV в сравнении с визой Skilled Worker (рабочая виза)

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

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

Чтобы ничего не пропустить и задавать свои вопросы по визе, добавляйся в чат через Boosty бота. Там мы обсуждаем, как проложить путь к визе таланта и жизнь в Великобритании.
Please open Telegram to view this post
VIEW IN TELEGRAM
Почему именно FAANG?

У меня сложилось впечатление, что многие люди, услышав аббревиатуру FAANG/MANGA, представляют себе 5 компаний и возводят их в культ. Они полагают, что все остальные чем-то хуже и не входит в когорту элиты. Для меня это выглядит как искажение, и вот почему.

Новые тренды
Сам термин расфорсили 10 лет назад, с того момента мир сильно поменялся. На повестке появились новые компании, которые делают современность. OpenAI дисраптит монополистов как Мета и Google, а SpaceX уничтожает гигантов с господдержкой. Если выбирать новые буквы, то очевидно, это хорошие кандидаты.

Капитализация
За последние годы капитализация Nvidea сильно выросла, сделав рядовых сотрудников долларовыми миллионерами. Microsoft в лидерах по капитализации десятки лет и стоит более 3 трлн $, но никогда не был частью FAANG, что кажется несправедливым. Список можно продолжать, та же Tesla давно обогнала Netflix и оказывает значительное влияние на современный прогресс.

Гейткипинг от США
Сложно не заметить, что текущая аббревиатура отражает гегемонию США в технологическом мире. Но Китай давно наступает на пятки за это и получил бан (или нет) TikTok. Кажется, это жирный флаг, что не только американские компании являются лидерами в IT. А если оценить, сколько внимания захватывает TikTok особенно у молодежи, то Facebook на этом фоне будет голубиной почтой для дедов.

Можно выбрать и другие метрики: размеры штата, зарплаты и наборы бенефитов для сотрудников. Тут тоже есть компании, которые могут составить конкуренцию. Хедж фонды, HFT платят гораздо выше рынка.

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

Как насчет GHOSTMAN — Google, Huawei, OpenAI, SpaceX, Tesla, Microsoft, Amazon, Nvidia. Звучит мощно, как призрачный магнат технологий.

Или MAGNUSON — Meta, Apple, Google, Nvidia, Uber, SpaceX, OpenAI, Netflix - почти как шахматист.

Ваши варианты пишите в комментарии!
Поиск работы в Лондоне 😩

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

Активно я начал откликаться в сентябре 2024 года, параллельно изучая глубже теорию, алгоритмы, системный дизайн и, конечно же, поведенческие интервью. Они были самыми сложными, потому что больше сопряжены с английским языком. Представление о том, что для прохождения интервью достаточно базового уровня, на мой взгляд, ошибочно. В таком случае, диалог с любым носителем языка со сложным акцентом превратится в кошмар. А если вы претендуете на высокий грейд, то межличностная коммуникация для вас очень важный навык. Не стоит недооценивать софты)

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

В общей сумме я насчитал 39 компаний, от которых я получил приглашение начать диалог. Около 80% было из Великобритании. За 4 месяца активного поиска я прошел по меньшей мере 50 интервью. Это и короткие скрининги на 15 минут и комплексные собеседования по 2 часа. Такой опыт дает четкое понимание о том, как выглядит процесс найма на новом рынке труда.

По итогу я принял оффер от компании ASOS на позицию Senior software engineer. Весь процесс с ними занял примерно 3.5 месяца от отклика до выхода на работу. По всем важным для меня параметрам это оказалось лучшим предложением. Полная удаленка - что очень редко в Лондоне. В команде есть договоренность приходить раз в 2 недели на общую встречу в офис, но это опционально. Самая любопытная часть - я целился в отметку не ниже медианной зарплаты разработчика в Лондоне, которая сейчас примерно £100k. С этой задачей я справился 😎

Приготовьтесь к постам о моих наблюдениях именно на рынке Великобритании. Попробую описать, как проходили интервью, чьи процессы мне понравились больше всего, какие принципиальные отличая от СНГ рынка я заметил и с какими сложностями столкнулся. Пока можете ознакомиться с моей подборкой компаний, которые помогают переехать в Британию.
Please open Telegram to view this post
VIEW IN TELEGRAM
Стрим с разработчиком из Google

Чем еще заняться в воскресенье? Поговорить о карьере конечно.

16 февраля в 12:00 GMT+0 по лондонскому времени (15:00 по мск)
мой друг и бывший коллега Влад подключится из польского офиса Google, чтобы рассказать нам о своем пути в FAANG.

Поговорим о подготовке к собеседованиям, поиске работы и конечно же особенностях бигтеха.

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

Вопросы к Владу оставляйте к этому посту, буду задавать походу встречи. И ставь🔥, если придешь завтра!
Live stream started