Кар’єрний шлях. Як я працював у різних типах IT-компаній, включаючи FAANG, і чому повернувся до України
Всім привіт. Мене звуть Сергій Маяков, я технічний директор продуктової IT-компанії Newage. У цій статті хочу поділитися нюансами роботи у різних типах IT-компаній, з власного досвіду розповісти про плюси та мінуси.
Зараз складний час, і перед багатьма інженерами постає питання пошуку роботи / перекваліфікації. Сподіваюся, що моя історія допоможе комусь зробити правильний вибір.
В IT за покликанням
Я вірю, що по-справжньому успішним можна стати лише тоді, коли захоплений своєю справою. Тому щиро раджу всім початківцям в IT прислухатися до себе перед тим, як вибрати спеціалізацію.
Вже багато років довкола українського IT чимало хайпу: всі ці розмови про те, як багато платять програмістам та який низький поріг входу у професію. Справді, з огляду на українські ціни та можливість вести діяльність через ФОП робота програмістом виглядає дуже привабливо. Якщо говорити про рівень життя, то програмістом найбільш вигідно працювати в Україні чи у США.
Але не варто вибирати цей шлях лише заради грошей. Ти не стаєш інженером, закінчивши курси за пару місяців: робота в IT (та й не тільки) — це постійний розвиток. Ніколи не настане момент, коли ти «довчився». Якщо готовий постійно розвиватися протягом кар’єри, завжди докопуватись до суті проблеми, аналізувати та шукати недоліки й отримувати від цього кайф, вітаю, — ти нашої крові.
Якщо ж відчуваєш, що це не зовсім твоє, — IT не обмежується тільки інженерами: можна розглянути як спеціалізацію бізнес-аналіз, проджект- й продакт-менеджмент, дизайн та багато іншого, що підходить більш творчим людям. І поріг входу, до речі, значно нижчий.
Зараз більшості навчальних курсів передують ознайомлювальні безплатні вебінари. Запишіться на декілька, послухайте й оберіть професію, у якій дійсно хочете розвиватися. Не покладайтеся на спонтанні рішення і пам’ятайте, що у будь-якій справі успіх можливий тільки при повному заглибленні та віддачі на всі 100%.
Для мене вибір IT-професії не був питанням тренду. Мені було по-справжньому цікаво з того моменту, як у віці 6 років я повністю розібрав свою
Потім я самостійно вивчив Basic задовго до вступу в КПІ. В інституті одразу вибрав Java як основну мову, хоча в далекому
Мене драйвило програмування, було цікаво розумітися на нюансах нових технологій, і я вірю, що саме цей драйв відіграв важливу роль.
Досвід роботи в Україні. Що я зрозумів про відмінності міжнародного продукту, аутсорсу і стартапу
Моєю першою серйозною роботою стала посада Android-розробника в продуктовій компанії Samsung. До цього я 3 роки працював адміністратором, завдяки чому трохи прокачав базові знання «Лінукса» й мереж.
Час у Samsung дав мені нереальний досвід та професійний розвиток. Саме тут я навчився презентувати ідеї, захищати їх, вибудовувати процес розробки та керувати реалізацією проєкту у команді.
Обираючи роботу в міжнародній продуктовій компанії, важливо бути готовим до активної взаємодії у команді, розвитку навичок презентації, постійної концентрації на питанні корисності того чи іншого функціоналу кінцевому користувачеві. Також бувають ситуації, що продуктова фіча стає неактуальною та/або сам проєкт теж втрачає актуальність.
Наступним значущим етапом моєї кар’єри була робота в українському аутсорсі.
Спочатку я приєднався до невеликого аутсорсу на проєкт для одного з банків Америки (на момент закриття в аутсорсі були зайняті 300 осіб).
Проєкт та стек, як і в будь-якому банку, були дуже консервативні. Відразу скажу — на цьому проєкті був побудований грамотний менеджмент з усіма приємними наслідками: відсутність гарячки та овертаймів, завжди задоволені клієнти та співробітники, лояльні стосунки з керівництвом, прозоре кар’єрне зростання. Але у 2014 році, коли почалося воєнне вторгнення росії в Україну, клієнт вирішив мінімізувати ризики та вибрав аутсорсера з Індії.
Після цього я перейшов до великої міжнародної аутсорсингової компанії. У масштабному аутсорсі всі процеси вибудовані, є чітка взаємодія на кожному рівні: новачків грамотно і поступово вводять до компанії та проєкту, працює програма особистого розвитку, є проджект-менеджер і менеджер, який стежить за тобою і сприяє твоєму розвитку. А ти просто працюєш, дотримуючись встановленого порядку.
Виходячи з мого досвіду, перевага роботи в аутсорсингових компаніях — передбачуваність процесів та побудована взаємодія із замовником. За правильної організації ти завжди знаєш, що від тебе вимагають і що маєш робити. Жодних відхилень від заданого курсу. Загалом комфортність роботи залежить від того, наскільки пощастило з клієнтом та на якому етапі проєкт.
Однак, у такому підході є і зворотна сторона — можливості розвитку у межах свого проєкту обмежені. Навіть якщо ти робиш більше, ніж потрібно, найчастіше це нікому не потрібне. Замовник платить за визначений обсяг робіт.
Ти можеш змінювати проєкти, але ситуація глобально не зміниться. Є замовник — він платить компанії fixed rate, за який тебе продають, а ти отримуєш із цього певний процент.
Тому я почав шукати можливість потрапити до компанії, де б довелось робити все: бути й адміном, і девопсом, і архітектором, і проджект-менеджером. У 2016 році я вибрав Newage — тоді це був продуктовий стартап у чистому вигляді: невелика орендована кімната як офіс, кілька людей у команді, ніякі процеси ще не побудовані. Було тільки якесь загальне бачення, як зробити продукт, бажання розвивати ці ідеї й дуже заряджений колектив, націлений на результат.
Працюючи як техлід/ тімлід, я наймав спеціалістів, розширював команду, приймав архітектурні рішення. Мав практично повну свободу щодо технічного розвитку продукту, чого мені так не вистачало на попередніх місцях.
Про роботу в стартапі можу сказати, що вона навряд чи підійде тим, хто звик до чітких і налагоджених процесів, порядку та впевненості в завтрашньому дні, хто віддає перевагу розміреній роботі.Будь-який стартап — це завжди шлях у невідоме. Ти не знаєш, що станеться наступного моменту, але маєш швидко переформатуватися під ситуацію і придумати елегантне рішення. Проте саме стартапи стають ідеальним місцем для тих, хто прагне різнобічного розвитку.
Досвід роботи в Amazon в Канаді: зміна поглядів на підходи до IT
Думаючи про особистий розвиток у професії, я прагнув навчатися у найкращих і взяв собі за мету потрапити в FAANG. З 2012 року цілеспрямовано проходив співбесіди до Amazon, Goolge, Disney та Microsoft, щоб переїхати до США. Але то з фідбеком були складнощі, то кілька років поспіль не міг отримати американську візу навіть за наявності оферу.
Переїзд малювався мені на тлі можливості їздити на пікапі в ковбойському капелюсі, жити у двоповерховому будинку посеред зеленого моріжка, дихати повітрям вільної Америки, — та склалося інакше.
Якось я пішов на співбесіду до Amazon Canada та через 24 години отримав дві круті пропозиції до різних команд. Кілька місяців зайняла підготовка документів, і я опинився в Канаді.
Проєкт, до якого я приєднався, був пов’язаний з високотехнічною частиною Amazon, що пов’язувала всі віртуальні покупки з фізичними речами на складах в усьому світі. Це був крутий досвід роботи з гігантською розподіленою високонавантаженою системою з найсуворішими SLA.
Перше, що мене найбільше вразило в Amazon, — масштаб. Загальна кількість співробітників компанії на той момент становила близько 500 000 людей. Сервіси, точки продажу, команди, склади — все це було розподілено по світу. І потрібно було організовувати безперебійну роботу всього процесу (від оформлення замовлення на сайті до завантаження посилки в машину), оскільки найменший збій порушить роботу цілого ланцюжка і призведе до затримки наступних посилок.
Я зрозумів, що якщо раніше зосереджувався на результаті, то тут фокус маю тримати на процесах. За умови організації процесу, логічного та зрозумілого всім учасникам, команди можуть працювати самоорганізовано та автономно у будь-яких ситуаціях — навіть у масштабі десятків тисяч співробітників проєкту та сотень тисяч сервісів.
Я став активно вивчати та розвивати Site Reliability Engineering — практики, які зародилися в Google та Amazon. SRE-практики допомагали в побудові дійсно надійних систем будь-яких масштабів і складності (це охоплює SLA з availability, durability, correctness, throughput, freshness, latency, quality та багато інших).
Коли в проєкті
Я детально аналізував зростання світових IT-гігантів, щоб зрозуміти, як їм вдається (а комусь і не вдається) підтримувати та розвивати високонавантажені розподілені системи із сотень тисяч сервісів, при цьому забезпечувати належну якість продукту та гарантувати високий рівень доступності. Без цих практик під час масштабування проєкту складність підтримки та розвитку зростають експоненційно до збільшення команд та сервісів.
Робота в Amazon мене багато чого навчила, у тому числі правильно аналізувати помилки та реагувати на інциденти. Наприклад, там я регулярно був onCall (чергував). У цьому процесі треба моніторити працездатність усієї системи, за яку відповідає твоя команда.Масштаби системи та інфраструктури колосальні навіть у рамках команд, і за відсутності бездоганних підходів до моніторингу та алертингу ефективний контроль був би неможливим. Якщо десь — у будь-якій точці світу і в будь-який час — щось відбувається, у тебе є 15 хвилин на реакцію до ескалації. Потрібно визначити проблему, продумати план дій і, щоб запобігти наслідкам, дати вказівки іншим співробітникам (якщо розв’язання проблеми не у твоїй зоні відповідальності), які теж розкидані світом.
Коли ти залучаєш людину з іншої команди та говориш про якусь серйозну проблему в її домені, необхідно за кілька хвилин надати всю значущу інформацію. А це неможливо, якщо не вмієш максимально чітко, коротко і послідовно висловлювати свої думки.
Після «гасіння пожежі» починався детальний розгляд проблеми, щоб вона не повторилася, і цей аналіз іноді сягав моментів найнижчого рівня.
Перші такі чергування були дуже стресовими, особливо коли кілька проблем з’являлися уночі й одночасно. Спочатку, оскільки знаєш ціну даунтайму, від спрацьовування пейджера пульс підстрибував до небес, але поступово вироблялися чіткість і холоднокровність в аналізі проблеми будь-якого масштабу.
Робота в Amazon дала мені можливість зрозуміти важливість організації процесу та взаємодії команд, а не тільки чистоти коду та дотримання архітектурних патернів.
Чому я повернувся до продуктової компанії в Україну
Через кілька років в Канаді я зрозумів, що таке життя мені та моїй сім’ї не підходить. Колосальне зростання цін на нерухомість та «інша» медицина стали основними факторами.
Так, тих, хто вважає, що в Канаді найкраща та безплатна медицина, я розчарую. Вона в більшості випадків дійсно безплатна, але загалом канадська система охорони здоров’я підходить людям з хорошим здоров’ям та дуже міцними нервами.
Та й на поточній роботі я багато чого навчився — настав час рухатися далі. У мене був вибір: нарешті втілити давню мету і переїхати до США, влаштувавшись у якийсь перспективний стартап, або повернутися додому.
Чому не FAANG? Безумовно, організованість, передбачуваність та впевненість у завтрашньому дні й цікаві челенджі роблять FAANG все ще привабливими. Але варто розуміти, що зростання, яке спостерігалося останні 12 років, зараз йде на спад, і акції (а половину ЗП платять саме акціями) навряд чи дорожчатимуть у
Так я вирішив повернутися до України й прийняв офер Newage на позицію СТО. На той момент компанія значно зросла: отримала нових клієнтів, створила кілька нових продуктів.
Також зізнаюся, що особисто мені більше підходить робота у менш бюрократизованих компаніях. Дуже зручно, коли майже будь-яке питання можна вирішити в найкоротший термін, без десятків мітингів і тривалого листування.
Занадто бюрократизовані процеси пригальмовують швидкість команд або взагалі «гасять» ініціативи, які дуже часто є тригером розвитку. Я прихильник живіших та гнучкіших процесів.
Ми часто проводимо proof of concept або A/B тестування, щоб прийняти те чи інше рішення та оцінити його ефективність. Адже не завжди можна заздалегідь усе передбачити, а інвестувати багато часу у детальний аналіз і ресерч іноді менш ефективно, ніж перевірити ідею у «бою».
Звісно, це не було б можливим без належного рівня observability, який є невіддільною частиною SRE-підходів.
Зараз у компанії я активно впроваджую SRE-практики й вибудовую процеси, здатні масштабуватись. Ми приділяємо багато уваги відпрацюванню таких речей, як capacity planning, incident analysis/ root cause analysis, monitoring and alerting, development vs best practices.
Наприклад, на всіх наших великих проєктах, де працюють сотні сервісів, є SRE-борд, який показує стан усієї платформи та кожного її компонента, включаючи мережу, у максимально зручному та зрозумілому вигляді.
На бордах виведено лише ключові метрики, щоб протягом 10 секунд можна було зрозуміти, чи є проблема, де саме (у деяких випадках — і в чому причина) та простежувати транзитивні залежності систем. Таким чином ми в рази спрощуємо та прискорюємо аналіз й реакцію на інциденти.
Що стосується самих інцидентів, у нас є спрощена практика postmortem/ correction of error. Якщо стався серйозний інцидент, потрібно провести детальний аналіз (5 Why’s), щоб докопатися до суті, оцінити втрати, прийти до екшн айтем, які потрібно виконати для виключення інциденту в майбутньому. Все логічно та просто.
За мірками бізнесу Newage зараз — молода компанія в процесі розвитку. Але ті підходи та практики, які поступово впроваджуються, є ключовими на шляху до встановленого SLO та покращення наших продуктів до максимально якісних й конкурентоспроможних. Я впевнений у правильності свого вектора розвитку та бачу багато перспектив.
Особисті висновки про продукт vs аутсорс
У розповіді про власний кар’єрний шлях я постарався виділити плюси та мінуси роботи в різних ІТ-компаніях.
Мені робота в мульті- або монопродуктовій компанії в Україні здається найкращим вибором для розвитку як інженера, тому що:
- у продуктовій компанії більше можливостей впливати на архітектуру та вибір технології;
- дуже заохочується особиста ініціатива;
- немає такої великої залежності від замовника та його настрою, як в аутсорсі;
- більше можливостей експериментувати та впроваджувати цікаві фічі;
- компанія найбільше зацікавлена у твоєму розвитку. Адже вона заробляє не перепродажем тебе чи сервісу з розробки, а завдяки якості та розвитку продукту, отже, має сприяти всім можливим способам його вдосконалити.
У поточних реаліях, вибираючи компанію, я б ще звертав увагу, як вона поводилася в перші місяці війни: чи були звільнення, як підтримували співробітників, чи були (й залишилися) клієнти в росії?
*****
Я повернувся до України за кілька місяців до війни. Раніше уявляв себе громадянином світу і вважав, що жити й працювати можна будь-де. Але поки мешкав у Канаді, зрозумів, що є невидимі нитки, які пов’язують мене з Україною.
І зараз, попри все, я радію поверненню. Проживаючи всі події воєнного часу тут, знаю, що я у своїй країні та серед своїх людей.
Мені подобається ставлення українців до роботи чи іншої справи, яку вони вважають для себе важливою: віддаватися всією душею, працювати на максимумі власних можливостей.
Я відчуваю цей ритм, ми на одній хвилі. І маємо все, щоб зробити майбутнє таким, яким самі захочемо.
Мені зараз як ніколи близькі рядки Мирослава Вересюка: «Гадаєш, ти мене образив, коли бандерівцем назвав? Скажу тобі на це одразу — я ним не був! Тепер вже став!»
Найкращі коментарі пропустити