Comecei a trabalhar em um projeto de código aberto com cerca de 30 desenvolvedores. Estou trabalhando para corrigir alguns dos erros como uma maneira de entrar no "loop" e me tornar um colaborador regular do projeto. O problema é que acho que descobri uma falha de design fundamental que está causando um dos erros nos quais estou trabalhando. Mas eu sinto que, se colocar isso na lista de e-mails, vou parecer arrogante, e algumas das discussões que tive sobre o assunto estão chocando algumas pessoas. Como devo fazer isso?
fonte
Uma das 48 leis do poder :
Este é o que aprendi da maneira mais difícil depois de muitos argumentos inúteis.
Nesse caso em particular, eu recomendaria a criação de um código muito simples e específico que funcione, mas não funcionará devido a essa falha de design. Como diz o velho ditado, "Você não pode discutir com o compilador / intérprete".
A outra coisa é que, para ter influência sobre um grupo, você deve ser percebido como um membro do grupo . Mesmo que você tenha ingressado na empresa, as pessoas ainda não o percebem como um membro do grupo. Portanto, talvez seja melhor acompanhar o grupo estabelecido até que eles aprendam a percebê-lo como um deles.
fonte
Você poderia perguntar por que um design específico foi usado? Dessa forma, você pode obter mais informações da história, pois pode haver algumas boas razões pelas quais algo foi escolhido que você não conhece. Eu concordaria com a idéia de que você não é o especialista que pode separar o design, mas perguntar pode ser uma maneira de aprender mais, para que você possa perguntar sobre a falha encontrada para que a mensagem não seja vista. como isca de chamas ou corrico.
fonte
Você provavelmente não vai gostar disso ... mas aqui vai ...
Não, não, você não fez. Se você fez, você não seria tão hesitante sobre isso. O fato de você não ter certeza sobre a "falha fundamental do design" significa que você não descobriu uma. Ao tentar apontar o erro de outra pessoa, não é necessário nenhum amigo para você usar superlativos (como "fundamental").
O que você pode ter descoberto é um design um pouco melhor para o problema que está enfrentando. Você provavelmente deve testá-lo completamente - já que você é novo no projeto, há uma chance melhor do que nunca de você não ter idéia do que está falando.
Chamar isso de "falha fundamental de design" definitivamente parecerá arrogante. Aliás, nem mesmo apontar que pode ser um bug é a melhor idéia. Se você não sabe de fato (e pode fazer backup) de que é um problema, é necessário fazer humildemente perguntas e pesquisas até entender completamente . Melhor do que quem você está tentando convencer.
Pare. Esta não é uma questão moral, e não está matando ninguém (presumo). Se você pretende ser um membro de longo prazo do projeto, primeiro deve ganhar confiança antes de questioná-los. Corrija os bugs, faça um trabalho incrível (de acordo com as métricas que o grupo valoriza), projete alguns recursos e ganhe um assento na mesa.
Então, sem apontar os dedos ou chamar nada de quebrado, apresente humildemente uma sugestão para melhorar o design do grupo. E é melhor você ter pensado em todas as consequências e soluções para elas, ou será abatido por ser "ingênuo". Esteja pronto para uma discussão sobre por que seu design é melhor. Esteja preparado para perder e perder graciosamente.
Se a sua ideia for realmente melhor, ela será aceita pelo grupo (embora talvez não seja pelo designer original), o grupo não se importa, ou o grupo é estúpido. Nos dois últimos casos, por que você gostaria de fazer parte do grupo?
...
Se você é capaz, a alternativa é apenas codificar a maldita coisa de maneira tão brilhante que eles tremerão de espanto com suas proezas de codificação e não terão escolha a não ser aceitar a simplicidade elegante e a verdade eterna do seu design. Desenvolvedores fazer competência respeito, mas você tem que ter cuidado - o castigo para a incompetência (ou arrogância injustificada) é bastante grave. Já que você está fazendo essa pergunta, acho que a rota de arrogância brilhante e descarada não é realmente uma opção. ;)
fonte
Um bug é um bug, e não há problema em chamá-lo assim. Dizer que isso é causado por uma "falha de design" está apontando um dedo para o cara diante de você (mais parecido com o "papai") e dizendo que ele é um idiota.
Desnecessário e contraproducente. Eu sugiro:
Onde XY e Z corrigem o problema. Deixe que eles lhe digam que era uma falha de design; pode haver uma solução alternativa. Ou as suposições por trás da 'falha' podem ser tão profundas ao longo do projeto que a mudança corrigirá o erro, mas quebrará todo o resto!
fonte