Як я працюю: Антон Бойко, Senior Solution Architect в Ciklum і засновник Microsoft-спільноти
[В рубриці «Як я працюю» ми запрошуємо гостя розповісти про свою роботу, організації воркспейса, корисних інструментах і лайфхаках]
Антон Бойко — Senior Solution Architect в Ciklum, а також засновник спільноти Microsoft Azure Ukraine User Group . Працює в IT більше 10 років, з 2011 року розробляє програми на базі Microsoft Azure.
Антон — володар почесного звання Microsoft Azure Most Valuable Professional (MVP) з 2014 року. Разом з колегами по співтовариству він організовує дві популярні конференції Microsoft Azure — AzureDay і Global Azure Bootcamp .
Про себе
У дитинстві я часто хворіла і багато часу проводив вдома — так і прокинувся інтерес до комп'ютерів. Разом з друзями ми активно грали в комп'ютерні ігри і мріяли самі написати гру. У 90-х батьки відправили мене, школяра, на курси по «залізу» при КПІ. Після цього я став сам апгрейдити домашній комп'ютер, встановлював всім родичам софт і допомагав у купівлі обладнання.
Після школи вступив на факультет прикладної математики НТУУ «КПІ». Моя називалася кафедра «Спеціалізовані комп'ютерні системи»: там більше упор на інженерію, ніж на математику. Кожен предмет мені був цікавий по-своєму, і я не до кінця розумів, чим хочу займатися в майбутньому. Ще під час студентства став викладати на комп'ютерних курсах: навчав людей користуватися ПК, офісними пакетами — на початку 2000-х це був попит. Вів і інші предмети — наприклад, «Основи Photoshop для графічного дизайну».
Цікаво, що про вакансії викладача на курсах я дізнався з газети з оголошеннями. А пізніше видавець цієї газети сам став першим роботодавцем, куди я влаштувався як програміст. Компанія називалася Rabota+. Там я розробляв систему документообігу, що віддалено нагадує сучасні CRM. Працював з Object Pascal на Borland Delphi 7, частина ресурсів була написана на PHP 5.
Після Rabota+ я вирішив спробувати себе в системному адмініструванні. В початку-середині нульових це напрямок виглядало дуже перспективним. У сисадмінів зарплата була вищою, ніж у програмістів, вакансій було більше. І здавалося, що вони займаються по-справжньому крутий роботою — тримають цілі системи на купі серверів! Тоді на внутрішньому ринку попит на розробників був не дуже великим, а ера тотального аутсорсингу в Україні ще не настала.
Переключившись на системне адміністрування, я прийшов працювати в компанію «Інформаційні програмні системи». Тільки зараз розумію, наскільки крутими речами ми там займалися. На базі продуктів Microsoft ми побудували рішення, яке дуже нагадувало теперішній Microsoft Office 365. Ми почали продавати його за моделлю SaaS українським клієнтам — на 5-6 років раніше, ніж це почав робити сам Microsoft.
Потім я зрозумів, що все-таки розробка мені цікавіше, ніж адміністрування серверів. На той момент я по року-півтора попрацював в декількох компаніях і отримав досвід в різних напрямках, але у мене не було глибокої експертизи з якоїсь конкретної технології. А в країну прийшов глобальна фінансова криза, долар вперше піднявся з 5 до 8 грн. У компаніях проходили масові скорочення, молодих фахівців перестали наймати — бо знайти роботу було нелегко.
Про «гаражної» веб-студії і майндсете клієнтів
Тоді я вирішив спробувати себе у фрілансі. Ми з дружиною заснували власну «гаражну» веб-студію і почали робити сайти на замовлення. Спочатку думали взяти за основу PHP. Але я вже мав досвід роботи з рішеннями Microsoft і вирішив спробувати C#/.NET. До того ж нам вдалося отримати від Microsoft безкоштовні ліцензії на Visual Studio і Windows Server за програмою підтримки подібних «гаражних» проектів.
Склад студії постійно змінювався. Ми не могли конкурувати із зарплат з великими студіями, тому співробітники рідко затримувалися більше, ніж на рік. Фактично, «кістяком» команди стали я і дружина. Клієнтів спеціально не шукали, працювало сарафанне радіо.
Такий досвід дав мені розуміння, як працює бізнес і що потрібно клієнтам. По суті, замовника мало хвилюють технології і якості коду. Їм важливо, щоб продукт приносив продажу і виконував поставлені завдання. Тому, наприклад, розробники з Індії часто виграють тендери. Вони перейняли майндсет від британців і навчилися орієнтуватися на бізнес-завдання і швидкість розробки — нехай навіть на шкоду красі коду. І для більшості клієнтів це важливіше, ніж відсутність «милиць». Звичайно, якість фінального продукту — це важливо, але якість не завжди залежить від краси коду. Потрібно вміти знаходити баланс між внутрішнім перфекціоністом і потребами клієнта.
Також я на своєму досвіді переконався, наскільки клієнти цінують, коли ти ставишся до них не просто формально, а дійсно переживаєш за проект. Іноді це додає мені нервів. Але тому клієнти і хочуть працювати саме зі мною. Це стосується не тільки фріланса, а та співпраці із замовниками в аутсорсингу, які в першу чергу вибирають людину, і вже потім — ту компанію, яка за ним стоїть.
Наша «гаражна студія» працювала до 2011 року. Після цього я пішов в аутсорсинг і перестав займатися фрілансом фултайм, але все ж у вільний час беру проекти. Про це — трохи нижче.
Про аутсорсинг і роботі в Microsoft Україна
У 2011 році мене запросили в аутсорсинг, в компанію DataArt. Зарплата, яку мені запропонували, була приблизно в півтора рази вище, ніж мій дохід на фрілансі. До того ж офіс обіцяв нормований робочий графік. Пропозиція здалося привабливим. Так я почав займатися проектами, пов'язаними з хмарними технологіями.
Потім було ще кілька компаній, серед яких Matrix42 і Livatek. У кожної з них я пропрацював рік-півтора. Стек технологій варіювався навколо Microsoft Azure. Але в якийсь момент закінчувалися складні завдання, і я рухався далі.
З однією з компаній пішов з-за того, що там примушували співробітників «виправдовувати» своє існування і більше цінували звіти, ніж реальні результати роботи. Я не люблю жорсткі KPI — в такому разі людина прагне не стільки приносити користь компанії, скільки закривати свої метрики.
У 2016 році мене запросили попрацювати позаштатним консультантом (вендором) в українському офісі Microsoft. Розробкою український офіс не займається — в основному тут працюють євангелісти, продавці і маркетологи. Але я працював в експериментальному проекті за підтримки інструментів Microsoft для європейських компаній, які аутсорсят розробку в Україну. Я прямо підключався до українським командам і допомагав їм освоїти і впровадити нові технології, а також спроектувати архітектуру на їх базі. Іноді такі пілотні проекти займали до 3 місяців, при цьому я міг проводити весь цей час в офісі партнера. До речі, одним з таких партнерів і виявився Ciklum, мій наступний роботодавець.
Мабуть, рішення про відхід з Microsoft було найважчим у моїй кар'єрі. Там я почував себе на своєму місці, проте, на жаль, наш проект був закритий за результатами фінансового року. Мені запропонували перехід в іншу команду, яка була щільно зав'язана на продажу. Але ця пропозиція не здалося мені цікавим.
В Ciklum я прийшов як Solution Architect. На той момент в команді архітекторів працювало лише 3 людини, включаючи нашого керівника департаменту. За наступні півроку-рік я допоміг виграти кілька великих тендерів і отримав підвищення до рівня Senior Solution Architect.
Про співтоваристві Microsoft Azure
У 2014 році мені хотілося поспілкуватися з однодумцями, які теж працюють з Microsoft Azure. Але виявилося, що в Україні такого співтовариства немає. Тому я вирішив його створити, попередньо заручившись підтримкою Microsoft.
В рамках співтовариства ми проводимо конференцію AzureDay . У 2018 року захід зібрав близько 250 учасників. Я намагаюся запрошувати на Azure Day кращих українських та закордонних експертів, щоб порядок денний складався з максимально складних і глибоких доповідей. Мрію, що захід буде залучати не тільки місцеве співтовариство, а і розробників з інших країн Європи. До речі, сама конференція вже виросла за межі України: її проводили в Білорусі, Польщі, Болгарії та Росії.
Також ми підтримуємо в Україні Global Azure Bootcamp — це всесвітня конференція, яка проходить в один і той же день в різних містах світу. У минулому році в ній брали участь сумарно 15 тис. осіб. Я координую Global Azure Bootcamp в Києві, мої колеги — у Харкові, Львові та Одесі. В рамках конференції проходить благодійна лабораторна робота: ми підтримуємо дослідження для неприбуткової організації, яку обирають організатори.
Наприклад, у 2016 році допомагали в дослідженні проблем раку грудей. Всі бажаючі могли запустити у себе в хмарі віртуальні машини, на які завантажували спеціальний образ з необхідними для проекту науковими алгоритмами. Приємно знати, що за результатами вже п'яти конференцій Global Azure Bootcamp Україна завжди входить в топ-10 країн, які віддають свої ресурси на благодійність.
Крім організаторської діяльності, я сам часто виступаю з доповідями на українських і зарубіжних конференціях. Наприклад, лише у минулому році у мене було близько 40 виступів. Жити в такому графіку було нелегко, але виступи на конференціях допомагають удосконалювати власні навички комунікації, постійно вчитися новому, розвивати спільноту, знайомитися з новими людьми. Це корисно і для прямих посадових обов'язків. Я постійно спілкуюся безпосередньо з клієнтами, приймаю участь у процесі закладу проекту в компанію. А для цього потрібно вміти триматися невимушено і «продати» себе і свою компанію.
Типовий робочий день в Ciklum
Робочі дні проходять дуже по-різному в залежності від того, які активності я запланував. Вранці з дому я перевіряю робочі чати і пошту. На основі цієї інформації планую день. Приміром, можу приїхати в офіс, і до 7-ї ранку, якщо треба, або до 10-ти, як більшість колег. Такий мінливий графік роботи пов'язаний із тим, що моя основна роль в Ciklum — фахівець із вирішення проблем. Майже як Містер Вульф з «Кримінального чтива» :)
Коли до нас заходить новий проект, я оцінюю, в чому саме знадобиться моє безпосередню участь. Як правило, це проектування найбільш складних фрагментів архітектури, які потім беруть в роботу наші розробники. Також я присвячую час роботи над винятковими ситуаціями на різних проектах: вирішую конфлікти, які виникають на грунті технічної. «Тушу пожежі», якщо вони вже сталися, або ж намагаюся не допустити їх появи, якщо це ще можливо.
На роботу над проектами витрачаю близько 4 годин у день. Приблизно 2 години — на самоосвіту і ще 2 години — на менторство.
Що стосується менторства, моя позиція — ніколи не бігати за учнями. Це учні повинні бігати за ментором :) Люди повинні бути зацікавлені у власному розвитку. Змушувати їх робити через силу немає сенсу. Якщо у людини є мотивація і він тягнеться до нових знань, я допомагаю йому розвиватися далі. За таким принципом я навчав вже приблизно 10 чоловік, і всі вони змогли добитися успіху у своїх починаннях. Якщо ж у людини немає глибокого інтересу, то я відмовляю: навряд чи з цього щось вийде. До речі, тому мені не дуже цікаво розвиватися по лінії people-менеджменту — мені здається, що ця роль передбачає бігати за людьми.
В офісі я проводжу близько 8 годин в день. На особистому досвіді переконався, що переробки до добра не доводять. Якщо «тушу пожежа» і доводиться засидітися, на наступний день приходжу пізніше або ж йду раніше. Постійних овертаймів намагаюся не допускати. Приміром, sales-менеджери одного з проектів із США любили призначати мітинги на пізній вечір, при цьому команда починала працювати рано вранці. Але я пояснив, що від мене буде набагато більше користі, якщо я не буду переробляти і добре відпочину.
На розвиток Ukrainian Microsoft Azure Community витрачаю близько 4 годин в тиждень. Приблизно стільки ж — на спілкування з колегами по спільноти Microsoft Azure MVP . Ми даємо компанії зворотний зв'язок по продуктах і за це отримуємо безкоштовні ліцензії на продукти і сервіси, можливість протестувати оновлення одним з перших (деколи до того, як почнеться private preview), а також доступ до спільноти експертів і однодумців по всьому світу.
Інструменти і продуктивність
Я не користуюся якимись специфічними практиками з тайм-менеджменту, а просто заношу всі справи та зустрічі в календар. Наприклад, якщо я знаю, що до такого-то часу треба підготувати презентацію для клієнта, то ставлю в календарі блокер під цю активність, щоб ніякі інші завдання не перетиналися за часом з цією. Робочий календар синхронизирую з особистим: наприклад, в останньому планую підготовку доповідей для Microsoft Azure співтовариства або созвони з Microsoft Azure MVP.
У плані офісних інструментів активно користуюся пакетом Microsoft Office 365. Коштує відносно недорого і дає мені пошту на власному домені, календарі, сховище файлів та ліцензію на пакет Microsoft Office.
Основний інструмент комунікацій — пошта. Повідомлення переглядаю завжди, але відповідаю на листи по мірі вільного часу. Додатково використовую месенджери. Для спілкування по роботі — Microsoft Teams і Slack, для спілкування з друзями — Skype і Facebook Messenger, часом Telegram. Але іноді частина робочої комунікації проходить і через Skype. Це мені не дуже подобається, так як я намагаюся розділяти особисте і робочу життя, але іноді бувають винятки.
Крім інструментів для спілкування, я використовую масу інших додатків, які потрібні для роботи. Найчастіше це Sourcetree і GitHub Desktop — для роботи з початковим кодом. Rider, WebStorm, VisualStudio, VisualStudio Code — для написання коду, Postman — для тестування API. Архітектурні діаграми роблю Visio і Draw.IO Desktop, документацію — в Camtasia Snagit. Для презентацій зручний PowerPoint, для нотаток — OneNote.
Книжки і самоосвіта
Головний джерело мого самоосвіти — це та сама «гаражна» студія. Хоч я і перейшов на роботу в аутсорсингу, до мене продовжували звертатися клієнти. І я випробував модель роботи, яка здалася мені цікавою і вигідною. Я став пропонувати замовникам невисоку вартість, але з умовою, що я сам вибираю стек технологій і приймаю всі технічні рішення. Справа в тому, що в аутсорсингу розробники не завжди мають таку можливість, а робота з legacy code мало кому приносить задоволення.
Так я отримав «пісочницю», в якій можу пробувати на практиці нові технології та ще отримувати за це невелику, але оплату. До того ж під цікавий стек легко залучати співробітників — з тією ж ідеєю: можливість навчитися новому і прокачати свої навички.
На такий фріланс я витрачаю до 20 годин в місяць.
Що стосується читання, в основному це не книги, а статті. Наприклад, блоги великих компаній і людей, які в цих компаніях працюють: Microsoft Azure Blog , AWS News Blog , Google Cloud Blog , Martin Fowler (ThoughtWorks) , Donovan Brown (Microsoft) , Troy Hunt (Microsoft) . Слухаю HanselMinutes Podcast . Мені цікаво, в яку сторону рухається той чи інший вендор в плані розвитку своїх технологій. Якщо якась тема чіпляє, вивчаю її глибше. Пробую технологію руками і оцінюю, наскільки її маркетингові опису збігаються з реальністю.
Крім технологій, вивчаю бізнес: як він працює, чому саме так, а не інакше. З кожним роком відчуваю все більший інтерес до цієї теми. Читаю статті людей, яким вдалося реалізуватися в бізнесі. Якщо говорити про книжки, дуже подобаються роботи Іцхака Адізеса"The Phoenix Project« Джин Кім, Джорджа Спаффорда і Кевіна Бера, «Surrounded by Idiots» Томаса Еріксона, «Games People Play» Еріка Берна, «The World According to Clarkson» Джеремі Кларксона і «Казка про Трійку» Стругацьких. Кожна з цих книг допомогла мені стати тією людиною, ким я є зараз.
Ретроспектива та плани на майбутнє
Як і будь-яка людина, я робив багато помилок, але саме вони допомогли мені стати професіоналом. Тут можна провести аналогію з культурою DevOps: робити помилки — це нормально, але тільки за умови, що одну і ту ж помилку ми допускаємо тільки один раз. Іншими словами, потрібно виносити урок і не наступати повторно на одні і ті ж граблі.
Що стосується планів на майбутнє, складно сказати щось певне в умовах того, як швидко змінюється світ і політична обстановка. Знаю, що багато хто з колег по цеху думають про релокації до Європи чи Штатів. Я сам поки не планую переїзд, але і не виключаю його.
У плані технологій мені подобається займатися архітектурою, і я планую розвиватися далі в цій області. Можливо, буду робити більший акцент у бік бізнес-складової, але від технологій точно йти не буду. У мене є кілька незакінчених opensource-проектів на GitHub, хочу довести їх до кінця.
Опубліковано: 27/12/18 @ 12:00
Розділ Блоги
Рекомендуємо:
Senior у пошуках роботи. Про питання на системний дизайн та фінальні співбесіди
Junior дайджест: курси, стажування, вакансії. Січень'19
Product Management дайджест #6: A/B тестування в Twitter, пріоритизація фіч за моделлю Кано
Python дайджест #18: new Python governance model
Огляд AR-очок Magic Leap: крок вперед чи проривний стрибок?