Ответ на изменение темы:
Если проблема заключается в том, что люди не стараются изо всех сил, вам нужно найти способ заинтересовать их. Это может варьироваться от того, чтобы быть более открытым для идей, даже если они отстой, до обещания бутылки скотча, если проект сделает это вовремя.
Не покупайте его с нижней полки!
Ответ на «некомпетентность»:
Да, я столкнулся с этой ситуацией. Мне не приходится иметь дело с полной некомпетентностью, но я несколько раз удивлялся тому, кто, как мне показалось, понял, что делает то, что мне кажется довольно ... сомнительным.
Первое, что вам нужно сделать, - это изо всех сил стараться подавить это чувство. Я уверен, что ты тоже сделал глупое дерьмо. Я знаю, что у меня есть.
Следующее, что вам нужно сделать, это убедиться, что вы объяснили, почему то, что они сделали, было неправильно. Пусть они спорят с вами и / или задают вопросы ... надеюсь, они это сделают. Заставь их сделать это правильно; надеюсь, вы получите поддержку от руководства, потому что это всегда было одной из моих главных проблем (они должны поддержать вас, когда вы говорите: «Иди, делай это правильно», а другой парень начинает волноваться)
Вы должны сделать это как можно более политкорректным. Даже если вы хотите кричать на них, "WTF, где вы думаете, что MORON !!!" Это не летит и не поможет вообще. Так что не пытайтесь сначала с ними поговорить, если вы так чувствуете. Иногда электронная почта работает лучше, так что вы можете редактировать себя.
Цель в том, чтобы помочь им улучшить. Это ужасно, черт возьми, пытаться добиться чего-то с людьми, которые, с вашей точки зрения, не могут закодировать свой выход из бумажного мешка ... но иногда вам приходится это делать.
Вот как вы помогаете ИМ улучшаться. Теперь для вас ...
Вы должны научиться отпускать это. Код не должен быть идеальным ... он просто должен работать. Возможно, вам придется немного снизить свои стандарты.
Чтобы этого добиться, и чтобы дерево кода продукта не превратилось в ужасный беспорядок, нужно сосредоточиться на больших проблемах. Пока песочница ограничена определенной областью, которую можно переделать позже, когда есть время или они узнали больше, это может быть худший, самый неприятный код спагетти, который вы когда-либо видели, и до тех пор, пока он работает ... хорошо. Так что ищите способы сделать это возможным. Если ваша архитектура не связана, вы можете позволить некомпетентным людям работать над ней без особого ущерба.
Конечно, это означает, что всякий раз, когда вам нужно исправить что-то, что они сделали, или добавить функцию к тому, что они написали, у вас будет головная боль. Такова жизнь. Живи с этим. Если вы можете, вы можете заставить их добавить функцию или исправить ошибку ... которая на самом деле может иметь большое значение в обучении лучшим практикам и навыкам кодирования (чем больше вам приходится убирать собственную чушь, тем меньше у вас склонности хрень на ковре).