Вітання! Тут ми багато говоримо про те, як отримати першу роботу, що потрібно для цього вивчити і як правильно поводитися. Це все добре, але що робити після того, як ви отримали першу роботу? Чи можна розслабитися і плисти за течією? Не все так просто.
Професія програміста влаштована таким чином, що вам доведеться навчатись й після отримання роботи. Багато вчитись. Дуже багато. Тому сьогодні мені хотілося б трохи поміркувати про подальші напрямки розвитку після заповітного першого оферу. Поїхали.![Життя після першого офферу. Що потрібно вчити Java-розробнику-початківцю? - 2]()
![Життя після першого офферу. Що потрібно вчити Java-розробнику-початківцю? - 3]()
Те, що ви здобули першу роботу, — це не фінальне досягнення, а лише початок шляху. І зараз саме той момент, коли пул ваших знань має рости, як гриби після дощу. Тому дуже важливо визначити для себе пріоритетні напрямки та цілі. Адже навіть найшвидший корабель з найдосвідченішим капітаном буде просто дрейфувати хвилями без мети подорожі. Відповідно, вибирайте напрямок, ставте в ньому конкретну мету та терміни, та починайте рух. Можливо, невеликими, але стабільними кроками.
Професія програміста влаштована таким чином, що вам доведеться навчатись й після отримання роботи. Багато вчитись. Дуже багато. Тому сьогодні мені хотілося б трохи поміркувати про подальші напрямки розвитку після заповітного першого оферу. Поїхали.1. Поглиблення знань у базових темах
Щоб отримати першу роботу, ви, напевно, вивчали базові теми для Java-розробника. Думаєте, цього буде достатньо? Ні, ні, і ще раз ні. Досвідчених розробників від зелених новачків вирізняє глибина знань. І виходить так, що начебто області знань все ті ж, але синьйор-розробник зможе такі нюанси про них розповісти, про які ви навіть не здогадувалися. З одного боку ви можете сказати, що тут все впирається у досвід. Мовляв, досвідчений розробник тому й досвідчений, тому що все це вже багато разів "помацав", тому все так докладно знає. Це правда. Але лише частково. Окрім отримання постійного досвіду у розробці, розробники додатково вивчають теорію: за статтями, книгами, відео. Зазначу, що теорію потрібно підбирати таку, після вивчення якої справді розширюється обрій у цій темі. Якщо ви візьметеся відразу за непомірно глибоке копання в темі, яку ви знаєте дуже і дуже поверхово, то що у вас залишиться в голові? НІ-ЧО-ГО. Це буде лише марна витрата часу, тому підбирайте теорію з розумом.
2. Поліпшення (або вивчення) англійської мови
Не менш важливою для розвитку розробника буде англійська. На хороших проєктах знання англійської навіть не обговорюється. Володіння нею має бути обов'язкове. Можливо, вам вдалося знайти першу роботу, маючи низький рівень англійської мови або не знаючи її. Це круто і вам дуже пощастило, але це ніяк не скасовує той факт, що вам потрібно терміново зайнятися його покращенням (або вивченням). Можна працювати девелопером з низьким рівнем англійської, але це означає, що вам дістануться тільки ті проєкти, що базуються в Україні. Найбільші та найцікавіші проєкти – англомовні. Щоб перейти до "вищої ліги", треба знати мову від рівня B1 і вище. Розробникам не потрібно знати мову на рівні таких фахівців, як проєктний менеджер або бізнес-аналітик, у яких робота побудована на спілкуванні. Але бажано дотягнути мову до рівня B2. Цього рівня вам вистачить із головою. А тепер до розробників, які вже знають мову: не розслабляйтесь. Мова має властивість потроху забуватись, якщо її не використовувати. Не дайте їй заіржавіти та підтримуйте англомовними фільмами, серіалами, книгами, статтями. Навіть працюючи на англомовних замовників, практики, як правило, буде недостатньо, і рівень мови потроху падатиме. Тримайте її в тонусі.
3. Отримання сертифікатів (Java, AWS)
Зараз багато курсів видають сертифікати про закінчення. Але будьмо чесні. Вони нікому не потрібні і на них ніхто не дивиться. Як, втім, і на дипломи. Тим не менш, існують сертифікати, які важливі і можуть виділити вас серед інших. Я маю на увазі сертифікацію Java від Oracle та AWS (хмарні сервіси). Сертифікація Java проводиться компаніями, у яких є дозвіл від Oracle, і вони створюють умови для тестування навички, що задовольняють вимогам Oracle. Власне тому ці сертифікати і вважаються міжнародними. Детальніше про сертифікат Java від Oracle можна почитати на JavaRush: про види сертифікацій, підготовку до сертифікації, книги для підготовки до сертифікації. Сертифікація AWS має той самий принцип, але спрямована на вивчення технологій AWS. Звичайно, тут важливий не лише сам сертифікат, а й рівень знань, який ви отримаєте при підготовці до тесту. Якщо у вас є сертифікат, навряд чи вас заженуть у кут питаннями з цієї технології.4. Вивчення популярних технологій
Інформаційні технології безперервно рухаються вперед, і з цим нічого не вдієш. Якщо ви вже прийшли до ІТ, потрібно пристосовуватися. Те, що ви вивчали рік тому, може завтра стати неактуальним. Це цілком нормально. Основна навичка розробника – це вміння швидко поглинати та засвоювати новий матеріал та забувати непотрібне. Тому якщо ви хочете залишатися в темі, потрібно постійно моніторити ситуацію на ринку. Наприклад, зараз потрібні такі технології, як Kubernetes і Docker.5. Поглиблене вивчення специфічної технології
Деякі досвідчені фахівці стають фахівцями в одній технології. Зараз дуже багато інформації, навіть у напрямку Java-розробки, тому неможливо бути гуру у всьому. Чому б і вам не вибрати один напрямок, що користується попитом (технологію, фреймворк), в якій ви станете майстром, який знає всі темні закутки? У такому разі ви можете стати дуже цінним фахівцем для вашої компанії, до вас водитимуть людей для перевірки їхнього рівня в певній технології (співбесіди). Також вас попросять проводити рев'ю проєктів, на яких використовується “ваша” технологія, та давати поради (коментарі) щодо більш ефективного та правильного використання технології. Як правило, компанії самі зацікавлені в наявності таких “спеців”. Технологія для “глибоководного” вивчення може бути різною: від Spring загалом до його конкретного фреймворку (Spring Security, Spring Cloud) тощо.6. Вивчення нової мови програмування
Один із варіантів подальшого розвитку — вивчення другої мови програмування. Тут я бачу три варіанти:- Допоміжна мова, яка часто зустрічається у Java-проєктах. Наприклад, Groovy, на якому пишуться різні допоміжні скрипти, або Python, що часто йде в комбінації з Java (принаймні, я з ним часто стикаюся).
- Javascript і якийсь його фреймворк, наприклад, Angular або React. Знаючи це, можна стати повноцінним Fullstack-розробником. Такі фахівці досить рідкісні та користуються попитом, відповідно, і зарплати можуть собі попросити чималі (на порядок вищі, ніж звичайні Java-розробники).
- Вивчити мову, яка виросла з Java. Наприклад, Skala, Kotlin. Ці мови програмування зараз набирають величезної популярності і навіть трохи починають витісняти з ринку саму Java. Може, заскочити до їхнього човна? Багато принципів ростуть з нашої улюбленої Java, але при цьому є багато нововведень і виправлень недоліків Java.
7. Прокачування soft-скілів
Під soft-скілами, як правило, мають на увазі навички спілкування. Тобто те, як ви вмієте спілкуватися з іншими людьми, доносити та просувати свої ідеї. Якщо ви хочете рости в управлінському напрямі — наприклад, хочете стати тимлідом команди або архітектором, — потрібно прокачувати навички взаємодії з іншими людьми. У цьому допоможе література. Рекомендую книгу “Deadline. Роман про управління проектами" Тома Демарко. Також будуть корисні відео на ютубі, читання статей, різні курси/тренінги. Але як на мене, найголовніше, що треба робити — намагатися більше спілкуватися з різними людьми, і що більше, то краще. Так ви перестанете боятися контактів із малознайомими людьми, почнете самі знаходити спільні теми та уникати незручних пауз. Якщо ж ви від природи інтроверт та спілкування з людьми вас суттєво напружує, то варто задуматися: а чи потрібне вам це? Можливо, краще витратити цей час на те, щоб стати майстром у певній технології?
Те, що ви здобули першу роботу, — це не фінальне досягнення, а лише початок шляху. І зараз саме той момент, коли пул ваших знань має рости, як гриби після дощу. Тому дуже важливо визначити для себе пріоритетні напрямки та цілі. Адже навіть найшвидший корабель з найдосвідченішим капітаном буде просто дрейфувати хвилями без мети подорожі. Відповідно, вибирайте напрямок, ставте в ньому конкретну мету та терміни, та починайте рух. Можливо, невеликими, але стабільними кроками.
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ