Помилки на кар’єрному шляху неминучі, але частину з них можна уникнути, якщо прислухатися до старших колег. Розробник Раві Раджан проаналізував свій 21-річний досвід і виділив помилки, які гальмували його професійний розвиток.
1. Не відкладати гроші на чорний день
Траєкторія вашої кар’єри буде значною мірою залежати від того, як ви вирішите використовувати свої перші зарплати. У вас буде спокуса витратити їх на покупку кращого автомобіля, оновлення гардеробу і відвідування більш модних ресторанів.
Якщо дозволяти собі такі витрати зрідка, вони не зашкодять, але також потрібно вкладатися в придбання знань. Ці інвестиції не тільки дозволяють отримати максимальну віддачу, але і єдині не знецінюються з часом.
2. Зробити себе незамінним
Бути незамінним фахівцем приємно, але такий стан заважає професійному зростанню. Якщо ви хочете рухатися вгору, вам потрібно звільнитися від того, що тягне вниз. Знайдіть і навчіть наступника, який в майбутньому зможе зайняти ваше місце.
3. Спалювати мости
Навіть дуже хорошому програмісту не варто спалювати мости та брати участь в непотрібних конфліктах. Індустрія розробки ПЗ – це маленький світ: спалені мости можуть легко нагадати про себе пізніше. Замість цього краще вибрати скромність, щирість і шанобливе ставлення навіть до тих людей, які вам не подобаються.
4. Не ділитися знаннями
Знання технологій – найнадійніший спосіб завоювати повагу колег. Але при цьому володіти знаннями та не ділитися ними – вірний шлях до катастрофи.
Знання – це пів справи, а вміння ділитися ними – інша половина. Хороші розробники спілкуються з молодшими членами команди та показують їм, як вирішувати проблеми. Вони не тільки розповідають, як впоратися з проблемою, а й пояснюють вибір рішення.
5. Ігнорувати soft skills
Програмісти іноді забувають, що розробка софта – це командний вид спорту, а проєкт – це спільне завдання для групи людей, які повинні працювати пліч-о-пліч, підтримувати один одного і рухатися до єдиної мети.
Таким чином, якщо розробник занадто зарозумілий, не захоплений роботою або не може ефективно спілкуватися, це негативно вплине не тільки на його роботу, а й на весь проєкт. Тому soft skills дуже важливі.
6. Дотримуватися одного стека
Індустрія розробки ПЗ ніколи не перестане розвиватися. Щоб відповідати її темпу і залишатися потрібним, програмісту теж потрібно постійно покращувати навички.
Має значення не тільки швидкість в роботі, але і поповнення знань. Хороші фахівці не просто пишуть код, вони також продовжують вивчати концепції, які допомагають по-новому справлятися з проблемами та знаходити найбільш ефективні рішення.
7. Лінуватися
Швидко написаний брудний код – це завжди поганий код. Ніколи не варто лінуватися і схвалювати другосортні рішення.
8. Не документувати код
Навіть дуже хорошу програму не використовуватимуть без досить хорошої документації, тому жорсткий дедлайн і велике навантаження не приводи відмовитися від її створення. В іншому випадку будь-який софт може стати мертвим вантажем.
9. Уникати політики
Багато розробників кажуть: «Дайте мені спокій від політики. Я просто хочу впровадити технологію». Але це працює не так.
Там, де є технології, є зміни, а там, де є зміни, будуть люди, які сприймають себе як переможців або переможених. Ось де починається політика. Потрібно навчитися управляти цим і виходити переможцем. Іншого шляху немає.
10. Занадто багато проєктувати перед написанням коду
Проєктування – це добре, але коли воно займає надто багато часу, то лише гальмує процес. Не шукайте ідеальну структуру, якої у світі розробки не існує. Шукайте досить гарне рішення, що дозволяє приступити до написання коду. Хороша структура працює як карта: вона повинна розвиватися, а не бути висіченою в камені.
11. Недооцінювати почуття коду
За словами Роберта Мартіна, «написання чистого коду вимагає дисциплінованого використання безлічі маленьких прийомів, застосовуваних через болісно придбане почуття “чистоти “. Поєднання цих маленьких прийомів називається почуттям коду».
Це почуття не тільки допомагає відрізняти хороший код від поганого, але також дозволяє формувати стратегії для перетворення поганого коду в хороший.
12. Вибирати перше рішення
Так, вибрати перше рішення, що спало на думку, може здаватися привабливою ідеєю і простим виходом. Але хороші рішення зазвичай знаходяться, коли ви починаєте сумніватися в уже існуючих варіантах.
Робота програміста полягає не в самому по собі вирішенні проблеми, а в пошуку самого простого і найбільш оптимального способу зробити це.
13. Не знати, коли не слід чогось робити
Досвідчені розробники точно знають, коли не потрібно чогось робити. Вони розуміють, що переписати бібліотеку з нуля просто для того, щоб зробити її більш читабельною, або перейти на нове середовище від старого – не завжди хороші рішення. Призначення коду має бути досить ясним, щоб його можна було зрозуміти протягом декількох хвилин або навіть секунд. Справа не в повному уникненні ризиків, а в правильному їх виборі.
14. Не визнавати прогалини в знаннях
Навіть самий підкований фахівець не може знати всього. Це практично неможливо.
З іншого боку, і наймолодший член команди може знайти ефективне рішення проблеми. Хороші програмісти не нав’язують свої ідеї команді. Швидше, вони культивують свого роду демократію, в якій виграє кращий варіант.
15. Прогинатися під тиском
Код схожий на їжу. Він може бути швидким, хорошим чи дешевим. Розробник, що знаходиться під тиском, намагається змусити команду зробити всі три речі одночасно. Він керується строками та умовами, встановленими кимось іншим, прекрасно розуміючи, що дотриматися їх неможливо.
Замість цього йому варто прийняти реальність і як можна швидше донести інформацію до всіх зацікавлених сторін вгорі та внизу ланцюжка.
16. Не займатися нетворкінгом і не вибудовувати довіру
Так, програмісти можуть бути одинаками, але кращі з них – майстри нетворкінгу.
Найпростіший спосіб встановити довірливі відносини – це допомогти іншим командам в складних ситуаціях. Після цього ви зможете попросити їх відповідної послуги в потрібний час. Таке волонтерство зміцнює не тільки вашу експертність, але також впливовість в компанії.
17. Не бачити загальну картину
Велику частину часу програміст працює над шматком коду або вирішує проблеми в існуючому коді. Він виконує доручені завдання, і в цьому немає нічого поганого. Але якщо ви хочете стати невід’ємною частиною проєкту, доведеться розібратися в його суті.
Кращий та найпростіший вихід – звернутися за допомогою до наставника, який допоможе вам швидше розвинути навички та в майбутньому отримати місце в більш масштабній справі.
18. Завжди винаходити велосипед
Хороші програмісти не вигадують велосипед. Вони завжди повторно використовують і нарощують існуючі можливості скрізь, де це можливо. Це не тільки економить час, а й створює свого роду дух товариства серед розробників, які поділяють код.
Цілком ймовірно, що у проблеми, з якою ви стикнулися, вже є рішення, тому спробуйте спочатку знайти його. Це буде не проявом ліні, а розумним скороченням зусиль.
19. Недостатньо добре знати бізнес-правила
Розробники іноді недооцінюють складність бізнес-правил. Але без їх знання неможливо зрозуміти, як ефективно реалізувати рішення.
При програмуванні необхідно прийняти бізнес-мислення і створити працездатний софт, який буде виконувати свої завдання, а не демонструвати потужність технологій.
20. Не спілкуватися з командою
Немає чітких правил, яких потрібно дотримуватися в спілкуванні з командою, але особовий підхід в будь-якому випадку стане в нагоді. Розуміння здібностей і обмежень інших програмістів в поєднанні зі знанням їх інтересів допоможе краще планувати розробку.
21. Не ставити в пріоритет здоров’я
Здоров’я – це фундамент, який прискорює всі в житті, включаючи кар’єру. Воно впливає на креативність, енергію, рішучість і вміння справлятися з неминучими падіннями.
Турбота про здоров’я не одноразове завдання, цим потрібно займатися постійно. Необхідно планувати щоденний графік, купувати правильну їжу і регулярно займатися спортом, а також відмовитися від шкідливих звичок.