Probablemente no te guste esto ... pero, aquí va ...
Estoy trabajando para solucionar algunos de los errores como una forma de entrar en el "bucle" y convertirse en un comentarista regular 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 estarías tan indeciso al respecto. El hecho de que usted mismo no esté seguro de la "falla de diseño fundamental" significa que no ha descubierto uno. Cuando intentas señalar el error de otra persona, no te compra ningún amigo 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, como eres nuevo en el proyecto, existe la posibilidad de que no tengas idea de lo que estás hablando.
Pero siento que si incluyo esto en la lista de correo, saldré como arrogante
Definitivamente llamándolo un "defecto de diseño fundamental" definitivamente aparecerá como arrogante. En este sentido, incluso señalar que puede ser un error no es la mejor idea. Si no sabe por un hecho (y puede hacer una copia de seguridad) de que es un problema, entonces debe hacer preguntas e investigar con humildad hasta que lo entienda completamente . Mejor que a quien quieras convencer.
... y algunas de las discusiones que he tenido sobre el tema se enfrentan a algunas personas. ¿Cómo debo hacer esto?
Detente. Esto no es un problema moral, y no está matando a nadie (supongo). Si pretende ser un miembro a largo plazo del proyecto, primero debe ganarse la confianza antes de cuestionarlos. Arregle los errores, haga un trabajo increíble (según las métricas de los valores del grupo), diseñe algunas características y gane un asiento en la mesa.
Luego, sin señalar con el dedo o llamar algo roto, humildemente, haga una sugerencia para mejorar el diseño del grupo. Y es mejor que hayas pensado en todas las consecuencias y soluciones para ellas, o serás abatido por ser "ingenuo". Prepárese para una discusión sobre por qué su diseño es mejor. Esté preparado para perder, y perder con gracia.
Si tu idea realmente es mejor, o bien el grupo la aceptará (aunque quizás no el diseñador original), al grupo no le importa o el grupo es estúpido. En cualquiera de los últimos casos, ¿por qué querría ser parte del grupo?
...
Si eres capaz, la alternativa es simplemente codificar la maldita cosa con tanta fuerza que temblarán de asombro ante tu destreza de codificación y no tendrás más remedio que aceptar la elegante simplicidad y la verdad eterna de tu diseño. Los desarrolladores sí respetan la competencia, pero hay que tener cuidado: el castigo por la incompetencia (o arrogancia injustificada) es bastante severo. Sin embargo, dado que estás haciendo esta pregunta, supongo que la ruta de arrogancia brillante y descarada no es realmente una opción. ;)