Як працюють ІТ-фахівці. Костянтин Осипов, розробник і засновник проекту Tarantool

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


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

Сьогодні наш гість - Костянтин Осипов, розробник, засновник і керівник проекту Tarantool. Костянтин розповів, як йому вдається поєднувати посаду розробника ПЗ з посадою менеджера. Він також поділився своїм списком літератури.

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

Я пишу код, роблю рев'ю, обговорюю з хлопцями завдання. Тобто, з одного боку, я виконую функції розробника.

З іншого боку, я роблю доповіді, даю інтерв'ю. Сьогодні у мене багато чого не виходило розповісти, я запинався. Тому після доповіді я був дуже злий на себе.

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

Як ви працюєте? Який ви на роботі?

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

Це цікава історія, тому що багато знайомих менеджерів дивляться на це скептично. Вони кажуть: "Поки ти будеш кодити, ти не доб'єшся хорошого розвитку проекту. Потрібно присвячувати менеджерським завданням весь свій час ".

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

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

На жаль, в середньому годин 10. Мені неприємно це говорити. Я не впевнений, що необхідно стільки часу приділяти цьому.

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

7,5-8 годин.

Ви снідаєте?

Вранці їм вівсянку. Ми готуємо сніданок на всю сім'ю. У нас двоє дітей. Одна дитина перший час відмовлялася від вівсянки. Але потім звик (посміхається).

Багато часу йде на дорогу?

Це велика проблема для мене. Я завжди був фанатом ефективності. Робота з дому - частина цього. Я намагаюся скоротити всю непотрібну діяльність у своєму житті. Все має бути максимально ефективно.

Ми зараз живемо на Південно-західній, а робота на Аеропорту - це десь година на метро. На машині ще гірше. Перший час я дуже злився, що втрачаю цю годину. Але тепер став дивитися лекції в метро, коли їду. А іноді я їду на велосипеді. За 6 років роботи я знайшов маршрут, який йде спочатку по велосипедній доріжці (на Вернадського), потім по загальній дорозі, а потім знову по велосипедній. Дивно, але на велосипеді виходить не довше, ніж на машині в заторі - 1,5 години.

Чим займаєтеся по дорозі на/с роботи?

Найчастіше слухаю аудіокниги. У мене є підписка на Audible.

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

Я пробував Evernote, зараз пробую Google Voice: говориш OK, Google. Make a note. І він робить замітку.

Нещодавно прочитав одну науково-фантастичну книгу «Зірка Пандори». Там є такий super intelligence, з яким потрібно взаємодіяти. Напевно, в Google теж її прочитали і зрозуміли, що потрібно робити з їх голосовими сервісами. Але поки мені не дуже вони подобаються. Тому все-таки vi.

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

Повністю на Github, і це відповідає на всі питання. Все планування йде через нього. А якщо якесь особливо складне завдання, ми описуємо його в Google Docs. Потім можна сконвертувати її в wiki.

До цього ми були на Launchpad, від Canonical (це ті ж хлопці що роблять Ubuntu). Вони зараз його закинули. Але свого часу ця була зручна штука, тільки для Bazaar, а не Git: наприклад, були такі цікаві речі, як blueprints.

Які інструменти, фреймворки ви використовуєте для розробки?

Кілька розробників у команді використовують Clion, хтось використовує Sublime. Крім того, є корпоративний Mail.Ru JIRA, Confluence. Користуємося Travis CI, Concourse CI. До цього у нас був Buildbot.

З інструментів для зневаджування продуктивності використовуємо Google Perf, Intel VTune. Складно стверджувати, що ми використовуємо тільки кращі інструменти, швидше для кожного випадку шукаємо щось, що найкраще підходить з доступного.

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

У нас є як успішні, так і неуспішні кейси. У версії 1.7 ми робимо disk store. Він з'явився як внутрішній проект, але виявився неробочим. Довелося все переписати.

А є кейси, які просто вистрілюють. Один з наших розробників зробив бібліотеку з функціонального програмування на Lua. Вона добре працює з LuaJIT, всі примітиви функціонального програмування підтримує. Вона стала незалежним проектом, у неї дуже багато шанувальників.

Ще ми зробили набір інструментів, щоб у Travis автоматично білдити пакети. Ця штука називається PackPack. Дуже зручно, що в Github її можна підключити до проекту одним рядком.

Крім того, ми користуємося Package Cloud: цей сервіс бере на себе функцію хостингу сховищ. У них open source план скромний, але взагалі, якби ми могли зберігати всі свої пакети в цій хмарі, було б здорово. Але поки це дуже дорого коштує. A Travis CI нас як open source проект підтримує безкоштовно.

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

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

Я як людина все більше стикаюся зі своїми особистими обмеженнями. Це мене дуже сильно засмучує.

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

Є така штука - Library Thing. Це сайт, на якому можна розміщувати прочитані книги і рев'ю на них. У мене є там акаунт. Можна сходити туди і побачити, що я прочитав останнім часом.

Зараз я в основному читаю про менеджмент в ІТ. З приводу Computer Science... є багато нових алгоритмів, які раніше ми не проходили в університеті. Є, наприклад, Randomized Algorithms (1995) by Rajeev Motwani.

Якщо говорити про класику, є джентльменський набір - наприклад, Introduction to Algorithms, 3rd Edition (MIT Press) by Thomas H. Cormen та інші.

За компіляторами - Compilers: Principles, Techniques, and Tools (2nd Edition) by Alfred V. Aho и Engineering a Compiler (Second Edition) by Keith Cooper.

По базах даних - це книжка Ульмана, Гарсія-Малина... Досить цікава книжка.

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

У мене є Kindle. Пару разів я топив Kindle в басейні, калюжі - я досить активно ним користувався. Але це не заміна дерев'яним книжкам. Зараз буває так, що книги немає в електронному вигляді, а я люблю книги, перевірені часом. Якщо книга є в pdf, або це щось нове, читаю в Kindle.

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

У мене Linux і вдома, і на роботі. Ubuntu 16. В цілому мені від Linux нічого не потрібно. Мені вистачило б і 10-річної давності. Мене б влаштував термінал і браузер.

Бесіт Open Office: доводиться робити багато слайдів в нім. Це проект за всю свою історію так і не став стабільним. Ось сьогодні, наприклад, копіпаст одного слайда у мене займав кілька секунд.

У плані мобільних пристроїв я вибрав Android. У мене телефон Lenovo з величезною важкою батарейкою.

Ви слухаєте музику, коли працюєте?

Раніше було негативне ставлення до музики під час роботи, але робота в офісі це змінила. Тепер постійно слухаю в тлі chillstep, trip-hop, Акваріум (БГ).

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

Головний прийом - потрібно постійно «тюнити» свої звички. Потрібно постійно шукати неефективні звички і їх випалювати.

Припустимо, ти тупиш у Facebook. Треба зрозуміти чому. Мене в цю мережу притягнув Марк Кехен. Він пише там круті статті, його треба обов'язково читати. Так я опинився у Facebook. Але весь зайвий час, проведений там, я випалюю вогнем.

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

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

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

Якби я був самим собою 20 років тому, і почув би себе зараз, то швидше за все не зрозумів би. Такі люди, як Стів Джобс, говорять дуже круті речі, набагато краще за мене: «Залишайтеся голодними, намагайтеся досягти більшого». Треба тільки вміти їх правильно зрозуміти.

COM_SPPAGEBUILDER_NO_ITEMS_FOUND