Знання тут не допоможуть: чому ви досі не сеньйор і хто такі розробники найвищого рівня

Оленка Пилипчак

Щойно хтось потрапляє у IT, він, як правило, починає марити рівнем сеньйора. Більшість інженерів, принаймні ті, хто не прагне стати власником бізнесу, вважають це вершиною успіху. Але інколи здається, що неможливо логічно пояснити, чому когось називають «сеньйор».

Фулстек-розробник Рей Епс вважає, що насправді це не зовсім так. Після 11 років роботи в цій галузі він отримав досвід роботи з інженерами всіх рівнів. І може сказати наступне: ваш рівень — це поєднання ваших знань та досвіду. 

Передаємо йому слово.

Знання та досвід

Поясню свою думку більш детально: ваші знання та ваш досвід — це два боки однієї монети.

Знання означають, що ви знаєте, як щось зробити. А от досвід — це знати, що щось робити НЕ треба.

Знання можна отримати різними способами: це інформація, яку ви вивчаєте. Досвіду ви набуваєте лише тоді, коли щось робите неправильно, помиляєтесь чи зазнаєте поразки. 

Деякі надзвичайні люди мають здатність вчитись на чужих помилках. Зазвичай інженери так не вміють, але якщо ви здатні на таке — ви володієте унікальною суперсилою. 

Отже, сьогодні ваш перший офіційний день роботи на посаді інженера-програміста: у вас нуль досвіду та величезний запас знань. Можливо, ви отримали їх в університеті, або (як у моєму випадку) з YouTube. Ви — джуніор, бо у вас забагато знань, якщо порівнювати з вашим досвідом.

Звучить так, наче це погано? Але так воно і є. 

Є трохи знань, але немає досвіду

Джуніор вважає, що він має рацію. Але він помиляється і не помічає цього, бо не має досвіду. Якщо у вас є досвід (знову ж таки, це помилки та невдачі), ви будете пам’ятати, що помилки можливі. Але в перші дні роботи вони часто навіть не замислюються над тим, що деякі речі варто перевіряти, щоб не збитись з вірного шляху. 

Це не критика, я сам був на вашому місці. Чітко пам’ятаю, як я стояв у невеличкій кімнаті для зустрічей з маркером у руці перед дошкою. Я сперечався так, ніби від цього залежало моє життя. Я був на 100% переконаний, що користувачі повинні мати можливість обирати власне ім’я користувача і що система розвалиться, якщо їх змусять використовувати свою електронну пошту для входу.

Мій колега Дейв, який був сеньйором, дозволив мені зробити так, як я пропонував. У нашому випадку це було не надто вдале рішення. І Дейв це передбачав, він намагався мене попередити, але я не хотів слухати. В процесі роботи над проєктом він пояснив мені усі нюанси. 

Звісно, я пошкодував про це рішення, але я отримав досвід. Тепер я добре розумію, які проблеми можуть виникнути, якщо ви хочете створити систему облікових записів на основі імені користувача. 

Така система необов’язково буде проблемною.

Але цінність досвіду полягає не в тому, що ви змінили свою думку на протилежну, а в тому, що ви навчились припускати, що можете помилятись. Ніхто не стає сеньйором лише тому, що робить щось без помилок. 

Багато разів пізніше, коли я сперечався, я згадував ту дошку та Дейва і те, як я безпідставно вірив у свою ідею. Це змушує мене сумніватися та аналізувати, чи не роблю я знову якусь помилку.

Більше досвіду

Бути посередині — це незатишно. Це друге місце нагадує вам, що ви ще не досягли вершини. Але в той же час це важливий етап: у вас уже достатньо досвіду, щоб сумніватись у тому, що ви вивчили. 

Більше знань, але ще знаходиться у процесі отримання досвіду

Ви зрозумієте, що ви мідл, коли начебто знатимете відповідь, але все одно шукатимете й альтернативні рішення. Коли ви сперечаєтеся, ви готові слухати опонента і не поводите себе так, наче у вас намагаються забрати щось дуже цінне.

Більше досвіду, ніж знань

Ви стаєте сеньйором, коли ваш досвід перевищує ваші знання. На цьому етапі ви, швидше за все, легко визнаєте, що не маєте рації. Ви навчаєтесь у процесі роботи, на своїх помилках і невдачах, а не на відео у YouTube чи публікаціях у блогах. 

Важливо усвідомлювати наступне: IT-сфера — це безмежна кількість інформації, яку можна вивчати і засвоювати. Але ваші знання та досвід обмежені, вони не стосуються усієї галузі. 

Нарешті досвіду трохи більше, ніж знань

Я фулстек-розробник. Я знайомий із хмарами, API-дизайном, розробкою інтерфейсу JavaScript та іншими речами, які можна очікувати від веброзробників. У цих темах я маю багато знань і досвіду. Але якби я вирішив приєднатися до команди програмістів у SpaceX і писати код на C, який завантажується в мікропроцесор на сервоприводі, який контролює кут нахилу ракети… То тут мій багатий досвід нічого б не вартував.

Справа в тому, що сеньйор не має бути спеціалістом з будь-якого питання. Пам’ятайте про це, якщо ви тільки починаєте й думаєте, чи варто вам заглиблюватися в одну сферу чи намагатись охопити якомога більше.

Можна бути справжнім фулстек-інженером і чудово розумітись як на фронті так і на бекенді. Але для цього вам знадобиться багато років праці.

Набагато більше досвіду, ніж знань

Протягом останніх кількох років я стверджував, що має бути звання вище сеньйор-інженера. З мого досвіду, це звання не є стелею для людини, що працює над кодом. Я бачив інженерів, які працюють на зовсім іншому рівні, і можу стверджувати, що нещодавно приєднався до них.

Я завжди займався кодом, але протягом останніх чотирьох років був технічним керівником (на різних посадах і титулах) та керував сеньйор-інженерами. Я зрозумів, що весь час мати рацію неможливо: десь ви все одно помилятиметесь.

Проблема полягає в тому, що все змінюється: бізнес, потреби клієнтів, ринки, продукти, команди інженерів і їхній досвід. Усе це означає, що те, що ми створюємо як інженери, не може бути незмінним.

Це інший рівень реалізації, який потребує багато досвіду для усвідомлення. Вибір AWS Lambda замість GCP Cloud Run як інфраструктури не буде правильним вибором, якщо AWS збанкрутує через десять років. Є речі, які знаходяться поза вашим контролем і які ви не можете передбачити.

Як інженер найвищого рівня ви визначаєте речі, якими можете керувати та будувати на них своє програмне забезпечення. Усе інше — це зовнішні фактори, і ваша система має бути здатна швидко та легко підлаштуватись під їхні зміни. 

Сенс цього всього

Іноді ви помиляєтесь, але іноді маєте рацію. Не всі ідеї, дизайни, рішення чи реалізації однакові. Деякі рішення кращі за інші.

Знання — це педаль газу, яка рухає вас вперед у суперечці. На вашому боці є факти, приклади коду, статті, найкращі практики та цілий розділ із книги Мартіна ФаулераАвтор низки книг та статей з архітектури ПЗ, об'єктно-орієнтованого аналізу та розробки, мови UML, рефакторингу, екстремального програмування, предметно-орієнтованих мов програмування.

Досвід — це перерва, рятувальний круг, щоб уповільнити та припинити суперечку. Спогади про попередні помилки та здоровий страх, що ваше рішення насправді не спрацює, дозволяють вам розглянути альтернативну точку зору.

«Якщо ви не можете аргументувати обидві сторони проблеми, ви недостатньо добре розумієте проблему» (GBlink’s Dad).

Іноді ви маєте рацію, тоді наполягайте. Від вашої наполегливості може залежати доля проєкту чи навіть компанії. Іноді ви помиляєтеся. І ви не зможете це усвідомити, якщо все, що у вас є — це знання, що підштовхують вас до суперечки.

Як конкретно оцінювати чиїсь знання та досвід? Я ще не впевнений щодо відповіді. Наразі я просто знаю, що це — шлях.

Автор: Рей Епс

Переклала Євгенія Козловська

Читайте також: Віртуозний кодер та крутий ментор: 7 ознак справжнього сеньйора

Останні статті

Айтівець Міноборони США понабирав кредитів і хотів продати рф секретну інформацію

32-річний розробник безпеки інформаційних систем Агентства національної безпеки Джарех Себастьян Далке отримав 22 роки в'язниці…

30.04.2024

Простий та дешевий. Українська Flytech запустила масове виробництво розвідувальних БПЛА ARES

Українська компанія Flytech представила розвідувальний безпілотний літальний апарат ARES. Основні його переваги — недорога ціна…

30.04.2024

Запрошуємо взяти участь у премії TechComms Award. Розкажіть про свій потужний PR-проєкт у сфері IT

MC.today разом з Асоціацією IT Ukraine і сервісом моніторингу та аналітики згадок у ЗМІ та…

30.04.2024

«Йдеться про потенціал мобілізації»: Україна не планує примусово повертати українців із ЄС

Україна не буде примусово повертати чоловіків призовного віку з-за кордону. Про це повідомила у Брюсселі…

30.04.2024

В ЗСУ з’явився жіночий підрозділ БПЛА — і вже можна проходити конкурсний відбір

В Збройних Силах України з'явився жіночий підрозділ з БПЛА. І вже проводиться конкурсний відбір до…

30.04.2024

GitHub на наступному тижні випустить Copilot Workplace — ШІ-помічника для розробників

GitHub анонсував Copilot Workspace, середовище розробки з використанням «агентів на базі Copilot». За задумкою, вони…

30.04.2024