Мене розмістили над проектом близько трьох місяців тому, який до цього часу розроблявся одним, новоспеченим розробником, оскільки він відставав. Справедливо кажучи, проект - це інтерфейс до медичного пристрою, який має багато тонкощів і є відносно складним, тому розміщення однієї людини на проекті, яка не мала досвіду роботи в компанії, було, мабуть, поганим рішенням з точки зору керівництва.
У будь-якому випадку, як тільки я почав працювати над ним, я зрозумів, що ... ну, це просто не працювало взагалі. Користувацький інтерфейс виглядав приємно, але він насправді нічого не робив, і те, що він робив, робив неправильно. Знову-таки, якщо чесно, велика частина цього була пов’язана з тим, що цей розробник не був належним чином готовий написати інтерфейс на наш пристрій. Однак я також швидко зрозумів, що наявний код був крихким і надзвичайно важким для обслуговування.
Зараз я не претендую на найкращий програміст у світі. Я працюю з багатьма дуже розумними людьми, які краще розробників, ніж я. Однак я дуже намагаюся написати код, який є простим, наскільки це може бути і надійним. Я перевіряю свої чеки. Якщо я бачу, що мій код стає безладним і важко працювати з ним рано, я його змінюю. Я провів кілька розмов зі своїм колегою, намагаючись допомогти йому написати кращий код. Це трохи хитро, тому що: а) він має 20-річний досвід роботи в цій галузі, а у мене лише 5, і б) його найняли як так званого "експерта з UX", а інші розглядають його як досвідченого.
Це сказав, я просто не бачу цього. Він дуже приємний хлопець і розумний, але час від часу він перевіряє код, який є крихким, працює лише в найбільш оптимістичних випадках, і 9 разів з 10 я закінчую виправлення помилок у своїй роботі. Його код просто здається любительським, і він, очевидно, не має рівня досвіду, якого він стверджував, коли його наймали. Дійшло до того, що додаткові години, які я витрачаю на рефакторинг його коду та виправлення його помилок, взяли на мене свою користь. Я бачу два варіанти:
- Нічого не робіть, перекиньте мою недопалку, щоб переконатися, що цей продукт вийшов вчасно і надійний, і чекайте, коли в майбутньому він вийде з ладу (я не буду працювати з ним над цим проектом після первинного випуску.)
- Розкажіть моєму начальникові про його виступ. Мій начальник - людина розумна, але я просто незручно сприймаю цей підхід. Мені не подобається «битися» (через відсутність кращого терміну) своїх колег, і я не знаю, як він сприйме це.
Отже, ось про це. Я намагався вирішити це разом зі своїм колегою, пояснивши, чому його реалізація не працюватиме, або як його код можна зробити більш ретельним, але він продовжує робити ті ж помилки. Мені дуже цікаво почути, як інші справлялися з подібними ситуаціями, особливо люди, які зараз керують. Заздалегідь дякую за будь-яку пораду, яку ви можете мені запропонувати.