Русский
Русский
English
Статистика
Реклама

Культура разработки

22 сентября, Онлайн-митап Product Engineering Meetup 2 Культура разработки

17.09.2020 16:18:03 | Автор: admin
22 сентября мы проводим онлайн-митап Product Engineering Meetup #2 Культура разработки в продуктовых компаниях.

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

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

Спикеры инженеры и менеджеры продукта из Badoo, ManyChat, Додо Пицца и Работа.ру. Будем говорить о том, какие практики помогают командам создавать качественные продукты. Обсудим, какие процессы разработки помогают фокусироваться на донесении ценности пользователям и соблюдать сроки. Рассмотрим, как находить компромисс между бизнесом и разработкой и определять границы ответственности.

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

Регистрация доступна по ссылке, а подробности программы читайте под катом.



Доклады


История эволюции фичи: от MVP до одной из основных функциональностей продукта Евгений Жуков, Backend Developer (ManyChat)

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

Как перестать беспокоиться и начать верить А/Б тестам 2 Максим Кислов, Frontend Engineering Manager (Badoo)

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

  • как организовать работу с А/Б тестами внутри компании;
  • как дать бизнесу ответ на вопрос ну как там наш тест?;
  • как определить границу ответсвенности техлида и разделить ответственность с продактом.

Инициатива не наказуема. Почему разработчика важно погружать в продуктовую жизнь Лаша Харчилава, Ведущий Менеджер Продукта (Работа.ру)

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

Как релиз продукта вышел на полгода позже, а пересмотр процессов разработки научил нас попадать в сроки Борис Герн, B2C Product Lead (Додо Пицца)

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

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

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

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

Участие


Встреча пройдёт онлайн, 22 сентября. Начало в 19:00.

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

Для участия нужно заполнить форму регистрации, чтобы получить ссылку для подключения и напоминание о трансляции.
Подробнее..

Личный опыт Работа в Uber в Амстердаме как устроена разработка, карьерный рост, подготовка к интервью

13.09.2020 20:11:44 | Автор: admin

В нашем блоге мы уже не один раз рассказывали о переезде в Нидерланды (раз, два). Разработчики, которые оказались в Амстердаме в один голос говорят о том, что с точки зрения технологий и подходов к разработке среди местных ИТ-компаний в лучшую сторону выделяется Uber. И сегодня нам удалось поговорить Алиной Коваленко, которая работает в компании в должности Software Engineer II. Алина поделится своим опытом переезда и даст несколько полезных советов. Передаем ей слово!

Всем привет, меня зовут Алина, и уже несколько лет я живу в Амстердаме и работаю backend-разработчиком в одной из команд направления финансовых сервисов (Money Hub) в Uber. Сегодня расскажу о том, как устроены процессы разработки, что необходимо для карьерного роста в Uber, а также к чему стоит готовиться перед прохождением интервью в компанию.

Введение: как переехала я

О переезде серьезно я задумалась примерно в 2014 году. Именно тогда мне захотелось эмигрировать, причем не просто пожить годик за границей, а именно связать свою жизнь с Европой. На протяжении многих лет я была влюблена в Германию, поэтому изучение вопросов эмиграции начала именно с этой страны.

Тогда стало понятно, что прежде всего нужно подтянуть английский, а моего intermediate-уровня не хватит для переезда. На тот момент я работала backend-инженером в Mail.Ru, и у нас там были корпоративные курсы английского ими я и воспользовалась. В плюс к этому отдельно с преподавателем я занималась именно подготовкой к собеседованиям, ведь прохождение интервью это отдельный скил, который нужно прокачивать (особенно если говорить надо на иностранном языке).

Когда я почувствовала себя готовой к прохождению интервью, начала рассылать резюме. На то время использовала популярные job-сайты, вроде Monster,de, Indeed.de, Xing.com. Конечно, смотрела и сайты компаний, отправляла резюме по всей Европе и даже в некоторые американские.

Сегодня найти вакансии с возможностью релокации в Европу и Амстердам в частности, можно проще используйте бота g-mate (@g_jobbot), чтобы получать предложения, подходящие именно под ваш опыт, прямо в Telegram.

Среди компаний, которые позвали меня на интервью были американский сервис Yelp и Booking.com. С Booking процесс двигался активнее всего я прошла skype-собеседование, и меня позвали на onsite-интервью. В тот приезд Амстердам мне дико не понравился везде стоял специфический запах травы, была неприятная октябрьская погода. Но в итоге мне отказали, сказав, что нужно еще немного прокачаться.

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

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

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

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

В итоге выбор пал на Нидерланды и Амстердам, а в этом городе есть два известных варианта все тот же Booking и Uber. Я собеседовалась в обе компании. В Uber был стандартный процесс, начиная со скрининга с HR-специалистом, а в Booking меня уже знали, так что дали просто тестовое задание и сразу позвали на onsite-интервью.

Расскажу поподробнее об onsite-интервью в Uber это достойно отдельного упоминания. Начнем с того, что их в один день было шесть: 2 интервью на кодинг, 2 на дизайн и архитектуру, 1 поведенческое интервью с инжиниринг-менеджером и один так называемый bar raiser. В ходе этого последнего этапа собеседующий тебя senior-инженер оценивает, насколько ты подходишь под культуру компании в целом.

Это был очень тяжелый и невероятно выматывающий день. К последнему этапу сил у меня почти не осталось, плюс bar raiserом был инженер из Дании, которого я очень плохо понимала, и почти каждый вопрос приходилось переспрашивать. В итоге мне казалось, что собеседование я не прошла, вернулась в Москву и отправилась в отпуск автопутешествие через Германию в Амстердам, где было запланировано интервью в Booking. За три дня до этого интервью, мне написали из Uber и сказали, что они готовят оффер, но уже точно меня берут и даже назвали зарплату.

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

Процесс переезда и адаптация на новом месте

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

В команде я оказалась единственной девушкой-инженером, но наш инжиниринг-менеджер тоже была девушка, и ее начальник и начальник начальника тоже были девушками. Большая часть коллег в команде переехала из софийского офиса в Болгарии, а еще было два нейтив-спикера из Южной Африки.

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

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

Как устроена разработка в Uber

В компании строгий стек технологий на момент моего прихода для бэкенда это были Python, Java, Go, а для фронта Node.js. Теперь Python постепенно выводится из обращения, а основная разработка ведется на Java и Go. Также Uber почти не использует внешние сервисы есть ряд исключений типа DynamoDB и Google Cloud Spanner. В тот период, когда я пришла, Uber переживал интересный период в жизни происходила трансформация из стартапа в большую компанию. В частности, особое внимание стало уделяться не просто созданию продуктов, которые работают, но и достижению высокой надежности и производительности.

Появились так называемые Engineering Foundations инжиниринговые инициативы по улучшению кода. Например, у нас был сервис Realtime API, изначально написанный на Node.js его полностью переписали, на микросервисы. Вот отличная статья об этом в инженерном блоге.

Этот тренд охватил всю разработку монолитные сервисы до сих пор активно разбивают. Все сервисы, которые касаются денег (тот самый Money Hub я работаю в одной из его команд), разрабатываются в соответствии с требованиями комплаенса, применяется автоматический provisioning для повышения надежности и т.п.

Для любого изменения в инфраструктуре есть формальный ERD-процесс, который зависит от масштабов перемен. Если нужно, например, переписать какой-то сервис, то сначала разрабатывается документ с описанием того, зачем это нужно (Abstract), а потом уже изменения описываются подробно. Когда я переделывала сервис по выводу средств (on-demand cashouts) мое описание составило примерно 40 страниц. Этот документ комментируют члены команды, и если нужно, коллеги из команд, чьи сервисы также будут затронуты. Аналогично построен процесс для новых проектов.

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

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

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

Сравнение с Mail.Ru, карьерный рост в Uber

Мне трудно сравнивать Uber и Mail.Ru, потому что в текущей компании есть жесткий стек технологий и почти все проекты очень тесно связаны пожалуй, кроме Self-driving cars и Maps. В Мейле же всегда было множество не особенно связанных друг с другом проектов. Поэтому и стек технологий, и процессы разработки каждая команда выстраивала под себя. Во время моей работы там, мы использовали Jira, код ревью минимум от двух коллег, но на 2016 год, когда я уходила, процессы разработки еще не были выстроены настолько строго и существовали на уровне команд и проектов. С Uber это нельзя корректно сравнить.

При этом в Mail.Ru было проще расти по карьерной лестнице. Там работало меньше людей, так что всегда было пространство для того, чтобы показать себя. Но с другой стороны, процесс карьерного роста не был формально описан, а значит все происходило непрозрачно. Повышение ты получал, когда шел разговаривать с начальником, а тот принимал решение дать или не дать.

В Uber не так здесь есть четкие критерии, которым нужно соответствовать для получения promotion. Когда я пришла в компанию, для этого в том числе нужно было написать большой документ Review о том, что ты делал и какие навыки задействовал. Также был отдельный документ Skillset в нем для каждой роли описывались необходимые навыки. Для повышения ты должен был показать, что в своей работе уже задействуешь навыки со следующего уровня по карьерной лестнице.

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

Сейчас процессы упростились, и теперь повышение дается на основе документа под названием Impact resume. Тут все попроще нужно описать свои проекты и достижения, какие были трудности, как они решались, и какие навыки задействовались по определенному шаблону. Также здесь указывают все, что человек делал помимо основной работы например, я вела стажировки, выступала в качестве happiness manager для команды организовывала неформальное общение и т.п. Конечно же, этот документ также проходит peer review.

В итоге повышение получают только те, кто к этому готов, а не тот, кто лучше договаривается с начальством. Я считаю, что ситуация, когда человек плюс-минус достоин повышения, но не получил его сразу, лучше, чем когда повышают явно неготового сотрудника. Это серьезно демотивирует всю команду.

Как пройти интервью в Uber: советы инженерам

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

  • Готовьтесь к интервью это не легкая прогулка, особенно в компаниях вроде Uber. Решайте практические задачи на Leetcode и HackerRank, прокачивайте английский, проходите mock-интервью.

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

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

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

В целом, в Uber собеседования построены вполне адекватно. В компании все понимают, что конкурируют за разработчиков с гигантами, вроде Google и Microsoft. Поэтому одна из задач интервьюеров продать компанию кандидату. Так что обстановка на собеседованиях здесь вполне дружелюбная, и у вас будут все возможности показать себя во всей красе. Главное хорошо подготовиться!

Еще немного про жизнь в Голландии: жилье, общение и путешествия

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

Во-вторых, в Голландии все хорошо с точки зрения work-life balance перерабатывать не принято, есть все возможности для общения. Хотя я живу за городом, можно сказать в деревне зато у меня три своих этажа, сад и парковочное место. И все это за 1200 (без коммуналки) в месяц, при этом доехать до офиса можно за полчаса на велосипеде. Есть коллеги, кому нравится жить в стеклянной высотке в городе и платить за аренду 2500/месяц, но быть в центре всей движухи. Мне это не так интересно.

В статьях про Голландию часто пишут о том, что тут очень легко путешествовать согласна с этим, всю страну можно проехать за пару часов:

Также я постоянно езжу по всей Европе, причем делать это на машине очень удобно. Например, я часто беру сноуборд и еду кататься в Альпы.

С помощью бота g-mate (@g_jobbot) вы можете получать вакансии по своему профилю с возможностью релокации в Нидерланды, Латвию и десятки других стран прямо в Telegram. Компании могут опубликовать первые три вакансии бесплатно переходите по ссылке и начинайте искать своих идеальных кандидатов.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru