Faça essas perguntas sobre sua liderança.
- Eles estão acostumados a trabalhar sozinhos ou com uma equipe muito pequena?
- Eles codificaram principalmente nessa loja?
- Eles estão acostumados a tomar decisões?
- Eles estão acostumados a "apenas fazer"?
- Eles escreveram a maior parte do código?
Se as respostas forem "sim", então vou pintar uma imagem de um tipo específico de programador líder. Se combinar com o que você experimentou, talvez ajude a entrar na cabeça deles. Caso contrário, ignore esta resposta .
É alguém que está lá desde o primeiro dia, passou anos no mesmo trabalho trabalhando na mesma base de código, está acostumado a fazer o que quer e não tem muita experiência com outras maneiras.
Eles não consideram outras pessoas quando escrevem código, já que tudo faz sentido para elas. É claro que sim, eles escreveram ou passaram anos entendendo.
Eles consideram o estilo de codificação uma preferência pessoal, não uma ferramenta para reduzir a manutenção e os bugs. Ao discutir sobre o estilo de codificação, eles se esforçam para ouvir seus argumentos, porque provavelmente nunca pensaram muito sobre por que fazem as coisas do seu jeito. O que eles ouvirão é "Quero fazer do meu jeito" ou "Quero fazer do jeito novo, chique e moderno".
Eles estão definidos em seus caminhos. Porque eles fazem da mesma maneira há muito tempo todas as suas ferramentas e editores e o cérebro micro-configurado exatamente com o seu estilo. Qualquer desvio desse estilo entrará em conflito com esse modo de trabalho cuidadosamente organizado, mas muito frágil. As tentativas de mudar gerarão reclamações sobre seus editores, ferramentas, a maneira como eles gostam de trabalhar ou sobre "ser difícil de ler". Eles rejeitam a mudança porque se envolveram tão fortemente no status quo que não podem mudar.
É alguém que nunca aprendeu corretamente engenharia e arquitetura de software. Eles meio que batem juntos o que quer que funcione.
Você tem um problema pessoal, não tecnológico.
Você terá que treinar novamente sua liderança ou precisará sair.
Ir para a administração é o último recurso . Ambos pelos motivos apontados pelo @JaredSmith e porque você perderá. Esse cara passou anos ganhando dinheiro com eles. Ele escreveu a empresa deles. Ele foi extinto em numerosos incêndios. Para você, ele é um chef de cowboy fazendo espaguete. Para eles, ele é um herói que construiu e salvou a empresa.
Para treinar novamente, você terá que ...
- Ganhe sua confiança.
- Descobrir como ele pensa.
- Aborde seus medos sobre a mudança.
- Facilite a mudança.
- Mostre como isso é melhor para ele .
Leve o estilo dele a sério e entre na cabeça dele. Pergunte a ele sobre isso. Por que ele faz as coisas do jeito que faz? O que ele vê quando o lê? Como ele interage com suas ferramentas? Como ele se move através do código? Conhecer todas essas coisas permitirá que você entenda e resolva as objeções dele.
Encontre a raiz objetiva de suas objeções subjetivas, torne-as acionáveis. "É difícil de ler" é subjetivo e não fornece informações. Você não pode fazer nada sobre isso. "Eu sou daltônico e o destaque da sintaxe não funciona" é objetivo, fornece informações e você pode fazer algo sobre isso. Eu recomendaria um livro chamado Getting To Yes para mais informações.
Depois de encontrar o problema raiz, o problema real que ele está enfrentando, veja se você pode corrigi-lo ou mitigá-lo. Então não é um problema. Eles provavelmente ainda terão problemas emocionais com a mudança, mas pelo menos não podem mais argumentar que é um problema real.
Faça um pouco de cada vez. É alguém que faz da mesma maneira há anos. Ele está acostumado a ver certos padrões no código e usá-los para entendê-lo. Mudar repentinamente todos esses padrões será confuso. Por mais frustrante que seja para levá-los a devagar com as boas práticas conhecidas, você deve orientá-lo.
Defenda um estilo comunitário padrão. Isso elimina o argumento de que se trata de preferência pessoal e pressiona-os a justificar por que o estilo diferente deles é muito melhor. Se você planeja contratar, fica mais fácil integrar novas contratações.
Defenda o estilo de código automatizado. Faça o seguinte no estilo correto pressionando um botão. Use uma ferramenta que comece com um estilo padrão, permita configurá-lo ao seu gosto e possa reestilizar o código pressionando um botão. Tornar o estilo o mais fácil possível remove muitos argumentos sobre o quão difícil será seguir. Eles podem codificar como quiserem e, quando terminam, apertam um botão e seguem um estilo que outros podem ler.
Como essa pessoa não tem a mentalidade de pensar nos outros, você terá que mostrar como essas mudanças os beneficiam. Pode ser tão simples quanto "já que esse é o padrão agora, você não terá que passar por essa briga novamente com a próxima pessoa que contratar". Ou pode ser "se tivermos testes, você pode ser mais agressivo ao alterar o código e se preocupar menos em mudar as coisas". Ou "se houver bons documentos, as pessoas não precisarão incomodá-lo com perguntas sobre como o código funciona". Para que isso seja eficaz, você precisará saber o que eles querem - algumas pessoas gostam de ser incomodadas, isso faz com que se sintam importantes.
É um longo, longo caminho. Você terá que decidir se tem paciência para gerenciar e treinar seu chefe. Pense em si mesmo mais como professor do que como subordinado frustrado, e você pode se sentir melhor com isso.