Na semana passada, eu estava assistindo esta incrível entrevista de Kevin Rose, de Phillip Rosedale, do Second Life.
E eles tiveram uma discussão incrível sobre como encontrar, contratar e identificar bons programadores e quão difícil é encontrar bons.
O que me levou a pensar realmente sobre a maneira como aprendemos os programadores. Para a maioria de nós, inclusive eu, somos autodidatas. O que é ótimo em ser um programador, qualquer um pode aprender e desenvolver habilidades.
Mas isso também significa que não há padrões reais sobre o que é / é um bom programador e que tipo de ambiente incentiva o crescimento das habilidades de programação.
Isso não é tanto uma pergunta, mas apenas um desejo em mim, de ver como podemos mudar a cultura da programação e o gerente de programação, para que a educação e o auto-aperfeiçoamento sejam incentivados.
Existem muitos caminhos para a educação continuada, vídeos do youtube, livros, conferências, mas devido à natureza experimental do que fazemos, nem sempre é claro o que é importante aprender e dominar.
Vejamos os 12 passos do Joel.
O teste de Joel
Você usa o controle de origem?
Você pode fazer uma compilação em uma única etapa?
Você faz construções diárias?
Você tem um banco de dados de bugs?
Você corrige bugs antes de escrever um novo código?
Você tem um cronograma atualizado?
Você tem uma especificação?
Os programadores têm condições de trabalho silenciosas?
Você usa as melhores ferramentas que o dinheiro pode comprar?
Você tem testadores?
Os novos candidatos escrevem código durante a entrevista?
Você faz testes de usabilidade no corredor?
Acho que tudo isso tem um valor importante, mas por causa de algo que chamo de Lacuna Experimental, se um programador ou gerente nunca tiver experimentado nenhuma das conseqüências negativas por não ter feito itens na lista, nunca verá a necessidade de fazer nada. deles.
A lacuna experimental, é minha teoria básica, de que cada um de nós tem empregos diferentes e experiências diferentes. Portanto, para alguns de nós, que sempre trabalharam com dezenas de programadores, o controle de fonte é essencial. Mas para as pessoas que sempre foram o único programador, elas não podem imaginar a necessidade de controle de origem.
E é por causa dessa grande falha na maneira como aprendemos, que avaliamos as pessoas de acordo com as melhores práticas que elas fazem ou não, e a razão de ambas pode iniciar uma guerra de chamas.
Sempre avaliamos as pessoas em nosso campo de acordo com o que elas fazem e pensamos "Oh, se esse cara / garota não está praticando as melhores práticas xyz, ele / ela não pode ser um bom programador, então não vamos perder tempo ou energia conversando com elas . "
É exatamente por isso que temos tantas guerras de chamas programadas que, por causa da lacuna experimental, não podemos imaginar pessoas que não tomaram as decisões que tivemos que tomar.
Portanto, isso me levou a pensar que precisamos repensar totalmente como treinamos, educamos e gerenciamos os programadores.
Por exemplo, que porcentagem de vocês recebeu incentivos de seus gerentes para ir a conferências e até mesmo pagar por isso?
Para mim, e para muitas pessoas, isso é extremamente raro, muitos de nós amaríamos ir a conferências, para aprender mais, mas o dinheiro não existe para fazer isso.
Portanto, o objetivo desta pergunta é realmente despertar muito de como podemos treinar, aprender e gerenciar melhor?
Como podemos criar uma nova cultura de aprendizado que não ofenda as pessoas por não terem as mesmas experiências de trabalho.
Sim, todos nós temos trabalhos e trabalho a fazer, mas nossa capacidade de fazer bem nossos trabalhos depende de nosso desejo, interesse e apoio para melhorar nosso domínio de nossas habilidades.
No momento, vejo nossa cultura bastante desorganizada, apoiamos a elite, mas aquelas pessoas que querem melhorar, simplesmente não têm apoio suficiente para aprender e se aperfeiçoar.
Quero dizer, nós, como indústria, queremos ser percebidos apenas como engrenagens substituíveis?
Obrigado...