Джуни вже зробили помилки до вас. Як не наступати на ті ж самі граблі
Отримавши першу роботу в ІТ, майте на увазі: у початківців помилки майже неминучі. Спокійно, ця аксіома стосується будь-кого, який би напрям ви не обрали. Та повчитися на чужих факапах краще, згодні?
У цій колонці я, Lead Backend Developer Ігор Шатило, зібрав поширені помилки початківців в IT та поради, як їх мінімізувати.
Але спершу кілька слів про мене та мій досвід, який і дає моральне право щось радити новачкам. Свій шлях як розробник я почав ще в 17 років. Тоді я успішно пройшов тестування від NIX, але довелося чекати повноліття для старту роботи. Через рік заново склав тест і повноцінно долучився до команди. Для себе я обрав напрям веб-розробки, бекенд. Наразі паралельно розвиваюсь у сфері штучного інтелекту. Свого часу мене спіткали помилки на «шляху джуна», але я зробив хороші висновки. Сподіваюсь, мій досвід та спостереження допоможуть вам не наступати на ті ж самі граблі.

Топ-10 помилок початківців в ІТ
Отже нижче мій список основних помилок, яких джуни припускаються у своїй роботі.
1. Невпевненість у своєму виборі й перестрибування між напрямами
Якщо ви вагаєтесь, вас легко схилити на іншу сторону. Але так витратите багато часу й у жодному напрямі цілком не розберетесь. Як це зазвичай відбувається? Припустимо, захотіли ви опанувати верстку сайтів. Пройшли половину шляху, уже знаєтесь на HTML/CSS, й ось друг каже: «Та нащо воно тобі треба? Краще вчи PHP». А інший заперечує: «Навіщо сидіти на PHP, якщо є конструктори, які нічим не гірші за саму мову!». Можливо, знайдеться і той, хто скаже «Облиш ці іграшки, дослухайся до мого досвіду. З Python завжди матимеш роботу». Якщо слухати всі поради, то це зробить із вас хіба що недоверстальника на Рython під PHP-конструктори.
Порада: обирайте напрям на основі таких критеріїв: «мені подобається», «я можу», «це перспективно». Якщо вибір зроблено, але з переліченого щось не враховано, не бійтеся змінити напрям! У вас уже є певний бекграунд, тож буде простіше.
2. Поспіх
Завжди хочеться всього й одразу. «А подивлюсь-ка я весь курс за тиждень і піду працювати» — хибна тактика, на мій погляд. Так ваші знання будуть дуже поверхові. Як дійде до реальної практики, може статися ситуація «знати — знаю, а зробити не можу».
Порада: Як без міцного фундамента не побудувати надійний будинок, так і без «фундамента» знань та навичок не опанувати професію. Чим більше поверхів планується на етапі будівництва, тим якіснішим має бути фундамент. Те ж саме стосується кар’єри. Чим більшого хочете досягти, тим якіснішою має бути ваша підготовка.
3. Перевантаження знаннями або їх нестача
Зазвичай новачки вдаються до крайнощів — недовчив або занадто на чомусь зациклився. Прагнення досконало розібратися на старті може призвести до зворотного ефекту — геть відбити бажання вчитися. Завеликий обсяг інформації лише заплутає у вирі теорії. Натомість брак знань у джунів ставить їх кваліфікацію під сумнів в очах наставників. Сюди також можна віднести протилежні думки щодо знань англійської мови та математики. Хтось боїться почати кар’єру в IT, бо чогось із цього не знає на високому рівні. Хтось вважає, що цей стереотип нам нав’язали шкільні вчителі, і сміливо стає на шлях IT
Порада: без англійської в ІТ ніяк, але джуну не обов’язково знати її, як native speaker. Почніть працювати та паралельно вивчайте іноземну мову. Часто компанії пропонують працівникам безкоштовні мовні курси, навіть тим, хто тільки долучився до команди.
4. Зацикленість на вивченні окремих тем, а не технології загалом
Ця помилка не завжди очевидна. Давайте розглянемо її на прикладі веб-розробки, у якій я працюю. Мені більше подобається розбиратися з обробкою великих даних, базами даних, алгоритмами. Але у своїх задачах я не можу обмежитися бекендом. Доводиться розуміти і фронтенд.
Сюди я ще б додав страх вийти за межі вивчення обраного напряму. Ви не заплутаєте себе, якщо паралельно будете розбиратися в суміжних мовах та технологіях. Головне — правильно визначити цю зв’язку. Наразі майже не буває такого, щоби в розробці використовувалася одна мова або підхід у програмуванні.
Порада. Щоб зрозуміти логіку мови чи технології та з чого почати навчання, я раджу:
- зібрати базову інформацію про технології, основні концепції та терміни;
- почати практику — з онлайн-курсів або задачок на форумах, завдань тощо;
- вивчати код із відкритих джерел, досліджувати хід виконання задач іншими розробниками;
- приєднатися до тематичних каналів, чатів та долучатися там до дискусій.
5. Прокрастинація або нездатність організувати процес навчання
Ця проблема виникає через невміння планувати та страх зробити неправильно або неідеально.
Порада: у більшості випадків факап початківця не призведе до катастрофи на рівні компанії. Все-таки, якщо ви джун, то в команді зважають на цей момент навіть у разі ваших помилок. Не женіться за перфекціонізмом, а щоб краще розібратися в чомусь, беріться навіть за незрозумілі завдання. Для планування робочого дня ставте собі часові проміжки на виконання завдань. Не бійтеся зробити гірше за досвідченого фахівця.
6. Нехтування безкоштовним навчальним контентом
Багато хто на початку кар'єри припускається цієї помилки, зменшуючи користь такого контенту. Мовляв, курс безкоштовний, значить, неякісний. Може здатися, що цього обсягу інформації недостатньо для гарного розуміння технології чи інструменту. Звісно, подібний контент варто фільтрувати й покладатися лише на фахові джерела.
Порада: якщо не знаєте, який контент обрати, зверніться за порадою до вашого ментора чи досвідченіших колег. Перевірені й дійсно цінні ресурси можуть порекомендувати й інші IT-спеціалісти на форумах. Нижче я додам ресурси, яким довіряю.
Корисні блоги та статті я читаю тут:
- 1
- 2
- 3
- 4
- 5
- 6
- 7
А на цих ресурсах є безліч курсів, зокрема безкоштовних, які допоможуть новачкам краще розібратися в конкретній темі чи в технології загалом:
- 1
- 2
- 3
7. Оцінювати свій розвиток виключно тасками (у випадку технічних фахівців)
Зробив завдання — все працює — отже, виконав усе правильно. Така думка притаманна багатьом початківцям, і я теж через це пройшов. Якщо не пропускати задачу через фільтр «перспектива» та не радитися з наставниками, то є ймовірність, що дебажити код у майбутньому буде дуже проблематично.
Порада: для розвитку стратегічного мислення і хард скілів не варто обмежуватися робочими тасками. Візьміться за pet-проєкт — проєкт, який ви самі в себе «замовили». Не обмежуйте фантазію. Так ви зможете швидше набратися нового досвіду. Передусім визначте, для чого вам pet-проєкт, яку задачу будете вирішувати, що спробуєте оптимізувати або що нового створите? Користі тут справді багато. Ви зможете удосконалити навички, підвищити рівень обізнаності, знайти нове рішення, просто попрактикуватися чи зробити якесь технічне рішення для портфоліо. До речі, саме на таких проєктах можна не боятися робити помилки та вчитися їх виправляти.
Нижче ділюсь ресурсами, де ви знайдете задачі на «прокачку» навичок програмування та розвитку алгоритмічного мислення:
- LeetCode. Тут зібрано таски з 14-ти найпопулярніших мов програмування. На сайті відображаються досягнення інших, щоби кожен міг оцінити свої результати. Задачі можна обирати за рівнем складності.
- Codewars. Ресурс із короткими тасками на 55+ мов програмування. Кожне рішення можна порівняти з результатами спільноти, перевіряти, чи коректно працює код.
8. Сумніватися в собі та боятися помилок
«У мене не вийде», «у цій галузі велика конкуренція», «якщо я провалю завдання, мене звільнять» та інші боязливі відмовки. Подібні думки спричинені страхом. Вони заважають початківцям творчо мислити, виходити за межі стандартного рішення та розвиватися. В ІТ є місце креативним підходам. Це стосується і технічних, і нетехнічних фахівців. Тож початківцю треба обрати: або розвиток, або страх.
Хочу окремо виділити страх розпитувати досвідчених колег. «Якщо я поставлю це питання, він точно зрозуміє, що я цього не знаю». На мою думку, ця хибна тактика може занапастити найбільш перспективних початківців. Так, у такий спосіб можна приховати своє незнання. Але не поставивши питання, ви не розберетесь у темі досконало. А потім за принципом снігової кулі з маленьких нерозумінь «зліпеться» велика некомпетентність.
Порада: звертатися за порадою — ознака фахівця, який прагне розвиватися. Навіть досвідчені фахівці не розбираються абсолютно у всьому. Передусім вони профі в чомусь одному. І теж помиляються. Тому не соромтесь і сміло питайте колег про все.
9. Нерозуміння типів ІТ-компаній, їхніх переваг та обмежень для свого росту
«Без досвіду не беруть у відомі компанії. Краще повчусь у стартапі». Немає нічого поганого піти за досвідом у стартап. Та не вводьте себе в оману хибними твердженнями. Краще зважте всі «за» і «проти» різних типів компаній.Здебільшого малі команди потребують одразу готових фахівців. У той час, як великі — готові вкладати свої ресурси в навчання співробітників. Де більше фахівців та експертів, де різноманітніші проєкти, там і більше можливостей навчатися. Новачкам, які остаточно не визначилися з напрямом, лише великі компанії запропонують курси перекваліфікації.
Продуктова компанія чи сервісна? Я схиляюся до думки, що новачкам краще обрати другий варіант. «Поріг входження» тут легший. Але це не єдиний аргумент:
- Сервісна компанія може надати новачкам більше можливостей для вдосконалення скілів. Компанії такого типу зазвичай надають послуги клієнтам із різних галузей бізнесу. Співробітники мають змогу попрацювати над кількома проєктами й технологіями. Так вдається збагачувати свій досвід, опановувати різні інструменти. Врешті ви отримаєте гнучкі навички, що стануть у пригоді, незалежно від обраного напряму в IT.
- Сервісна компанія дає можливість працювати над проєктами різної складності. Початківця це підготує до нових викликів, навчить дивитися на задачу під різним кутом і знаходити унікальні рішення.
Продуктова компанія теж не позбавлена переваг:
- Більш стабільна робота з довгостроковими проєктами.
- Можливість стати експертом у конкретному технічному напрямі чи бізнес-домені.
- Можливість заглибитися в розробку одного продукту та не розпорошувати свою увагу на інші.
- Робота з перспективними технологіями, оскільки продуктові компанії зазвичай прагнуть бути на передових позиціях технічного прогресу.
- Можливість працювати з багатокультурними командами та переймати їх досвід.
Порада 1: якщо спочатку ви обрали продуктову компанію, то паралельно вивчайте інші напрями та розвивайте свій нетворкінг в ІТ-ком’юніті. Це допоможе вам не бути відірваним від світового ринку та дасть розуміння його потреб. Фокус лише на одному продукті несе для вас ризик стати фахівцем у межах однієї компанії.
Порада 2: якщо не пройшли співбесіду в компанію, наприклад, до 10 фахівців, не думайте, що вам відмовлять й у компанії 1000+. У першому випадку ви або підходите, або ні. Часто там немає часу та ресурсів для донавчання джунів. Натомість великий бізнес готовий вас підтягнути. Такі компанії відкриті всім охочим перемати досвід їх експертів та втілювати отримані знання в проєктах.
10. Намагання якнайшвидше вирости до мідла
Добре бути амбітним та мати цілі, але не менш важливо правильно рухатися до них. Початківцям складно поетапно спланувати свій розвиток та виокремити послідовні кроки для досягнення мети. У великих командах, на щастя, усі новачки з першого дня мають такий план — skillup. Наприклад, у мене у NIX була така програма особистого розвитку. Її складає керівник відділу, ментор або груплід індивідуально під кожного джуна. Досвідчений наставник направляє його в потрібному напрямку, відповідає на питання, допомагає вирішувати труднощі під час виконання завдань та в цілому слідкує за успіхами підопічного.
Порада: спочатку станьте впевненим джуном, а вже потім думайте про підвищення. Тут я би радив узяти за правило: «Думай глобально, дій локально».
Помилки зроблено. Що далі?
Найкраща властивість помилок — те, що їх можна виправити. Цілком нормально, якщо ви помітили за собою щось із переліченого вище. Аби не допустити чи зменшити кількість факапів на старті, чітко усвідомлюйте свої кар’єрні цілі. Усі необхідні знання не прийдуть у голову одномоментно. Регулярна практика, наполегливість і терпіння — ось ваші ключі до успіху. Будьте чесними із собою, визнавайте свої помилки та рухайтесь уперед.