Багаторічна робота програміста в одній компанії на одній посаді має дві сторони медалі. З одного боку, ви прокачуєтесь до рівня гуру, почуваєтесь впевнено, вмієте швидко на автоматі виконувати безліч рутинних завдань.
З іншого боку, ви починаєте нудьгувати. Ви застрягли у своїй посаді, і рухатися нема куди.
Чому так відбувається? Чому ви не розвиваєтесь як професіонал? Які ознаки свідчать про те, що ви застрягли на одному рівні? Як оцінити продуктивність програміста? Як запобігти деградації? Розповідаємо у цій статті.
Способи як оцінити свій рівень розвитку як спеціаліста
Уявіть: ви давно мрієте стати техлідом, йдете до своєї мрії, знаєте, що ви точно заслуговуєте на цю посаду. Аж раптом наймають когось іншого. Але ж ви були впевнені, що оберуть саме вас!
Чи навпаки. Багато років ви товчетесь на місці в одній конторі, де начальство постійно вас критикує. Починаєте думати, що справа у вас, що ви ні на що не здатні. Нарешті наважуєтесь відправити резюме в інші компанії. І тут виявляється, що вас із вашими знаннями готові з руками та ногами відірвати. І ваш рівень джуна (який ви вважаєте заслуженим) насправді відповідає рівню міддл/міддл+ в інших компаніях.
Все це — результат неправильної оцінки власного рівня розвитку. Будь-які крайнощі не дають нормально розвиватися. Беретеся за проєкти, які не зможете потягнути, і в результаті зриваєте дедлайни, фейлите? Ви стали заручником завищеної самооцінки.
Боїтеся братися за складні завдання, у яких ви могли б себе показати як справжнього профі? Думаєте: «Ну, я для цього недостатньо компетентний»? Це ваша занижена самооцінка не пускає вас хоча б спробувати щось незвичне для вас. В оцінці свого рівня розвитку потрібна золота середина.
Отже, як провести оцінку власного рівня розвитку як спеціаліста?
1. Сформулюйте свій рівень
Ви не зможете дивитися серіали мовою оригіналу без субтитрів, якщо ви тільки вивчили абетку. Так і в інженерів.
Щоб оцінити рівень розвитку програміста, потрібна певна метрика. Але яка? Наприклад, для робочого на заводі такою метрикою може бути виробіток та відсоток браку. А як оцінити продуктивність програміста? За кількістю рядків коду? За кількістю закритих багів? Аж ніяк.
Проблема запровадження метрики в ІТ компаніях для оцінки роботи програмістів так і залишається проблемою. Деякі компанії створюють якісь «рівні» з розмитими вимогами, призначають комісії для аналізу відповідності працівників цим вимогам. Інколи подібні метрики дійсно працюють. Але найчастіше вони лише імітують процес кар’єрного зростання, та й ведуть до різних зловживань.
До того ж, такі метрики, навіть правильно сформовані, не підходять для самооцінки програміста: вони надто уніфіковані та фокусуються на корисності для компанії.
Тому розробникам варто зосередитись на створенні власної метрики, яка буде підходити саме їм. Ці оцінки ви нікому не будете показувати, вони ні на що не впливатимуть глобально. Тому можете бути чесними перед собою, а не намагатися якось завищити результати оцінки.
Як оцінити себе? Наприклад, ви можете використати методику SWOT-аналізу. Заповнивши таблицю, ви можете зрозуміти свої сильні та слабкі сторони, можливості та зовнішні загрози. Далі ви визначаєте пріоритети розвитку і починаєте працювати зі своєю ефективністю.
Не забувайте, що коли ви встановлюєте кількісні параметри вимірювання вашої продуктивності, ви справді повинні мати на них вплив. Тобто «кількість користувачів, які скористалися новою фічею» — не показова. Натомість «% поламаних через мою неуважність білдів» вже про щось говорить.
Також для оцінювання рівня розвитку програміста можна використовувати зовнішні джерела: сертифікація, тестування, дипломи. Втім, вони мають недолік: питання узагальнені, не враховують специфіку вашої роботи, конкретних задач.
2. Заведіть щоденник
Щодня або хоча б раз на тиждень робіть нотатки: що ви зробили, що у вас вийшло добре, а з чим ви не впоралися. Якщо вам не дуже подобається робити нотатки у щоденнику, пишіть коментарі в Jira. Навіть якщо ви занотуєте пару речень, це дасть вам згодом (наприклад, у розмові з начальством, при пошуку роботи) набагато більше користі, ніж спроби пригадати, чим же ви займалися або як вирішували проблему в якийсь період часу.
Аналізуючи згодом свої записи, ви також зможете помітити те, що раніше було поза вашою увагою, і зрозуміти, куди зростати. Якщо ж у вас немає таких записів, принаймні, ви можете закачати описи тікетів з вашим ім’ям і коміти до них — так у вас буде хоч якась інформація.
3. Проведіть експеримент
Кожен розробник інтуїтивно розуміє свої можливості. І майже кожен робить помилки. Напишіть просто зараз сортування злиттям. Майже 100%, що у вас буде 1-2 помилки.
До тих пір, доки ми не спробували розв’язати проблему, будь-які самооцінки не матимуть нічого спільного з реальністю. Ви можете вирішити: «та розберуся я із цим проєктом», але коли реально доведеться за нього братися, перше ж завдання викликає паніку. Або можете думати, що «там так складно, навіть намагатися не буду», а згодом розібратися за пару днів.
Спробуйте провести невеличкий експеримент (бажано в рамках робочого процесу). Побудуйте гіпотезу: «Я маю такий-то рівень у своєму стеку (початківець, експерт тощо). Я знаю те-то й те-то, самостійно можу виконувати такі-то задачі і навіть можу навчити когось, а в таких-то розділах я “плаваю” і мені знадобиться допомога».
Далі побудуйте передбачення: «Якщо я візьмуся за такий-то проєкт, я зможу зробити його за стільки-то часу без втрати якості коду. У мене може бути стільки-то багів».
Після цього перевіряємо передбачення на практиці. Щоб оцінити результати всебічно, варто скористатися фідбеком. Тільки він має бути конкретним: не «як я тобі, як колега», а «як тобі мій код». Навіть якщо у вас щось не вийде, вас ніхто не звільнить за це, натомість ви зможете відкоригувати відповідно до результатів своє передбачення.
Чого не варто робити, коли ви оцінюєте власний рівень розвитку
1. Займатися саморефлексією
Часто ми оцінюємо себе однобоко. Коли чогось досягли, згадуємо попередні перемоги. Коли нас спіткали невдачі, починаємо пригадувати минулі помилки («Ну, я ж завалив той проєкт, значить, заслужив»). Ми навіть не даємо собі шансу пригадати позитивне.
Пам’ять підсовує відповідну сторону подій (там, де ми проявили себе круто, і там, де факапили) залежно від теперішньої ситуації. Але така однобока оцінка себе не має нічого спільного з реальністю.
2. Порівнювати себе з іншими
Люди, як істоти соціальні, прагнуть до певного статусу. І найпростіший спосіб перевірити його — порівняти себе з кимось. Але він одночасно і хибний. Коли у нас щось виходить добре, ми вважаємо себе рівнею найкращим. Але якщо трапляється якийсь провал, занижуємо свою самооцінку, і тоді лузери стають раптом на дві голови вищі від нас. І особливо відчутною ця прірва стає, коли всі ці люди (найсильніші та лузери) із вашої команди, тобто в цілому ви плюс-мінус однакового рівня.
Але якщо ви не розумієте складності задач колеги, то як можна себе порівнювати із ним? Хіба можна вважати фулстек розробника розумнішим за фронтендера? Навряд чи. Порівнювати себе з кимось — не дуже хороша ідея. Може, варто не «стати кращим за когось», а «стати самому кращим у чомусь»?
3. Просити фідбек у неправильний час та в неправильній формі
Зворотний зв’язок — це те, що дає можливість побачити наші «сліпі зони», адже збоку видніше. Якщо правильно підійти до цього питання, фідбек дійсно допоможе сформувати повну картину про вас і будувати кар’єру програміста.
Але тут є декілька «але».
По-перше, факт пошуку фідбеку часто сприймається як щось негативне, підозріле, адже «профі завжди впевнений у собі». І якщо він раптово просить про фідбек, значить, десь накосячив і отримав прочухана.
По-друге, якщо запитати колег «з розгону», коли вони до цього не готові, навряд чи вони відразу згадають усі ваші плюси та мінуси. Пригадають, скоріше за все, останні події, бо так працюють обмеження нашої пам’яті. Тож ви, скоріш за все, отримаєте відповідь на зразок «Та нормально ти перформиш».
По-третє, має значення, що саме ви запитуєте. Спитаєте про факапи — вам розкажуть про факапи, спитаєте про хороше — отримаєте відповідь виключно про хороше. Але це не дає всебічної оцінки роботи програмістів.
Тому щоб отримати релевантний результат, краще формулюйте питання нейтрально, на кшталт: «Що, на твою думку, в мене вийшло добре у цій ситуації» ? «Що можна було б покращити»?
Як програмісту розвиватися: декілька порад
Чому ви не розвиваєтесь як спеціаліст? Цьому може бути кілька пояснень.
Ви виконували однотипні середнячкові проєкти
Той, хто не розвивається, той деградує. Якщо роками працювати з одним доменом, архітектурою, рухатися тільки проторованою стежкою, у вас просто немає простору для зростання. Ваші знання та навички перестають відповідати вимогам ринку.
Ви працювали на фрілансі в одиночку
Якщо ІТ-спеціаліст працює один, без команди, ні з ким не спілкується, є ризик пропустити важливі новини зі світу діджитал і, отже, застрягнути у своєму стеку.
Вигорання
Коли в компанії неадекватний менеджмент, на вас звалюють задачі, які ви не можете подужати, через що відчуваєте пригнічення, і навіть гроші не мотивують, скоріш за все, ви стикнулися із професійним вигоранням. Тоді дійсно не буде мотивації для розвитку та, відповідно, не буде зростання зарплати.
Що робити?
Обирайте роботу в ІТ за покликом
Коли ви насправді любите світ технологій та бажаєте вчитися, немає жодних перепон. Сюди йдуть не тільки технарі, але й гуманітарії. Не варто йти в ІТ лише тому, що «тут добре платять». І готуйтеся до того, що вам постійно доведеться вивчати нове, адже на зміну одним технологіям приходять інші; те, що було актуально вчора, може виявитися застарілим завтра.
Розвивайтеся різнобічно
Знання ніколи не бувають зайвими. Тож опановуйте те, що не стосується вашого стеку, робіть Pet-проєкти, щоб протестувати нову технологію. І діліться своїми напрацюваннями з колегами. Можливо, саме ваші нові навички допоможуть команді та ІТ компанії зростати.
Внесіть у проєкт щось нове
Запропонуйте якесь нетипове рішення. Або напишіть враппер. Або налаштуйте процес збірки, щоб спростити роботу команді. Або візьміться за складні, нетипові для вас завдання, і самостійно ухвалюйте рішення.
Вчіться у найсильніших
Переймайте досвід у більш досвідчених колег. Знайомтеся із ними на конференціях, мітапах, у спеціалізованих Telegram-каналах. Беріться за складні проєкти, але не стійте на місці, бо поки ви зупинилися, інші вже зробили стрибок уперед.
Прокачуйте софт скілли
Особливо це стосується навички комунікації. Зустрічайтеся з колегами зі своєї та інших команд офлайн, дізнавайтеся про їх справи, над чим вони працюють, які проблеми розв’язують, спостерігайте, як вони працюють, — так ви і себе зробите кращим.
Спробуйте менторство
Коли ви навчаєте новачків, ви й самі прокачуєте свої знання. Ба більше: учні можуть знаходити нестандартні рішення, дивитися на якісь питання під іншим кутом. І коли ваші підопічні згодом стають крутими розробниками, це дуже мотивує.
Відпочиньте
Компанія стимулює зростання, але ви не можете нічого робити? Можливо, вам просто потрібно взяти тайм-аут. Багато ІТ компаній практикують відпустку від вигорання на кілька днів.
У такі дні зробіть щось приємне: подивіться фільми чи серіали англійською, влаштуйте з друзями вечірку, поваляйтеся на дивані чи сходіть у гори— варіантів безліч. Головне — не кодити. Але якщо краще не стає, варто звернутися до психолога.
Змініть посаду
Одного дня вам може здатися, що ви як програміст досягли стелі. Тоді варто рухатися далі — за вертикаллю (тімлід, техлід) або за горизонталлю (наприклад, перейти у бізнес-аналітику чи проєктний менеджмент).
Попросіть про ротацію
Можливо, проблема в тому, що вам не подобається конкретний проєкт чи домен, і це гальмує ваш розвиток. Тоді попросіть, щоб вас перевели на інший проєкт/домен. Але якщо до ваших бажань не дослуховуються, варто подумати про зміну компанії.
Кілька слів наостанок
Робота в ІТ-компанії — це не тільки суцільне свято. Часто тут буває дуже складно. Але ж ніхто й не казав, що буде легко, чи не так? Якщо ви не вивчаєте нове, не практикуєтесь, тоді легко залишитися поза справами.
ІТ-компанія Eastern Peak бажає вам ніколи не зупинятися. Підтримуйте форму, витягуйте себе з зони комфорту — тоді у вас все вийде. І давайте разом приймати круті виклики, які нам надає цей захопливий світ технологій: відправляйте нам резюме — залюбки розглянемо!
Читайте також: