Як вирости від джуна до мідла? Цей шлях здається простим і зрозумілим: просто робіть свою роботу й одного дня буде вам щастя, нова позиція та більша зарплата. Але що, як людина застрягає на рівні джуніора, не в змозі зробити наступний крок? Як це виправити, радить досвідчений програміст Сергій Немчинський. Стаття написана для розробників, але поради в ній — по суті, універсальні й допоможуть вирости з junior до middle в будь-якій професії.
Привіт. Мене звати Сергій Немчинський. Я працюю у сфері ІТ понад 25 років, з них 15 років програмував на Java. А ще я засновник та директор навчального центру ІТ-спеціалістів FoxmindEd. До нас часто звертаються розробники, що застрягли на певному рівні кар’єри та не знають, як рухатися далі. Підвищити свою кваліфікацію на курсах — звісно, чудова ідея. Але, окрім нестачі знань, є й інші проблеми, що заважають вирости з джуна до мідла. Поговоримо про них.
1. Відсутність фокуса
Проблема: розробник-новачок хапається за кожну нову технологію, фреймворк або навіть мову програмування та намагається їх опанувати. Чомусь вважається, що в такий спосіб можна розширити свій стек технологій і стати більш затребуваним спеціалістом.
Рішення: припинити розпорошувати увагу на різні технології. Так, звісно, розробник з широким стеком цікавіший для роботодавців. Але лише за умови, що він володіє ними на достатньому рівні. Замість хапатися за кожен фреймворк, оберіть собі мінімальний сет — одну мову, один-два фреймворки, кілька бібліотек — і вивчіть їх до професійного рівня.
2. Відсутність чіткої кар’єрної мети
Проблема: якщо розробник не уявляє, куди йому рости далі, у нього немає фокуса на конкретних технологіях і напрямах. Це й стає причиною проблеми №1. А потім HR бачить у резюме, що людина багато чим займалася, але дуже короткий період часу, і віддає перевагу іншому кандидатові.
Рішення: визначитися з кар’єрною метою. Власне, заради чого ви йшли в програмування? Чому з усіх можливих професій обрали саме цю? Якщо хотіли розробляти ігри — вперед до роботи геймдевом, вивчайте С++ та популярні двигуни для ігор. Ішли за стабільною зарплатою? Тоді Java та цифрові рішення для фінансової системи — непоганий вибір. І так далі. Власне, я кажу про це щоразу, коли мене питають, яку мову програмування обрати.
Дивіться на свою головну мету чи навіть мрію, і вже тоді обирайте мову та стек технологій. Бо навіть найпопулярніша мова — це лише інструмент.
3. Відсутність звички контролювати якість коду
Проблема: недосвідчений розробник хоче виконати задачу якнайшвидше, тому часто віддає «сирий» код. Такий код створює проблеми для всієї команди, яка працює над проєктом, і в колективі росте невдоволення роботою колеги.
Рішення: напрацювати звичку контролювати якість коду. Перевіряйте принаймні два сценарії: основний позитивний та основний негативний. Наприклад, ви написали функцію додавання нового клієнта в базу. Позитивний сценарій: усі потрібні поля заповнені, клієнта додано в базу. Негативний сценарій: одне або більше обов’язкових полів не заповнені, клієнт не додається. Так, перевірка коду займе якийсь час. Але якщо ви відправите неробочий код, це теж займе час, але вже в інших членів команди.
Вчиться мислити стратегічно, планувати наступні кроки, і тоді дуже швидко «переростете» статус джуніора і зможете стати мідлом.
4. Відсутність навички пошуку інформації
Проблема: розробник шукає інформацію в інтернеті, але не вміє відрізняти корисні поради від інформаційного сміття. Внаслідок цього в коді з’являються дивні рішення, які додають головного болю всій команді.
Рішення: цю проблему треба вирішувати з двох боків. По-перше, навчіться системно шукати інформацію. Так, ми всі любимо сайт Stack Overflow, особливо розділ із відповідями. Але це не той ресурс, з якого треба починати пошук. Тоді з якого? З офіційної документації! Її, власне, пишуть для того, щоб ви могли розібратися з технологією.
Друга сторона проблеми — це невміння розрізняти корисну інформацію та інформаційний шум. Це означає, що у вас слабувата теоретична база. Можливо, вам треба підтягнути теорію з даної теми. Я знаю, що багато розробників, які самостійно вивчили програмування, трохи зневажливо ставляться до теорії, але в таких ситуаціях вона потрібна.
5. Невміння сприймати конструктивну критику
Проблема: розробник ображається, коли йому вказують на помилки, приймає всі зауваження на власний рахунок і не робить висновків. Внаслідок цього повторює одні й ті самі помилки, команда втрачає час, зростає невдоволення.
Рішення: навчіться відділяти особисті образи від конструктивного фідбеку. Здебільшого ваш тимлід або менеджер жодним чином не мають наміру вас образити, їм потрібно, щоб проєкт нормально рухався і вкладався в дедлайни. Вони вказують вам на помилки, щоб ви навчилися не робити їх у майбутньому.
Інколи трапляється, що фідбек дають у некоректній формі. У такому разі теж немає сенсу ображатися. Вгамуйте емоції та поговоріть із людиною, зауваження якої вас зачіпають. Якщо цього не вистачило — зверніться до менеджера. Може виявитися, що токсичні комунікації в цьому колективі — норма, і тоді треба вирішувати, чи залишатися вам у цій команді.
У будь-якому разі виправляти свої помилки — необхідно, бо без цього ви не будете рухатися далі й розвиватися як спеціаліст.
6. Низька самооцінка
Проблема: розробник не вірить у себе, у свою здатність створювати робочі рішення. Внаслідок цього за першої ж проблеми він складає руки, перестає шукати інформацію та досягати результату. Також недооцінює свій внесок у роботу команди, соромиться просити про підвищення зарплати та кращі умови роботи.
Рішення: це складна проблема, для якої немає простого рішення. Ми виросли на фундаменті радянської культури спілкування, яка була доволі токсичною. Тоді було заведено виконувати п’ятирічку за три роки, тобто ставити такі строки та цілі, яких у реальності досягти неможливо. Так кого завгодно можна демотивувати.
Перш за все раджу провести самостійну роботу. Виділить час і випишіть свої сильні та слабкі сторони. У вас точно є багато сильних сторін. Ви вже працюєте розробником, тобто ви змогли вивчити програмування та знайти роботу. Багато хто не може. Що ще? Може, ви акуратна людина, в якої завжди порядок — і на робочому столі, і в коді. Можливо, вам легко даються комунікації з колегами. Запишіть це, щоб побачити очима: ваш мозок сприйме цю інформацію і буде до неї звертатися як до визнаного факту.
Щодо слабких сторін — вони теж є в усіх. Якщо ви знатимете свої слабкі сторони, вам буде легше. Можливо, у вас слабенька англійська — тоді розмовляти з іноземними замовниками вам рано, треба спочатку підтягнути мову.
Парадоксально, але якщо ви визнаєте вашу слабкість у чомусь, це перестане бути проблемою, а стане напрямом для самовдосконалення.
А ще непогано запросити фідбек у вашого оточення. Запитайте, що вони вважають вашими сильними сторонами. Відповіді можуть вас здивувати: можливо, у вас є риси, які подобаються іншим і про які ви навіть не думаєте.
7. Погані звички
Проблема: розробник-новачок наче і старанний, і людина непогана, але з ним весь час щось не так. То запізнюється, то пропускає важливий дзвінок, то хворіє… І в роботі є проблеми: відсутність документації, короткі коментарі в коді тощо.
Рішення: час дорослішати. Щоб не спізнюватись вранці, треба вчасно лягати спати, а не засиджуватися допізна. Щоб рідше хворіти, треба вести здоровий спосіб життя, а ще робити регулярні медогляди. Так, знаю, цей пункт здається дещо занудним, але мені відомо точно: для успішної роботи потрібен режим дня, достатня кількість сну й фізичної активності та ворк-лайф баланс.
Наостанок
Ще одна причина повільного професійного зростання — невміння користуватися чужим досвідом: обговорювати свої проблеми з колегами, слухати про їхній досвід, знаходити корисні ідеї та втілювати їх.
Це я до чого? Насправді ці поради не є обов’язковими. Врешті-решт, усі люди різні: те, що працює для однієї людини, не буде ефективним для іншої. Навіть якщо ви не скористаєтесь жодною порадою, а просто будете продовжувати день за днем писати код, колись ви зможете стати мідлом. Але скільки часу це займе — невідомо. То навіщо зволікати, якщо можна скористатися порадами, що потенційно здатні прискорити ваш розвиток?
Готові надсилати своє резюме?
Обирайте одну з крутих вакансії у нас на сайті — і вперед 👉
ВакансіїЧитайте також
Від стажера до тимліда: як розробнику перейти на наступний рівень розвитку
Думати як програміст, а не як програма: якому розробнику не загрожує ШІ
Фронтенд-розробниця — про роботу, стереотипи та перші кроки в ІТ
Дякуємо!
Тепер редактори знають.