Я был вовлечен в проект около трех месяцев назад, который до этого разрабатывался одним недавно нанятым разработчиком, потому что он отставал. Чтобы быть справедливым, проект представляет собой интерфейс к медицинскому устройству, которое имеет много тонкостей и является относительно сложным, поэтому размещение одного человека в проекте, который не имел опыта работы в компании, было, вероятно, плохим решением с управленческой точки зрения.
Во всяком случае, когда я начал работать над этим, я понял, что ... ну, это просто не сработало. Пользовательский интерфейс выглядел хорошо, но на самом деле он ничего не делал, и он делал неправильно. Опять же, чтобы быть справедливым, многое из этого было связано с тем, что этот разработчик не был должным образом подготовлен для написания интерфейса для нашего устройства. Однако я также быстро понял, что код, который был на месте, был хрупким и чрезвычайно сложным в обслуживании.
Теперь я не претендую на звание лучшего программиста в мире. Я работаю со многими очень умными людьми, которые лучше разработчиков, чем я. Однако я очень стараюсь написать настолько простой и надежный код, насколько это возможно. Я проверяю свои чекины. Если я вижу, что мой код становится запутанным и с ним сложно работать, я изменяю его. У меня было несколько бесед с моим коллегой, чтобы помочь ему написать лучший код. Это немного сложно, потому что а) у него более 20 лет опыта в этой области, а у меня всего 5, и б) он был нанят в качестве так называемого «эксперта по UX», и другие считают его опытным человеком.
Тем не менее, я просто не вижу этого. Он очень хороший парень, и он разумный, но время от времени он проверяет хрупкий код, работает только в самых оптимистичных случаях, и 9 раз из 10 я в конечном итоге исправляю ошибки в его работе. Его код кажется просто дилетантским, и он явно не имеет такого уровня опыта, который, как он утверждал, имел при приеме на работу. Дело дошло до того, что дополнительные часы, которые я трачу на рефакторинг его кода и исправление его ошибок, нанесли мне большой урон. У меня есть два варианта:
- Ничего не делай, разорись, чтобы убедиться, что этот продукт вышел вовремя и надежен, и подожди, пока он не выйдет из строя в будущем (я не буду работать с ним над этим проектом после первоначального выпуска).
- Расскажи моему боссу о его исполнении. Мой начальник - разумный человек, но я чувствую себя неловко, принимая такой подход. Я не люблю «колотить» (из-за отсутствия лучшего термина) моих коллег, и я не знаю, как он это воспримет.
Итак, вот и все. Я попытался проработать это с моим коллегой, объяснив, почему его реализация не будет работать или как его код можно было сделать более понятным, но он продолжает делать те же ошибки. Мне очень интересно услышать, как другие справляются с подобными ситуациями, особенно люди в управлении в настоящее время. Заранее спасибо за любой совет, который вы можете предложить мне.