Отже, раз ви натиснули на посилання цієї статті, я впевнений, що ви так само хочете стати відмінним фахівцем, як і будь-який інший розробник, включаючи мене. Я знаю, що коли ми починаємо наш шлях «хочу стати програмістом», ми докладаємо багато зусиль, щоб навчитися чогось нового, почати та довести до кінця якісь проєкти, знайти підробіток у фрілансі, підготуватися до співбесіди та отримати роботу за фахом.
Те, що ви знайшли роботу, коштувало вам багатьох годин важкої праці. Ви неймовірно щасливі, і пишаєтеся собою: вам вдалося досягти мети та стати розробником. Але до цього часу ви працювали тільки вдома, сидячи у своїй кімнаті. Ви не знайомі з парним програмуванням, не знаєте, як зробити rebase своєї гілки та що таке пул-реквест, вам невідомо, що таке ранковий стендап і Jira. Для вас стало сюрпризом, що до коду треба писати документацію, а ще всі колеги постійно пишуть юніт-тести. О боже, аж самому сперло, коли це все писав.
Загалом, розробником ви стали, але тепер пора вдосконалюватися. Починається все з пошуку наставника, який за допомогою свого факела досвіду вкаже вам шлях в темряві. Але сумна правда життя полягає в тому, що далеко не кожен розробник знаходить досвідченого наставника у себе на роботі.
Втім, наставником може стати й не ваш колега. Наприклад, я знайшов твіти Сари Даян, в яких вона поділилася десятьма висновками, до яких прийшла за десять років роботи в індустрії розробки. Ці висновки й попутні поради здалися мені дуже корисними, тому я вирішив поділитися ними з вами.
1. Роки стажу самі по собі, без урахування набутого досвіду, не значать нічого
Те, що ви чимось займаєтесь протягом довгого часу, ще не означає, що ви навчилися робити це добре.
Стагнація справді трапляється. Не можна стати кращим розробником автоматично, з плином часу. Для цього потрібно свідомо докладати зусилля.
2. Фідбек і наставництво
Наявність колег – неоціненна. Навіть якщо ви вважаєте себе вовком-одинаком. Працюючи на самоті, ви не зможете зростати так само швидко, як в суспільстві товаришів по команді.
Зворотний зв’язок і наставництво дають вам великі переваги (причому це стосується однаковою мірою і наявності наставника у вас, і тих випадків, коли ви самі виступаєте в цій ролі). Без них ви розвинете свої здібності далеко не повністю.
3. Робіть вибір усвідомлено і на основі знань
Ідентифікувати себе зі своїм вибором технологій безглуздо.
Віддавати перевагу якійсь технології цілком нормально. Бажання бути членом якогось клубу – теж природно. Але членство в клубі або вибір певної технології не роблять вас кращим за людей, які обрали іншу технологію та інший клуб.
Будьте обережні, не станьте жертвою «золотого молотка» (впевненості в універсальності свого вибору й у зв’язку з цим – прагнення використовувати вибраний інструмент завжди та всюди). Ви – людина, що вирішує завдання, а не жива реклама якоїсь технології. Ваш вибір в кожному окремому випадку повинен базуватися на знаннях.
4. Не піддавайтеся хайпу
У відношенні дуже багатьох речей немає абсолютної істини.
В інтернеті безліч різних думок. Вважайте, що кожна з них щось на зразок їжі для роздумів, а не безперечна істина.
Якщо ви будете, як сорока, кидатися на будь-яку нову блискучу річ, це не зробить вас розумнішим. Слідкуйте за новинками, щоб бути в курсі, але при цьому не забувайте про критичне мислення.
5. Основи важливі
Коли опануєте основи, зможете досягти яких завгодно висот.
Звичайно, ви можете почати звідки завгодно. Але якщо виявилося, що вам дуже важко, ймовірно це тому, що вам не вистачає фундаменту знань.
Всі нові й привабливі штуки базуються на засадах. Опанувавши основи, ви будете легше вловлювати суть всього іншого.
6. Вигорання – реальна проблема
Кодинг вимагає значних розумових зусиль. Постійний потік інформації пригнічує. Ви постійно відчуваєте тиск через необхідність не відставати. До того ж всі ми небезпідставно побоювалися, що одного разу втратимо гарантії зайнятості.
Депресія теж реальна. Але це нічого, адже є способи отримати допомогу.
7. Бути сеньйором – не означає бути найкращим програмістом
Якщо ви думаєте, що раз ви монстр технологій, то вже точно повинні бути сеньйором, ви дещо втрачаєте.
Сеньорство – це про досвід, вплив та ефективність. Зазвичай сеньйори – професіонали з технічної частини, але величезну роль також відіграють їх soft skills.
Хто такий сеньйор-розробник та як ним стати
8. Різноманітність має велике значення
Вірити в меритократію – це як вірити в те, що подарунки під ялинку кладе Дід Мороз.
Культура «дайверсіті» у сфері технологій це необхідність, а тому повинна активно підтримуватися.
9. Кількість так само важлива, як і якість
Нескінченно працюючи над поліпшенням чогось одного, ви не станете кращим фахівцем. Досвід і знання, головним чином, відбуваються внаслідок зіткнення вашої роботи з реальним світом.
Чим більше ви експериментуєте, тим сміливіше будете випускати нові продукти.
10. Ті, кого ви знаєте, так само важливі, як те, що ви знаєте
За комп’ютерами стоять люди. Тому для зростання потрібні не тільки технічні навички. Потрібно також заводити зв’язки та підтримувати відносини.
Не обов’язково ставати зіркою Twitter, але якось виходити до людей треба: це принесе користь в довгостроковій перспективі.