Русский военный корабль, иди нах*й.
Пожертвувати на армію
×
Упс!
Не вдала спроба:(
Будь ласка, спробуйте ще раз.

Що сприяє кар'єрному зростанню розробника. Розповідає Марія Ковалівська з Innovecs

Марія Ковалівська
Марія Ковалівська Engineering Manager в Innovecs
9 червня 2022 11 хвилин читання

Мапа кар'єрного зростання програмістів має два напрями: можна рухатися вгору по вертикальній осі, а можна вглиб по горизонтальній. Спеціалісти, які обирають вертикальний вектор, ростуть до позицій Tech/Team Leads, Engineering Manager та Delivery Manager.

Ті, що обирають горизонтальний вектор, поетапно долають кожну зі сходинок від Junior до Senior Engineer, а далі горизонтальне зростання залежить від структури компанії. Хтось стає архітектором, а хтось змінює компанію й посилює свої знання завдяки новим процесам і технологіям залежно від проєкту.

Згідно з класичним підходом всім інженерам, які обирають напрям вгору, важливо особливо сфокусуватися на розвитку soft skills — People Management, а для тих, які обирають розвиватися горизонтально, необхідно весь час удосконалювати hard skills — Engineering Expertise.

Щоб бути лідером, необов'язково очолювати команди чи управляти людьми, насамперед треба бути тим, хто задає вектор руху, впливає на інших, формує тренди й змінює їх. Відповідно до такої концепції engineering leaders — це не лише ті, що очолюють команду, а й усі експерти, які розробляють інновації, передові продукти та впроваджують цифрову трансформацію.

Якими є основні принципи Engineering Leadership, що допомагає розробнику зростати за вертикальним і горизонтальним вектором руху, розповідає Марія Ковалівська, Engineering Manager в Innovecs. Свого часу вона прийшла у компанію на позицію Middle Engineer за напрямом Frontend (React) і буквально за три роки обійняла посаду Engineering Manager.

Марія Ковалівська, Engineering Manager в Innovecs Марія Ковалівська, Engineering Manager в Innovecs

Менторство

Менторити джунів може як Team/Tech Lead, так і Senior Engineer. Головна умова — це глибока експертиза і бажання допомогти колегам. Саме з цього почався мій плавний перехід від ролі Senior Engineer до Team/Tech Lead і далі Engineering Manager. По суті, Team/Tech Lead — це Senior Engineer, який вміє керувати людьми, орієнтується у процесах і вміє менторити інших. Загалом я працюю в ІТ майже шість років, з них 2,5 роки досвіду на позиції програміста в аутсорсинговій компанії й стартапі, а три — у компанії Innovecs.

Саме тут відбулося моє вертикальне зростання як менеджера. Я навіть не ставила собі за мету рухатися по вертикальній осі, усе було природно. Завдяки складнішим завданням поступово виросла від Middle до Senior, тоді почала менторити Junior Engineers. Згодом вже переймала обов'язки Team/Tech Lead. Коли обсяги роботи на проєкті зростали, команда поділилася на підкоманди. У моєму підпорядкуванні було 3-4 людей. Залишаючись на позиції програміста, я вже займалася менеджментом. Згодом у команді відбулася класична ротація працівників: ті, кому я підпорядковувалася, просунулися вище, а я підхопила їхню роль.

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

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

Експертність

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

Здебільшого в ІТ-сфері позиція Engineering Manager не прирівнюється до організаційного менеджера, оскільки Engineering Manager повинен мати зокрема й хорошу технічну експертизу, а не лише організовувати процес.

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

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

Middle ще може застрягати на якихось питаннях, тоді як Senior пропонує кілька варіантів рішення.

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

Відповідальність

Якщо ти хочеш зростати, звикай брати на себе більше відповідальності. Що більше ти справляєшся, то більше тобі довіряють. Лідерство і відповідальність нерозривні. Це те, з чим мені було найскладніше впоратися на початках. Engineering Manager завжди є першим, до кого звертаються з усіма питаннями, пов'язаними з проєктом чи командою, і тобі доводиться усе вирішувати. Перші два місяці були стресовими для мене, а далі вже звикла.

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

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

Комунікабельність

На рівні менеджера треба бути готовим до того, що доведеться багато комунікувати як із замовником, так і з членами команди. Важливо бути відкритим і будувати дружні стосунки з командою.

Я проти вертикального лідерства, коли є «бос» і «підлеглий» — це якийсь пережиток минулого.

Лідерство має бути демократичним, а не авторитарним. Треба поводитися так, аби тіммейти не боялися висловити свою думку чи аргументувати, а навпаки, змогли бути відвертими та не відчували ніякої ієрархії.

Team Lead й Engineering Manager мають високий рівень емоційного інтелекту. Їм часто доводиться «розрулювати» складні ситуації із замовником, який наполягає на своїх не завжди реалістичних ідеях, або ж мотивувати членів команди, які повинні вкластися у дедлайни та зробити якісно. Трапляється іноді так, що розраховуєш на когось, а людина зникає, не відповідає, не виконує вчасно, підводить. А за кінцевий результат у будь-якому випадку відповідає Engineering Manager. Він або вона пояснює керівництву причини невиконання чи відтермінування дедлайнів.

Як на мене, найважче у цій ролі справлятися із безвідповідальністю інших. Завжди треба стежити за моральним станом людей у команді, щоб усім було цікаво працювати, а обов'язки відповідали можливостям, щоб люди бачили перспективи росту. Щоб навчитися мотивувати людей, треба мати досвід спілкування. Час від часу проводити one-to-one meeting з членами команади, цікавитися статусом завдань та можливими блокерами. Мене цьому ніхто не вчив, я швидше переймала досвід від свого керівництва. Спочатку було складно, але потім звикла.

Стресостійкість

Якщо Middle Engineer бере частину відповідальності, то Senior Engineer, Team Lead, Engineering Manager є повністю самостійними й мають бути готові до екстрених ситуацій на проєкті. Не боятися, що щось піде не за планом, коли треба непередбачувано пофіксити баги або терміново вийти на зв'язок із замовником. Тут важлива гнучкість, критичне мислення й стресостійкість. Готовність до стресових ситуацій і вміння з ними справлятися на емоційному рівні часто важливіші, ніж технічні навички. Особливо якщо йдеться про особливості роботи Engineering Manager. Зазвичай людина, яка є хорошим технічним спеціалістом, але має проблеми з комунікацією, менш ефективна на проєкті, аніж та, яка можливо, має гірші технічні навички, але є стресостійкою та може краще й швидше розв'язати задачу.

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

Усі помиляються, не треба через це панікувати й надміру стресувати, важливо робити висновки й вчитися.

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

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

Мультифункціональність

Після того, як перейшла на позицію Engineering Manager, навчилася бути мультифункціональною — тримати одночасно кілька напрямів у своїй голові. Важливо швидко переходити з однієї задачі на іншу, оперувати кількома процесами. Не боятися нового і швидко вчитися. Звичайно, важливо прокачувати свою англійську, адже доводиться домовлятися із замовниками й вміло їх переконувати, пропонувати альтернативні варіанти рішень. Я радила б кожному розробнику покращувати рівень англійської мови. І якщо немає можливості щоденно спілкуватися, то точно варто відвідувати курси чи speaking club.

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

Думаю, люди, які прагнуть бути менеджерами, згодом цього таки досягають. Engineering Leadership — це не лише про управління людьми, а й про здатність бути рольовою моделлю у своїй професії, впливати й досягати результатів.

Якщо ви хочете поділитися з читачами SPEKA власним досвідом, розповісти свою історію чи опублікувати колонку на важливу для вас тему, долучайтеся. Відтепер ви можете зареєструватися на сайті SPEKA і самостійно опублікувати свій пост.
0
Прокоментувати