Probablemente no te guste esto ... pero, aquí va ...
Estoy trabajando para corregir algunos de los errores como una forma de entrar en el "bucle" y convertirme en un encargado habitual del proyecto. El problema es que creo que he descubierto una falla de diseño fundamental que está causando uno de los errores en los que estoy trabajando.
No, no lo hiciste. Si lo hicieras, no dudarías tanto en ello. El hecho de que usted mismo no esté seguro acerca del "defecto fundamental del diseño" significa que no ha descubierto uno. Al tratar de señalar el error de otra persona, no te compra amigos para usar superlativos (como "fundamental").
Lo que puede haber descubierto es un diseño ligeramente mejor, para el problema que está teniendo. Sin embargo, probablemente deberías probarlo a fondo, ya que eres nuevo en el proyecto, hay una posibilidad mejor que incluso de que no tengas idea de lo que estás hablando.
Pero siento que si exploto esto en la lista de correo, voy a salir arrogante
Llamarlo un "defecto de diseño fundamental" definitivamente se considerará arrogante. Para el caso, incluso señalar que puede ser un error no es la mejor idea. Si no sabe con certeza (y puede respaldarlo) que es un problema, entonces debe hacer preguntas e investigar humildemente hasta que lo entienda completamente . Mejor que a quien sea que estés tratando de convencer.
... y algunas de las discusiones que he tenido sobre el tema están en conflicto con algunas de las personas. ¿Cómo debo hacer esto?
Detener. Este no es un problema moral, y no está matando a nadie (supongo). Si tiene la intención de ser un miembro a largo plazo del proyecto, primero debe ganarse la confianza antes de interrogarlos. Arregle los errores, haga un trabajo increíble (según las métricas que el grupo valore), diseñe algunas características y gane un asiento en la mesa.
Luego, sin señalar con el dedo ni llamar a nada roto, presenta humildemente una sugerencia para mejorar el diseño del grupo. Y será mejor que hayas pensado en todas las consecuencias y las soluciones a ellas, o serás abatido por ser "ingenuo". Esté preparado para una discusión sobre por qué su diseño es mejor. Prepárate para perder, y pierde con gracia.
Si su idea es realmente mejor, será finalmente aceptada por el grupo (aunque quizás no por el diseñador original), al grupo no le importa o el grupo es estúpido. En cualquiera de los últimos casos, ¿por qué querrías ser parte del grupo?
...
Si eres capaz, la alternativa es codificar la maldita cosa de manera tan sangrienta que temblarán de asombro ante tu destreza de codificación y no tendrán más remedio que aceptar la elegante simplicidad y la eterna verdad de tu diseño. Los desarrolladores hacer competencia respecto, pero hay que tener cuidado - el castigo por la incompetencia (o la arrogancia injustificada) es bastante grave. Sin embargo, dado que hace esta pregunta, supongo que la ruta de la arrogancia brillante y descarada no es realmente una opción. ;)