Hablaré de la experiencia, pero tenga en cuenta que cada persona es diferente. Estas cosas no son universales.
Una cosa es dejarlo ir personalmente. Este proyecto es algo con lo que vivió y vivió durante 18 meses; naturalmente, desearía que cada cambio sea como lo haría. Dele un amortiguador para que un colega cometa errores, aprenda. Crea un espacio para que sean útiles. Y tenga en cuenta que podría no suceder de inmediato. También sería genial si hay algo, una parte del código que pueden sentir que tienen éxito en mejorar o crear, que se siente como un éxito en un corto período de tiempo. La paciencia y la tolerancia tienen una buena tasa de pago aquí. No intentes microgestión, y si quieres criticar, decir "estás equivocado", asegúrate de tener un mérito, puedes probarlo, no es una pelea "religiosa".
Otra cuestión clave es encontrar a la persona adecuada para usted. Idealmente, es mejor encontrar a alguien más inteligente que usted. Es subjetivo y relativo, pero si siente que una persona tiene algunos conocimientos y habilidades que no tiene, es lo mejor. Será una colaboración mutuamente gratificante.
Hay dos formas de hacerlo: el colega será un lastre, y terminarás rehaciendo lo que él o ella hizo, o las habilidades de dos de ustedes se multiplicarán, no solo sumarán, y realmente apreciarán trabajar juntos.
Sobre un tema de "código limpio, rápido y reutilizable": sugiero en una entrevista que pida escribir un pequeño micro-kernel / service manager y / o ejecutor de trabajo. Vea cómo se especifican y configuran los componentes conectables. No tiene que estar terminado, es un pensamiento que cuenta. Y también aprenderá rápidamente que las personas que saben cómo hacerlo querrán dinero decente ;-) ¡Buena suerte!