Estou tentando liderar uma equipe de software que está ficando para trás. Um dos principais problemas é que, sempre que algo é levemente difícil, acabo tendo que atribuí-lo a mim mesmo. Tive outro desenvolvedor com habilidades moderadas e meio estagiário. Infelizmente, as habilidades do outro desenvolvedor não incluem design.
Então eu implorei ao meu chefe por um dos caras de uma das outras equipes, ele está trabalhando aqui há mais tempo do que eu (5 anos). Ele não pode competir comigo no design OU na linguagem que usamos, mas eu pensei que ele era o mais competente além de mim.
Hoje ele me deu um pedaço de código que fazia algo que não era nem um pouco diferente de:
object const& my_class::get_object() const
{
return *std::unique_ptr<object>(new object());
}
Ele me perguntou se isso era um problema! Eu disse a única coisa que consegui pensar: "Sim. Isso é um problema". Então ele vem até a minha mesa me perguntando como consertar !! Eu disse: "Use um objeto que sobreviva à chamada da função". Então ele começa a surtar: "Sim, mas como, a única coisa que consigo pensar é tornar uma variável de membro".
Eu estava um pouco ocupado nesse momento, porque já estava tentando trabalhar mais, tive que assumir o outro cara do time, porque ele não conseguia descobrir ... Eu disse ao cara para ir embora porque eu estava ocupado e ir descobrir sozinho. Então ele sai zangado, falando sobre como não é culpa dele se ele estraga tudo. Ele está surtando desde que entrou na equipe e não acho que esteja melhorando.
Sinto como se estivesse me afogando aqui. O que posso fazer? Qual era o caminho certo para lidar com isso? Teria sido mais razoável ajudar esse cara que está escrevendo C ++ há 7 anos a descobrir como retornar corretamente uma referência a um objeto que não é destruído no momento em que é devolvido? Eu sinto que isso é ridículo ter que fazer e me pergunto como diabos eu faria algo assim.
Às vezes eu acho que eles estão fazendo isso de propósito, mas isso me parece apenas um golpe ... mas, novamente, o mesmo acontece com a pergunta que acabei de fazer hoje. Não é um garoto sentado em casa tentando descobrir seu primeiro programa, tendo seu cérebro explodido por indicadores.
Respostas:
Eu entreguei todos os meus livros em C ++ há vários anos, jurando que nunca mais voltaria a tocar nessa linguagem, e até posso dizer que esse cara não sabe o que está fazendo. Eu acho que você deveria se sentar com ele e descobrir exatamente qual é o nível de habilidade dele.
Parece que talvez ele tenha 1 ano de experiência sete vezes - não sete anos de experiência. Nas empresas maiores, é bem possível que trabalhadores não qualificados se escondam e se misturem "ao redor do sistema" sempre que forem pegos.
Se for esse o caso, você deve parar e descobrir quais são os níveis de habilidade das pessoas. Entendo que você se sinta sobrecarregado por prazos e coisas do tipo, mas não pode fazer o trabalho quando não pode ter certeza do que sua equipe consiste. Você não pode concluir o projeto se continuar cometendo os mesmos erros - apenas mais rápido dessa vez.
Assumir todo o trabalho em si mesmo significa que você não tem uma equipe, nem tem confiança neles. Isso precisa ser corrigido primeiro.
fonte
Esse tipo de problema é o pão com manteiga da administração. Uma pergunta que todos os gerentes precisam fazer é: "Meu pessoal tem as habilidades necessárias para fazer o trabalho?" Se a resposta for "não", um bom gerente não grita ou desiste - um bom gerente corrige a situação.
Aqui está uma observação - o C ++ não é uma linguagem trivial; portanto, é possível usar algo em que seus desenvolvedores juniores são mais competentes? Se ele deve estar em C ++, então você quer necessidade de treinar seus desenvolvedores existentes, ou contratar novos desenvolvedores com as habilidades apropriadas.
Eu estava em uma situação não diferente há um ano. Fui contratado para liderar uma equipe de programadores de VB6 trabalhando em código espaguete, e o desejo do gerenciamento era mudar para sistemas orientados a objetos e bem arquitetados, escritos em .NET. Fizemos um excelente progresso nessa área, portanto, esse tipo de mudança é possível.
Um comentário final. Se você não gostar de lidar com esse tipo de problema, eu sairia da gerência e voltaria a uma função puramente técnica. Esse tipo de problema bagunçado é o pão com manteiga da vida de um gerente, e não combina com todos.
fonte
Consiga um emprego em uma empresa melhor, onde você pode trabalhar com pessoas competentes.
fonte
O certo seria ajudá-lo com o problema. Não precisava estar no local certo. Você poderia ter dito: "Estou empatado agora. Leia o capítulo X do C ++ STL e vamos entrar em contato novamente amanhã às 11h".
Gritar pode funcionar para algumas pessoas e algumas situações, se for apenas uma questão de motivação. Mas, se é uma questão de competência ou conhecimento, gritar com as pessoas e explodi-las não ajuda em nada. É como gritar com pessoas que não falam inglês. isso não os ajuda a entender o que você está tentando dizer e pode matar qualquer motivação que eles tenham para tentar ajudá-lo. Eles estão onde estão, e nenhuma raiva ou frustração de sua parte os tornará melhores para escrever C ++ nas próximas 48 horas. Você também pode precisar voltar ao gerenciamento e explicar que o escopo do projeto está além das habilidades atuais de sua equipe. Coisas assim são por que ser um líder de equipe é muito difícil.
fonte
Bem, se alguém que escreve código há 7 anos perguntar algo que parece bastante básico, teria que me perguntar o que mais está acontecendo. Eu não sou um programador de C ++, então não posso comentar sobre esse aspecto.
O que eu gostaria de saber, como seu supervisor, eu assumiria, se algo mais estivesse acontecendo que o estivesse distraindo. Sei que você pode não ter tido tempo naquele momento, mas a última coisa que você deve fazer é afastar alguém assim.
Reserve um momento para conversar com ele e informá-lo imediatamente: "Entendo sua urgência nisso, mas não tenho tempo para isso agora. Assim que fizer isso, eu o informarei. Eu esperaria não mais que uma hora ".
Dessa forma, você demonstrou sua urgência, que não tem tempo e que voltará com ele. Mesmo que seja uma expectativa de quando você voltará com ele. Ele se sentirá muito melhor com isso do que ser espantado (é assim que eu aceitaria).
O que você deve fazer agora é reservar um tempo e avisar quando puder conversar com ele sobre o assunto. Acompanhe e engula um pouco de orgulho, deixe a pessoa saber que você entende sua urgência e simplesmente não teve tempo para lidar com isso. Você também deve ver se ele tem algo em suas áreas pessoais que poderia estar afetando sua atenção - ou seja, o que mais poderia estar distraí-lo. As vidas pessoais também nos afetam programadores. ;)
fonte
Eu acho que você precisa sentar com seu chefe e explicar tudo a ele. Isso soa maluco - o que esse cara está fazendo até trabalhando lá se não sabe o básico?
fonte