Как я работаю: Антон Бойко, Senior Solution Architect в Ciklum и основатель Azure-сообщества
[В рубрике «Как я работаю» мы приглашаем гостя рассказать о своей работе, организации воркспейса, полезных инструментах и лайфхаках]
Антон Бойко — 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.
О себе
В детстве я часто болел и много времени проводил дома — так и проснулся интерес к компьютерам. Вместе с друзьями мы активно играли в компьютерные игры и мечтали сами написать игру. В
После школы поступил на факультет прикладной математики в НТУУ «КПИ». Моя кафедра называлась «Специализированные компьютерные системы»: там больше упор на инженерию, чем на математику. Каждый предмет мне был интересен по-своему, и я не до конца понимал, чем именно хочу заниматься в будущем. Еще во время студенчества стал преподавать на компьютерных курсах: учил людей пользоваться ПК, офисными пакетами — в начале
Интересно, что о вакансии преподавателя на курсах я узнал из газеты с объявлениями. А позже издатель этой газеты сам стал первым работодателем, куда я устроился как программист. Компания называлась Rabota+. Там я разрабатывал систему документооборота, отдаленно напоминающую современные CRM. Работал с Object Pascal на Borland Delphi 7, часть ресурсов была написана на PHP 5.
После Rabota+ я решил попробовать себя в системном администрировании. В начале-середине нулевых это направление выглядело очень перспективным. У сисадминов зарплата была выше, чем у программистов, вакансий было больше. И казалось, что они занимаются по-настоящему крутой работой — держат целые системы на куче серверов! Тогда на внутреннем рынке спрос на разработчиков был не очень большим, а эра тотального аутсорсинга в Украине еще не наступила.
Переключившись на системное администрирование, я пришел работать в компанию «Информационные программные системы». Только сейчас понимаю, насколько крутыми вещами мы там занимались. На базе продуктов Microsoft мы построили решение, которое очень напоминало теперешний Microsoft Office 365. Мы начали продавать его по модели SaaS украинским клиентам — на
Затем я понял, что все-таки разработка мне интереснее, чем администрирование серверов. На тот момент я по году-полтора поработал в нескольких компаниях и получил опыт в разных направлениях, но у меня не было глубокой экспертизы по какой-то конкретной технологии. А в страну пришел глобальный финансовый кризис, доллар впервые поднялся с 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
Рабочие дни проходят очень по-разному в зависимости от того, какие активности я запланировал. Утром из дома я проверяю рабочие чаты и почту. На основе этой информации планирую день. К примеру, могу приехать в офис и к
Когда к нам заходит новый проект, я оцениваю, в чем именно понадобится мое непосредственное участие. Как правило, это проектирование самых сложных фрагментов архитектуры, которые потом берут в работу наши разработчики. Также я посвящаю время работе над исключительными ситуациями на разных проектах: решаю конфликты, которые возникают на технической почве. «Тушу пожары», если они уже случились, или же стараюсь не допустить их появления, если это еще возможно.
На работу над проектами трачу около 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, хочу довести их до конца.