“Навіщо оцінювати себе, якщо за мене це зробить техлід?”: чеклист перевірки знань для джуна
Початківці в IT часто цілком покладаються на фідбек ментора чи техліда. З одного боку, це правильно: фахівець аналізує роботу джуна на базі свого досвіду та компетентностей, яких бракує новачку. З іншого — така позиція знімає відповідальність з початківця за його розвиток.
Тож разом із Ігорем Шатило, Lead Backend Developer у NIX, розберімось, як та навіщо початківцю оцінювати себе.
Навіщо аналізувати самого себе
Більше, ніж ви самі, у вас не зацікавлений ніхто. Орієнтуючись передусім на себе, а потім — на керівника, ви можете швидше професійно “подорослішати”.
Як правильно оцінити себе?
#1 Визначте, що гальмує ваш розвиток
Щоби зрозуміти свій потенціал та перешкоди для розвитку, визначте свої сильні та слабкі сторони, можливості й загрози:
- Сильні сторони. Ці навички вказують на затребуваність. Наприклад, ви знаєте PHP, Golang, JavaScript. Ці мови круто доповнюють одна одну, завдяки чому ви можете створювати складні програмні рішення та закривати більше різноманітних задач.
- Слабкі сторони. Означають, що вам потрібно “підтягнути”. Наприклад, ви не знаєте технологій, прописаних у вимогах до вакансії.
- Можливості. Їх можна використовувати для стрімкого розвитку. Скажімо, пройти додаткові профільні курси чи перемогти на хакатоні розробників.
- Загрози. Це те, що може заважати вашому кар’єрному зростанню
Пропишіть на аркуші всі ці моменти й обговоріть цей аналіз зі своїм ментором або техлідом. Зі свого досвіду керівник порадить, в яких напрямках ви зараз можете найкраще реалізувати себе в команді.
Ще один спосіб перевірити себе — взяти за основу опис вакансії. Подивіться вимоги до бажаної позиції та оцініть власні навички за кожним пунктом. З відповідей ви зрозумієте, над чим потрібно працювати далі, а в чому ви вже маєте хороші результати.
#2 Дізнайтеся, що думають про вас колеги
Попросіть колег чи наставника допомогти визначити, яких знань вам бракує. Водночас будьте готовим до критики: такі зауваження в жодному разі не направлені на знецінення вас як фахівця. Кожен фідбек має стати підказкою, яку ще теорію слід опанувати та в чому треба більше практикуватись.
Беззаперечна перевага цієї ініціативи — у регулярності отримання фідбека. Щоби постійно вдосконалювати себе як фахівця, потрібні систематичні відгуки досвідчених колег про прогрес зі сторони.
#3 Порівнюйте себе з іншими початківцями
Поцікавтеся в колег, що нещодавно долучилися до команди, як вони продовжують навчатись. Імовірно, їхній досвід буде корисним і вам.
Також передивляйтеся сторінки в соцмережах фахівців різних ІТ-компаній та знаходьте тих, хто в ІТ нещодавно. Погляньте, які навчальні статті чи ресурси вони репостять, про які конференції пишуть, в яких хакатонах брали участь.
Періодично повертайтеся до такої практики, щоби не бути “відірваним” від ринку. Так перед очима у вас буде портрет сучасного джуна — і ви зрозумієте, з ким конкуруєте, адже конкурс серед новачків на першу роботу зазвичай високий.
#4 Зав’язуйте знайомства
Це потрібно, щоби бути на одній хвилі з іншими та загалом орієнтуватись у запитах IT-ринку.
Де шукати нетворкінг? На конференціях, воркшопах і вебінарах айтівців. Водночас ставте спікерам запитання, знайомтесь особисто в перервах на івенті та, якщо подія проходить онлайн, не соромтесь у соцмережах постукатись у друзі до експерта.
#5 Навчіться розв’язувати завдання різними способами
Завжди можна зробити щось добре — і ще краще:
- Фронтенд-розробник, який знає React.js, Vue.js та Angular, може застосувати їх окремо для розв’язання однієї задачі та, отримавши однаковий результат, обрати найоптимальніший спосіб у подібних задачах у майбутньому.
- Вебсторінку зі списком товарів можна зробити за допомогою JavaScript, Python або PHP. Розуміння кожної мови завжди в плюс, але якась все одно підійде для цієї задачі найкраще, і щось вийде зробити швидше або продуктивніше для самої системи.
- У сфері Data Science джун може використовувати різні підходи для аналізу даних. Наприклад, статистичні методи, машинне навчання або візуалізацію для виявлення тенденцій, залежностей та інших важливих відомостей. Різноманітні підходи дозволять отримати глибше розуміння даних та цінні ідеї.
Де брати ідеї для різних варіантів рішення?
Мені подобаються задачки на LeetCode та Codewars. Це “онлайн-тренажери”, де зібрані задачі різного рівня складності. Для розв’язання підійдуть знання будь-якої мови програмування. Є таблиця лідерів, де можна подивитися рішення інших учасників. Можливо, хтось із них написав код більш лаконічно та зберіг весь потрібний функціонал.
Від задач переходьте до повноцінних проєктів. Спробуйте написати код під мобільний застосунок, наприклад, щоби робити нотатки у стилі to-do list. Порівняйте своє рішення з наявними на цих ресурсах, покажіть напрацювання колегам чи досвідченим друзям-розробникам. Збирайте відгуки та покращуйте свій застосунок. З цією ж ціллю можете викласти репозиторій коду на GitHub — ймовірно, без коментарів робота не залишиться.
Важливо! Уважно читайте всі думки. Навіть хейтери можуть наштовхнути на нові ідеї та кращі рішення.
#6 Додайте інтерактив у своє навчання
Участь у хакатонах — один зі способів спробувати себе в новому амплуа та порівняти свій рівень з іншими гравцями. Формат не має обмежень ані в технологіях, ані в мовах програмування.
Якщо ви ще навчаєтеся в університеті, крім хакатонів слідкуйте за анонсами олімпіад на сайті навчального закладу. А також долучайтеся до міжнародних змагань із кодингу для студентів. Серед відомих мені — Imagine Cup та The International Collegiate Programming Contest.