Як працюють ІТ-фахівці. Олексій Рибак, голова розробки Badoo

image

7 і 8 листопада в Сколково пройшла конференція HighLoad++ 2016. Понад 200 експертів виступали з доповідями про високонавантажених сервісах, проблеми роботи з ними, адмініструванні і в чому іншому.

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

З кожним ми провели інтерв'ю у форматі бліц-опитування. Буде цікаво з'ясувати, що об'єднує цих ІТ-фахівців, в чому вони схожі. Можливо, їх відповіді допоможуть виявити якісь загальні закономірності, корисні поради, які допоможуть багатьом з нас.

Наш сьогоднішній гість — Олексій Рибак, голова розробки в компанії Badoo.

Чим займаєтеся в компанії?

У голови розробки дві задачі. Перша – будувати професійну, сучасну, ефективну інженерну організацію. Це таке велике «хмара» самих різних інженерних команд: розробка, тестування, адміністрування, моніторинг, департамент business intelligence, причому на два офіси — в Лондоні і в Москві. Робочий процес повинен бути максимально налагоджено: продукти швидко запускатися і оновлюватися, вакансії закриватися крутими хлопцями, для яких організовані класні умови роботи; комунікації повинні бути чіткими і продуктивними, і так далі.

Друге завдання — керівництво московським офісом. Це додає адміністративної роботи.

Badoo знаходиться зараз на досить цікавою стадії розвитку. З одного боку, ми досить велика, відома компанія. З іншого — ми зберігаємо динаміку стартапу, запускаємо нові фічі буквально за кілька годин чи днів, релизим мобільні продукти по кілька разів на місяць, бекенд і веб мобільний веб — по кілька разів на день. І це челлендж: постаратися зберегти ритм і пульс у такий вже значною організації.

У московському офісі процеси налагоджені досить давно: офіс зріс з 50-60 осіб до 140 ще в 2011-2012 році. А лондонський офіс зростає прямо зараз, тут дуже багато чого доводиться будувати, адже тут зосереджена майже вся клієнтська розробка. На сьогоднішній день у кожному з офісів працює вже більше ста інженерів. І з точки зору продукту теж час цікаве: Badoo як компанія стала більше схожа на «платформу» або навіть «інкубатор», всередині якого на одній технологічній платформі робиться не на один продукт, а безліч.

Одне слово (словосполучення) найкраще описує як ви працюєте.

Величезна кількість розмов.

Мова про постійному спілкуванні і взаємодії?

Постійне спілкування з колегами. В якихось моментах треба просто вислухати і задати питання, а в інших – допомогти, пояснити, дати пораду, як варто було б зробити.

Скільки годин на добу ви приділяєте роботі?

Сказати досить складно, тому що велика частина спілкування йде по email та телефоном. Якщо це не враховувати, то, думаю, 8-10 годин.

Скільки годин ви спите?

Намагаюся не менше 7 годин.

Що робите по дорозі на/з роботи?

Я не дуже багато часу проводжу в дорозі. Як правило, намагаюся не займатися роботою: слухаю музику і радіопередачі. На шляху з роботи часто доводиться розмовляти по телефону з-за тимчасової різниці між Лондоном і Москвою: взимку повертаєшся додому годині о дев'ятій вечора, а там ще шість, і життя б'є ключем.

Яким todo-менеджером користуєтеся особисто ви?

По-перше, у мене є замітки на айфоне. По-друге, я для себе вирішив, що якщо мені не вистачає нотаток, то який би не був todo-менеджер, воно не буде працювати ефективно. Таким чином, виходить, я сам себе обмежую. Я в цьому досить аскетичний.

У пошті у мене є todo-папка. Частина завдань лежить в inbox як «прочитано». Всі old school.

3 питання, пов'язані з компанією

Яким таск-менеджером / issue-tracker'ом / репозиторієм користуєтеся?

Система контролю версій git, таск-менеджер і issue tracker — JIRA.

Ви використовуєте JIRA в бізнес-юнітах?

Так, але люди там далеко не всі свої внутрішні завдання перетворюють в «таски», проте всі продуктові завдання ведуться в JIRA — разом з макетами, PRD (product recruitment documents) і тд.

Яке робоче оточення використовуєте? Фреймворки, інші сторонні продукти?

Ми активно використовуємо HipChat. Він, на жаль, далекий від ідеалу, але добре інтегрований з потрібними нам фічами. Ми активно використовуємо IDE – PHPStorm, наприклад, хоча, я особисто, коли багато програмував, обходився старим добрим vim. Що стосується відкритого коду – повно всяких бібліотек, коротко не перерахувати.

чи Є в компанії якісь внутрішні проекти і для чого вони створювалися?

У нас досить велика компанія: інженерів вже більше 200 осіб. Прикладів внутрішніх проектів — безліч. Ми заохочуємо різну активність співробітників, але в цілому, звичайно, хочеться, щоб всі внутрішні розробки якось потім нами ж використовувалися.

Наведу приклади як інфраструктурних, так і пари продуктових проектів. Якщо говорити про продукти, то, приміром, кілька років тому до нас в лондонський офіс прийшов студент, який писав під iOS. Він хотів бути інтерном, але часу у нього було, здається, всього місяць літа. А у нас дуже велика кодова база, за місяць тільки б розібратися, написати щось цікаве в продакшн шансів небагато. Тому хлопці з мобільного розробки запропонували йому зробити Badoo Reception App. Тепер цей проект використовується і в Лондоні, і в Москві.

Це додаток для обліку відвідувачів в офісі. Ми сертифіковані за найвищим рівнем PCI DSS, тому для нас це просто необхідно, так як є одним з основних вимог сертифікації. Працює додаток наступним чином: ви приходите на ресепшн, де на спеціальній стійці знаходиться планшет — iPad, через який необхідно зареєструватися і зафіксувати своє відвідування. Ви вводите імена — своє і співробітника, до якого прийшли.

Додаток запам'ятовує всіх відвідувачів і по перших буквах пропонує співробітника зі списку, який отримує через API бекофісу, тому ця частина заповнюється особливо швидко для частих відвідувачів, наприклад, вчителів англійської мови. Далі ви фотографуєте, залишаєте підпис. Поруч стоїть принтер, який роздруковує вам бейджик, який, згідно з правилами, необхідно прикріпити собі на одяг — і все це відбувається буквально за півхвилини. Коли йдете, знаходите себе у списку (потрібно знайти свою фотографію і підставити потрібне ім'я) і натискаєте «пішов», все.

image

Є інший проект – досить серйозна внутрішня HRM система, яка вирішує важливі HR завдання, перше завдання, це автоматизація процесу Perfomance review. Спочатку ми хотіли придбати таку систему, але в 2011 році не знайшли на ринку нічого, що нормально працювало б і могло бути швидко і легко кастомизировано під нас.

Таким чином, народився наш Performance review tool, який дозволяє проводити рев'ю для співробітників наших команд. В основі рев'ю лежить метод 360 градусів, тобто збір фідбек про роботу співробітника з різних сторін. Хлопці коротко описують результати своєї роботи за період, це не займає багато часу (хвилин 20), але дозволяє регулярно раз на місяць сісти і замислитися, що було зроблено, якщо результат, прогрес у процесах і завданнях. Потім вибираються колеги (вузли), які можуть оцінити і дати фідбек з цим завданням. Для програміста це можуть бути не тільки програмісти, але і тестувальники, продуктові менеджери, думки важливі з різних сторін. У результаті менеджер дивиться на всю картину в цілому, що було зроблено, з яким результатом, що думають колеги, і виставляють свою фінальну оцінку.

Також система дозволяє проводити калибрацию оцінок – порівняти оцінки хлопців, які знаходяться на одному рівні, порівняти їх результати, це робиться теж онлайн. У ряді випадків ми збираємося особисто, але тим не менш намагаємося все зробити онлайн, щоб «бюрократичні» процедури як можна менше відволікали від роботи і були максимально простими, щоб їх можна було проводити з будинку або відпустки, наприклад. На підставі оцінок обчислюється бонус, тобто, незважаючи на неоднозначність більшості бонусних систем, ми регулярно оцінюємо результати роботи, даємо фідбек і платимо бонуси.

Друга задача, яку вирішує ця система — облік всіх відсутностей, відпусток, дей оффов, сик-дєєв, лікарняних — time off tool, полегшує і спрощує цей бюрократичний шматочок життя співробітників.

Ну і, звичайно, корпоративна директорія з фотографіями, телефонами, скайпами, днями народженнями та іншими даними. Там можна, наприклад, замовити дзвінок натисканням кнопки: автоматично лунає дзвінок на вашому телефоні і телефон співрозмовника. Загалом, за кілька років система розвинулася в дуже корисний продукт.

Тепер свіжий приклад інфраструктурного проекту. В цьому році року ми одними з перших перейшли на PHP7 — почали підготовку, коли 7-я гілка ще була в стані реліз-кандидата.

По-перше, ми знайшли кілька неприємних багів — і команда Діми Стогова, основного розробника PHP7, оперативно розібралися, і їх виправили. З нашого боку був, як мінімум, один інженер, який майже постійно займався цим проектом, листувався з PHP-team, міняв щось на стенді, експериментував.

По-друге, нам довелося повністю змінити наш підхід до тестування, і ми зробили спеціальний проект SoftMocks і виклали його на github. Ми докладно писали про це в статті про перехід на PHP7 (https://habrahabr.ru/company/badoo/blog/279047/ — Badoo перейшли на PHP7 і зекономили $1M) і в окремій статті, присвяченій SoftMocks (https://habrahabr.ru/company/badoo/blog/279617/ — «SoftMocks: наша заміна runkit для PHP 7»). Цілком собі внутрішні інфраструктурні проекти.

Що вас дратує найбільше, коли ви працюєте?

Коли мене щось дратує – це сигнал до того, що я роблю щось неправильно. Робота менеджера завжди супроводжується купою відволікаючих факторів. Тому потрібно змінюватися і змінювати світ навколо себе таким чином, щоб з цим жити, або міняти, але не дратуватися. Чисто по-людськи мене звичайно засмучує велика кількість месенджерів, кожен з яких починає пілікати», особливо ввечері. Є штук п'ять каналів комунікації, і часто вони активізуються паралельно. Але це, напевно, багатьох дратує.

Яку професійну літературу ви б могли порекомендувати?

Я мало читаю, і як-то нечасто знаходжу в професійних книжках щось нове і корисне для роботи. Раніше читав купу технологічних блогів, про нові інструменти і технології, але зараз – дуже рідко, шуму багато, користі мало, часу в обріз. Якщо говорити про книжки, які справили на мене сильне враження, то таких було чотири: «Введення в бази даних» Дейта, «Дзен і мистецтво догляду за мотоциклом» Пирсига, «Шлях камікадзе» Йордона і «Від хорошого до великого» Колинза. Ну а менеджерам-початківцям раджу почитати класику як загального призначення типу Друкера, так і чисто айтишную — того ж Йордона, ДеМарко.

Що віддаєте перевагу: електронні читалки або паперові книги?

І ті, і ті. Якщо я читаю якусь художню книжку, мені приємно, коли вона паперова. Якщо мені потрібно щось читати по роботі, я волію, щоб це була не книга, а стаття, в книгах купа води. І тоді простіше працювати з нею в електронному вигляді.

Яку техніку (комп'ютери, планшети, смартфони) і чому ви віддаєте перевагу на роботі і вдома?

Протягом довгого часу (початок 2000-х) у мене на одній і тій же машині стояли Windows і Linux — як вдома, так і на роботі. Потім на роботі залишився тільки Linux. Linux повинен був бути завжди по замовчуванню, а якщо потрібно щось конкретне, де Windows must have, я перезавантажувався в Windows. Віртуалізація тоді працювала не дуже добре.

Коли у мене з'явився Mac, я раптом зрозумів, що там є майже все, що мені потрібно, і щоб писати і налагоджувати код, і потрібні офісні програми і так далі. Але приблизно в цей же час у мене вже сильно змінився фокус — технічних проектів стрімко зменшувалася. Загалом зараз я щасливо сиджу на Mac. Вдома у мене немає комп'ютера вже кілька років: скрізь ношу робочий Mac. Та як згадаю, що доводилося якось перезбирати модуль ядра для wifi після покупки першого свого ноута — так вздрогну. На Маці все просто працює.

Що ви слухаєте, коли ви працюєте?
Під час роботи я не слухаю музику. Мені здається, що музика – це те, що повинно розірвати тебе на шматки, або хоча б переводити в зовсім інший стан. Працювати одночасно з цим не дуже виходить.

Який лайфхак дозволяє вам бути ефективніше?

У мене дуже багато часу йде на спілкування, багато спілкування — поштою. 10 років тому я писав інакше: я намагався десь бути більш ввічливим, красномовним, акуратним. Зараз я пишу стисло, не можна назвати це лайфхаком, але довелося переучуватися. Правда, це призводить до інших проблем. Іноді Люди мене не розуміють. Знаходять нові невідомі мені смисли. Деколи засмучуються і пишуть довгі відповіді. Коротше, я все ще вчуся. Але якщо ти постійно пишеш якісь повідомлення, хочеш-не хочеш, будеш їх стискати.

Трекерами я перестав користуватися: не видно загальної картини, важко оцінити пріоритезацію великих проектів, все тоне в деталях. У майндмэпах мені простіше. Але на сором своєму, я став з ними активно працювати тільки 2-3 роки тому.

Ну і все, що пов'язано з поштою (як розставляти фільтри, розкладати в папки) — це теж не можна назвати лайфхаками. Ти просто змушений займатися всім цим.

Без яких додатків і сервісів не можете обійтися ні в роботі, ні в особистому житті?

Поштовий клієнт Gmail, Google Docs.

Який професійний рада з минулого ви б могли дати самому собі?

Більше слухати. Деколи мені, як і будь-якій живій людині, не вистачає терпіння занадто довго перебувати в виснажуючому процесі обговорення, що у мене переклинює, і я кажу: «До біса все. Робимо ось так, а якщо зламається – полагодимо. Давай просто зробимо». Природно, іноді це призводить до проблем. Вміння слухати дозволяє не приймати поспішних рішень.

Що б ви порадили людині, що намагається пройти той же шлях?

Думаю, тут треба розділити на етапи. Перший етап – випуск з університету. Я за освітою фізик, і мої навички програмування були розвинені тільки в області чисельних методів. Я це робив непогано, але до реальної роботи програміста це має досить слабке відношення. Тому довелося бути самоучкою. Але я був не дуже хорошим самоучкою. Так що, якщо ви розумієте, що ваша професія буде пов'язана з IT, але зараз ви десь в хімії, біології, фізики або десь ще, знайдіть якусь людину, який був би вашим ментором чи зміг би надати вам можливість стажуватися. В силу якоїсь гордості або ліні всі шишки я набивав сам, і це було, по-моєму, довше, ніж воно могло бути.

Другий етап – кар'єрний шлях та працевлаштування в правильні компанії. Виберіть продуктову компанію, щоб результатом вашої роботи був саме продукт, на якому компанія заробляє гроші. Тобто, щоб ви були не просто сервісом, а людиною, яка робить продукт. Для мене було важливо, щоб компанія заробляла не на те, щоб перепродати мій час. Звичайно так само компанія повинна бути технологічною: щоб інженери постійно вдосконалювали технологічний стек, системно працювали над технічних боргом, щоб можна було піти чогось повчитися або поїхати поспілкуватися на профільних конференціях (Badoo щорічно відправляє десятки людей на конференцію Highload++, наскільки мені відомо, ми поступаємося за кількістю учасників тільки одному відомому банку, де працює значно більше працівників). Все це було дуже важливо для мене — робота в технологічною продуктової компанії.

Для тих, хто лише став на шлях програміста можу порекомендувати ще прочитати ось цю розшифровку мого виступу (https://habrahabr.ru/company/mailru/blog/269687/перед студентами Технопарку, в якому я розповідаю про адаптації вчорашніх студентів до роботи в софтверної компанії.

Третій етап – менеджмент. Менеджмент – це уміння слухати і приймати рішення, в тому числі — за інших, але знаходячи правильний баланс; це вміння зрозуміти, що ніколи не буває однозначної відповіді на якесь питання – є компроміс. Все є функцією часу, людей, завдання. Не існує якогось універсального правила, яке висічено десь, і тільки воно приведе до успіху. Але головне: проявляйте активну позицію і поменше шукайте зовнішніх виправдань, будьте розумно наполегливим і вимогливим до себе і до оточуючих — і все вийде.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.