Ми продовжуємо розпитувати фахівців про режим праці та відпочинку, професійні звички, про інструментарій, який вони використовують, і багато іншого.
- Чим займаєтеся в компанії?
- Як ви працюєте? Який ви на роботі?
- Скільки годин на добу ви приділяєте роботі?
- Скільки годин ви спите?
- Ви снідаєте?
- Багато часу йде на дорогу?
- Чим займаєтеся по дорозі на/с роботи?
- Яким todo-менеджером користуєтеся особисто ви?
- Яким таск-менеджером/issue-tracker'ом/репозиторієм користуєтеся?
- Які інструменти, фреймворки ви використовуєте для розробки?
- Чи є у вашій компанії якісь внутрішні проекти, бібліотеки і для чого вони створювалися?
- Що вас дратує найбільше, коли ви працюєте?
- Яку професійну літературу ви б могли порекомендувати?
- Що віддаєте перевагу: електронні читалки або паперові книги?
- Яку техніку (комп'ютери, планшети, смартфони) і операційні системи ви віддаєте перевагу на роботі і вдома?
- Ви слухаєте музику, коли працюєте?
- Який лайфхак дозволяє вам бути ефективнішими?
- Без яких додатків і сервісів не можете обійтися ні в роботі, ні в особистому житті?
- У вас пройдено величезний шлях. А хтось зараз стоїть на початку цього шляху. Що б ви порекомендували людині, яка намагається пройти той же шлях?
Буде цікаво з'ясувати, що їх об'єднує, в чому вони суперечать другові. Можливо, їхні відповіді допоможуть виявити якісь загальні закономірності, корисні поради, які допоможуть багатьом з нас.
Сьогодні наш гість - Костянтин Осипов, розробник, засновник і керівник проекту 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 років тому, і почув би себе зараз, то швидше за все не зрозумів би. Такі люди, як Стів Джобс, говорять дуже круті речі, набагато краще за мене: «Залишайтеся голодними, намагайтеся досягти більшого». Треба тільки вміти їх правильно зрозуміти.