Pull to refresh
163
Рыбак Алексей@fisher

Пользователь

121
Subscribers
Send message

Amazon VP: как работает корпоративная политика

Level of difficultyEasy
Reading time8 min
Reach and readers6.8K

Привет всем, я – Соня, IT HRD. Посмотрела большое интервью ex-Amazon VP Ethan Evans про корпоративную политику. Решила с вами поделиться.

Интервью очень откровенное, дядька честно рассказывает, как всё устроено: headcount, реорги, промоушены, менеджеры, влияние, сделки, увольнения.

Он говорит: инженеры часто думают ‘я ненавижу эту политику, я не хочу в этом участвовать’. Но политика в компаниях существует не потому, что кто-то злой, она существует, потому что компании состоят из людей, интересов, ограниченных ресурсов, амбиций и карьерных целей. Сделайте себе одолжение: научитесь в этом разбираться.

Интервью на 3 часа, ссылку дам в комменте, все заметки делались руками.

1/ Headcount самый простой сигнал лидерства 

Impact субъективен, headcount — нет. Impact сложно оценить. Насколько сложный был проект. Или я работаю в инфре, а ты пилишь revenue-фичи. У кого больше impact? А сколько людей у тебя оценить легко. 

Никто не спорит: у тебя 42 человека, у меня 17. Значит, ты более крупный лидер. 

2/ Если есть метрика — люди начнут под нее играть 

Empire building существует, потому что оно вознаграждается.

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

3/ Для директора в Amazon нужно 80–90 человек

Evans говорит, что для директорского уровня в Amazon сейчас нужно примерно 80–90 человек. Раньше было 22. Чем больше компания, тем выше цифра.

В принципах Amazon записано ‘no bonus for headcount’, но это черт подери не так. У тебя есть огромный бонус в виде должности и зарплаты за хедкаунт.

Читать далее

А вы всегда пьёте коньяк на завтрак или только по выходным?

Level of difficultyEasy
Reading time9 min
Reach and readers22K

А вы всегда пьёте коньяк на завтрак или только по выходным?

Привет всем, я – Соня, IT HRD. Начинала как QA инженер. Люблю tech и инженеров за то, что помимо работы тут всегда узнаёшь разные крутые понятия и термины полезные не только для работы но и для жизни. За 20 лет работы накопилось много продуктово-инженерных жаргонизмов, пратик, законов и принципов, которые я была бы рада узнать пораньше. Можно прям в старших классах школы вместо ОБЖ.Ниже — мои любимые. Добавляйте в комменты свои.

1. Ложная дихотомия
Ложная дилемма, чёрно-белое мышление — это логическая ошибка и манипулятивная тактика, при которой из множества вариантов предлагаются только два (обычно крайних), игнорируя промежуточные или иные альтернативы. Этот приём сужает выбор, вынуждая принять одну сторону, часто ложно представляя одну из альтернатив как приемлемую, а другую — как неприемлемую. Мир не чёрно-белый. Наш коньяк с этой полки.

2. Бритва Оккама
Методологический принцип: при наличии нескольких объяснений одного и того же явления нужно выбирать самое простое. Не следует множить сущности, добавлять лишние предположения без необходимости. Не надо усложнять. Оккам, кстати, — английский монах-философ. Считается одним из отцов современной эпистемологии и современной философии в целом, а также одним из величайших логиков всех времён.

3. Игра с ненулевой суммой
Ситуация в теории игр, где выигрыш одного участника не обязательно означает равный по модулю проигрыш другого. Сумма результатов (выигрышей и проигрышей) может быть больше или меньше нуля, что позволяет сторонам получить взаимную выгоду (win-win) или совместно проиграть. В играх с нулевой суммой выигрыш одного игрока всегда равен проигрышу другого. Шахматы или шашки: если один победил (+1), второй обязательно проиграл (-1). Сумма: 1 + (-1) = 0.

Читать далее

Нужен ли нам сейчас кеш-слой перед СУБД

Level of difficultyMedium
Reading time13 min
Reach and readers49K

Уже лет 20 существует миф (или не миф), что современный Highload-проект невозможен без кэшей. Они всегда нас выручали, когда не справлялись базы данных. Но с тех пор, как появились первые кэши, key-value баз данных и другие технологии, многое изменилось и традиционные СУБД значительно эволюционировали. И так ли теперь нужен кэш?
Мы протестировали самые известные кэш-сервисы и СУБД и попробовали выжать из них миллион запросов в секунду в разных условиях. Делимся с вами результатами в этой статье.
Привет, Хабр! Я Алексей Рыбак, предприниматель и основатель R&D-лаборатории DevHands, автор телеграм-канала про System Design и Highload. В прошлом — СТО и руководитель московского офиса Badoo. Работал во втором по размеру такси-сервисе «Везёт», который мы после продажи интегрировали с Яндекс.Такси. Сейчас наша компания разрабатывает образовательные программы по Highload и перформансу.

Читать далее

Исчерпывающее руководство по использованию HTTP/2 Server Push

Reading time14 min
Reach and readers35K


Привет! Меня зовут Александр, и я – фронтенд-разработчик в компании Badoo. Пожалуй, одной из самых обсуждаемых тем в мире фронтенда в последние несколько лет является протокол HTTP/2. И не зря – ведь переход на него открывает перед разработчиками много возможностей по ускорению и оптимизации сайтов. Этот пост посвящён как раз одной из таких возможностей – Server Push. Cтатья Джереми Вагнера показалась мне интересной, и поэтому делюсь полезной информацией с вами.

Читать дальше →

Что общего у мобильного QA и осьминога

Reading time8 min
Reach and readers44K


Привет! Я Катя, и я – трудоголик тестировщик самого популярного приложения для новых знакомств.

Итак, раннее утро, вы – мобильный QA. Вы приходите на работу, завариваете крепкий кофе и хотите взять пару мобильных устройств для тестирования новой фичи, осознавая, какие муки выбора вам предстоят. Что это будут за устройства?

Рано или поздно каждый мобильный тестировщик задаётся вопросом, на каком количестве устройств тестировать новый функционал, чтобы поймать максимальное количество девайсозависимых багов, потратив минимум времени. Автотесты ещё не написаны, перед вами абсолютно новые фичи. И если с iOS есть хоть какая-то ясность, и список устройств ограничен, то Android «расплодился» в полнейший ад. Вы удивитесь, но для счастья нужно всего три–четыре Android-устройства. Я хочу рассказать, как с точки зрения опытного тестировщика их выбрать.
Читать дальше →

Спроси backend-разработчиков Badoo. Часть 1. Платформа

Reading time11 min
Reach and readers23K


Нам очень нравится формат AMA (ask me anything) на Reddit, когда кто-нибудь (в нашем случае – команда разработчиков) приходит в сабреддит AMA и говорит, что готов отвечать на заданные вопросы. Из самых запоминающихся сессий Ask Me Anything, например, команда инженеров Space X, или инженеры из Google, и даже действующий президент США Барак Обама четыре года назад отвечал на вопросы на Реддите. Недавно наша Android-команда проводила AMA и в онлайн-режиме отвечала на вопросы разработчиков.

Но в России нет своего Реддита. Зато есть свой Хабр. Поэтому мы решили прийти с форматом «задай нам вопрос» сюда. И не с пустыми руками, как велят правила AMA. Чтобы вам было проще понять тему, мы выбрали одну из наших команд – «Платформу» – и попросили ребят рассказать, чем они занимаются, на чём программируют и чего добились за время существования команды. И подвели небольшие итоги уходящего 2016 года. Поехали!

Оглавление


1. Чем занимается «Платформа»
2. Сервисы: Pinba, SoftMocks и другие
3. Системное программирование. Как мы начали использовать Go и к чему это привело
4. Фотографии
5. Скриптовое облако
6. LSD: Live Streaming Daemon
7. Cassandra Time Series: что это и как работает
8. Badoo AMA: задай вопрос разработчикам «Платформы»

Пруф, что это действительно мы.
Читать дальше →

Как работают ИТ-специалисты. Алексей Рыбак, глава разработки Badoo

Reading time10 min
Reach and readers15K
image

7 и 8 ноября в Сколково прошла конференция HighLoad++ 2016. Более 200 экспертов выступали с докладами о высоконагруженных сервисах, проблемах работы с ними, администрировании и многом другом.

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

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

Badoo перешли на PHP7 и сэкономили $1M

Reading time16 min
Reach and readers105K
Badoo перешли на PHP7 и сэкономили $1M

Мы сделали это! Несколько сотен наших application-серверов переведены на PHP7 и прекрасно себя чувствуют. Насколько нам известно, это второй переход на PHP7 проекта такого масштаба (после Etsy). В процессе мы нашли несколько очень неприятных багов в системе кеширования байт-кода PHP7, но они исправлены. А теперь — ура! — благая весть для всего PHP-сообщества: PHP7 действительно готов к продакшену, стабилен, потребляет значительно меньше памяти и дает очень хороший прирост производительности. Ниже мы подробно расскажем, как мы перешли на PHP7, с какими трудностями столкнулись, как с ними боролись и какие результаты получили.
Читать дальше →

Как устроено сплит-тестирование в Badoo

Reading time18 min
Reach and readers27K
Если в Google ввести запрос «a b тестирование», то по теме выпадает довольно много статей, но в них больше теории и ориентированы они на менеджеров, а в качестве инструментов предлагаются готовые клиентские реализации, вроде Google Analytics. Также есть статья про очень простую серверную реализацию (в реалиях авторов, я думаю, этого вполне достаточно).

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

У нас был целый «зоопарк» инструментов для сплит-тестирования во главе с A/B фрэймворком, часть из которых разрабатывалась для других целей. Помимо прочих недостатков, все эти инструменты использовали примерно один и тот же способ для разделения пользователей на варианты — это хеширование ID пользователя плюс «соль». Такой подход нас не удовлетворял, и было принято решение разработать новую версию, в которой можно было бы избежать недостатков старых версий.
Читать дальше →

Добавление оператора диапазона в PHP

Reading time14 min
Reach and readers17K
image
На картинке — Ancient Psychic Tandem War Elephant © Adventure Time

В этой статье будет рассмотрен процесс внедрения в PHP нового оператора. Для этого будут выполнены следующие шаги:

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

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

Тестирование мобильных приложений: tips & tricks

Reading time12 min
Reach and readers136K
Наша новая статья представляет собой список рекомендаций и советов. Из неё вы узнаете:

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

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

Как облегчить процесс тестирования?


1. Используйте принципы эвристики и мнемоники — они помогают удержать в голове все аспекты, которые нужно учесть при тестировании фичи или приложения.

2. Скриншоты, логи и видео — лучшие аргументы тестировщика!
К сожалению, с логами «общения» с сервером зачастую не всё так гладко, как с клиентскими логами. Обычно они добавляются скорее для удобства разработчика при отладке работы с сервером, чем для работы тестировщика.
Читать дальше →

Видео докладов с конференции «Российские интернет-технологии 2015»

Reading time1 min
Reach and readers6.3K
Рады поделиться с вами видео докладов с конференции «РИТ++». Отдельным постом выложим видео и слайды с LoveQA митапа.

1.«Реалтайм статистика скорости работы нативных и веб-приложений у реальных пользователей», Павел dpp Довбуш (Badoo).
Рассказали как сделана статистика и аналитика скорости работы (UX) приложений Badoo (Web, Mobile-web, iOS, Android, Windows). Про общие концепции и примеры, что и как измерять. Про то, как собирать данные со 100% пользователей проекта и выдержать нагрузку.
А также о том, как из OpenSource решений собрать систему сбора и визуализации статистики для своего проекта.
Бонус: выложили наше «real user monitoring» решение Jinba в OpenSource.


Читать дальше →

Обзор докладов конференции QCon London 2015

Reading time17 min
Reach and readers6.2K
Привет, меня зовут Макс Матюхин, я PHP-программист в компании Badoo. В прошлом месяце в Лондоне прошла очередная Международная конференция разработчиков QCon 2015. Я побывал на ней и теперь хочу поделиться с вами своими впечатлениями о мероприятии и рассказать о самых интересных, на мой взгляд, выступлениях. Из этой статьи вы узнаете чуть больше про архитектуру Uber, Spotify, CloudFlare, а также о том, как Google управляет своей инфраструктурой и многом другом.

Впервые QCon состоялась в 2007 году в Лондоне и Сан-Франциско. С тех пор она стабильно набирает популярность и расширяет географию, и в этом году она пройдет в 8 городах. Лондонская QCon проходит в самом сердце британской столицы, в двух шагах от Вестминстерского Аббатства. В разное время на QCon выступали такие известные личности, как Martin Fowler, Kent Beck, Erik Meijer, Steve Vinoski, Joe Armstrong, Rich Hickey и многие другие.
Читать дальше →

15 советов и хитростей инструментов разработчика Chrome, которые вы обязаны знать

Reading time5 min
Reach and readers211K
Сегодня Google Chrome является самым популярным браузером среди веб разработчиков. С быстрым, шести недельным, циклом релизов и мощным набором постоянно расширяющихся инструментов разработчика, превратившим браузер в инструмент, который вы обязаны иметь. Большинство из вас, вероятно, знакомы со многими его функциями, такими как «живое» редактирование CSS, используя консоль и отладчик. В этой статье мы с вами рассмотрим 15 захватывающих советов и хитростей, которые позволят улучшить вашу производительность еще больше.
Читать дальше →

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

Reading time7 min
Reach and readers20K
Сегодня мы поговорим о «низкоуровневых» кирпичиках нашего проекта — о демонах.
Определение из Википедии:
«де́мон — компьютерная программа в системах класса UNIX, запускаемая самой системой и работающая в фоновом режиме без прямого взаимодействия с пользователем».

Хоть это и не очевидно, но практически весь функционал сайта во многом зависит от работы этих программ. Игра в “Знакомства”, поиск новых лиц, центр внимания, обмен сообщениями, статусы, геолокация и многие другие вещи завязаны на тот или иной демон. Так что можно сказать, что они помогают людям по всему миру общаться и находить новые знакомства. Одновременно на сайте могут работать и взаимодействовать между собой несколько десятков демонов. Их корректное поведение является очень важной задачей, поэтому мы решили покрывать основной функционал демонов автотестами.

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

В качестве VCS у нас используется Git, для непрерывной интеграции — TeamCity, а в роли баг-трекера выступает JIRA. Для тестирования мы используем PHPUnit. Разработка демонов, как и остального сайта, ведется по принципу «фича ― ветка». Для того чтобы понять, что это, мы рассмотрим проекции нашего flow на Git и на JIRA.
Читать дальше →

Задай вопрос эксперту и выиграй билет на Highload!

Reading time2 min
Reach and readers6.2K
На этой неделе в Москве пройдет одна из лучших технологических конференций HighLoad 2014.
Мы хотим дать возможность «вскочить на уходящий поезд» тем, кто очень хотел попасть на конференцию, но не успел или не смог купить билет. Badoo дарит 2 билета на конференцию за самые хорошие вопросы к экспертам, которые вы оставите в комментариях.
Вопросы должны быть по теме, в которой разбираются эксперты, плюс они должны быть сложными и интересными.
В идеале вы рассказываете о какой-то сложности, с которой столкнулись в работе, как решали ее и почему не получилось + спрашиваете совет. Можно задавать любое количество вопросов.
Итоги подведем завтра, 30 октября, в 16-00.
  • Алексей Рыбак
    Глава разработки Badoo (Head of Engineering)
    Может проконсультировать по вопросам управления разработкой в крупном проекте, масштабирования и производительности, мониторинга, поддержки, BigData и Business Intelligence.
Все эксперты

Кастомные социальные кнопки

Reading time5 min
Reach and readers74K
Недавно участвовал в разработке одного проекта — фото конкурса. По задумке, рейтинг фото альбомов должен формироваться из суммы всех публикаций в социальных сетях: Facebook, Вконтакте, Twitter. Т.е. общий рейтинг фотоальбома расчитывается:
Рейтинг фотоальбома = кол-во «Share» в Facebook + кол-во «Сохранить» в Вконтакте + кол-во «Retweet» в Twitter

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

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

Итак:
  • количество лайков будем получать от REST сервисов каждой социалки
  • кнопки рисуем свои и обрабатываем событие click

Читать дальше →

Географические координаты всех городов на Земле

Reading time1 min
Reach and readers21K
В поисках базы данных городов мира для своего погодного сайта, наткнулся на интересный ресурс. На нем просто выложен список всех населенных пунктов, упорядоченный по странам и областям.

Информация, предоставляемая для каждого населенного пункта:
— географические координаты
— высота над уровнем моря
— часовой пояс
— используется ли летнее/декретное время
— ориентировочное количество жителей (обычно, сильно заниженное)

Также отображается небольшая карта, метеорологическая информация и список ближайших аэродромов.

Теперь сижу и думаю, как заполучить эту базу данных. Никакой контактной информации на сайте не нашел, ссылка «Credits» ведет вникуда. Просто стащить всю эту базу через http, видимо, не представляется возможным: только по России там больше 200000 точек. Это несколько суток непрерывного парсинга.

Update:
На сайте geonames.org найдена готовая к скачиванию база данных с подробной информацией по населенным пунктам всего мира. Только по России там 249 516 объектов.
Огромное спасибо, sapl!

Инфраструктура MySpace не справляется с нагрузкой

Reading time5 min
Reach and readers1.2K
Журнал Baseline опубликовал подробный технический анализ инфраструктуры сайта MySpace.com. Как известно, это один из крупнейших веб-сервисов в интернете, который сейчас спорит с порталом Yahoo за звание самого посещаемого сайта в Сети.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity