У вас пʼять років досвіду, ви переписали десятки компонентів (і двічі — один і той самий), але досі не знаєте, чи вже синьйор? Ось запитання, яке я ставлю кожному кандидату — і воно швидко розкладає все по місцях.
Чи брав кандидат участь в якійсь значній технічній ініціативі: чи як ключовий учасник, чи ініціатор?
Це запитання — один з найсильніших індикаторів для мене: чи готова людина до синьйорної ролі. Яким чином? Дуже просто — за рахунок глибини відповіді.
Якщо ви почнете розповідати деталі імплементації, що саме було зроблено, які бібліотеки використали чи патерни застосували, але при цьому не розкриєте вплив, який ці рішення мали на продукт, кодову базу чи процес розробки — що ж, на жаль (на мою особисту думку), ви ще не готові.
Чому? Бо синьйор має в першу чергу мислити стратегічно, зважувати плюси й мінуси рішень, передбачати цей самий вплив, а вже потім думати про конкретні кроки імплементації. Я не кажу зараз про те саме затаскане "продуктове мислення", хоча воно тут теж має значення. Мова йде про розуміння в цілому, широке бачення, усвідомлення довгострокового впливу.
Щоб відповісти на такі питання, треба мати досвід "кроку назад", коли ви оцінюєте не тільки наслідки тут і зараз, а прикидаєте, що саме це дасть: прискорення розробки, підтримуваність коду, легкість внесення змін, покращення швидкодії і так далі. Це цілком може бути частиною досвіду й мідл-інженера.
Для цього, стаючи до роботи над подібними змінами, треба питати себе не лише "як це зробити", а й "що це нам дасть". Не соромтесь діставати цими питаннями ваших синьйорів, лідів, продактів та інших дотичних до рішення людей. Тоді ви навчитеся оцінювати ініціативи не лише суто з практичної точки зору, а й почнете потроху розуміти довгостроковий вплив.
А коли ви його зрозумієте, то до прийняття багатьох рішень ви будете підходити геть з іншого боку, і навчитеся відкидати такі, що здаються вигідними тут і зараз. Бо горизонт планування й оцінювання розшириться далі одного спринта.
А це і є, на мою особисту думку, однією з важливих якостей дійсно синьйорного інженера, бо у завтрашній день можуть дивитися не тільки лиш усі.
Тому, готуючись до співбесіди, підготуйтесь до цього питання, згадайте, коли ви пропонували велику технічну зміну і спробуйте пояснити самі собі, які наслідки вона мала, згадайте, як вона вплинула на процес розробки й ефективність команди.
@babichdev