Acabo de comenzar a trabajar en un proyecto de código abierto con alrededor de 30 desarrolladores. 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. Pero siento que si exploto esto en la lista de correo, voy a parecer arrogante, y algunas de las discusiones que he tenido sobre el tema están chocando con algunas de las personas. ¿Cómo debo hacer esto?
fuente
Una de las 48 leyes del poder :
Este es uno que aprendí por las malas después de muchos argumentos sin sentido.
En este caso en particular, recomendaría crear un código muy simple y específico que debería funcionar pero que no funcionará debido a este defecto de diseño. Como dice el viejo refrán, "No se puede discutir con el compilador / intérprete".
La otra cosa es que para tener influencia sobre un grupo, debes ser percibido como un miembro del grupo . Aunque te hayas unido a la empresa, la gente aún no te percibe como miembro del grupo. Por lo tanto, podría ser mejor seguir el grupo establecido hasta que aprendan a percibirte como uno de ellos.
fuente
¿Podría preguntar por qué se utilizó un diseño en particular? De esa manera, puede obtener más de la historia de fondo, ya que puede haber algunas buenas razones por las que se eligió algo que no conoce. Me gustaría pensar que usted no es el experto que puede separar el diseño, pero preguntar puede ser una forma de aprender más para que eventualmente pueda preguntar sobre el defecto que encontró para que el mensaje no se vea. como cebo de llama o trolling.
fuente
Probablemente no te guste esto ... pero, aquí va ...
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.
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.
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. ;)
fuente
Un error es un error, y está bien llamarlo así. Decir que es causado por un "defecto de diseño" es señalar con el dedo al tipo que está delante de ti (lo más parecido al "papi") y decirle que es un idiota.
Innecesario y contraproducente. Yo sugiero:
Donde XY y Z corrigen el problema. Deja que te digan que fue un error de diseño; Puede haber una solución alternativa. ¡O las suposiciones detrás de la 'falla' pueden ser tan profundas en todo el proyecto que cambiarlo solucionará el error pero romperá todo lo demás!
fuente