seus fatores de usabilidade no sentido de quao bem ele responde a uma necessidade especifica.Termina as coisasEm principio, voce esta procurando por pessoas que:sao espertas e,que terminam as coisas.Talvez a coisa mais importante em um desenvolvedor. Voce pode ser perfeito em todos os atributos anteriores e ainda ser um programador mediocre se voce nao consegue terminar as coisas. Um desenvolvedor mediano mas produtivo poderia facilmente substituir varios desenvolvedores altamente talentosos mas que se movem devagar, dependendo de suas responsabilidades.No fim do dia voce definitivamente quer desenvolvedores altamente produtivos mais do que aqueles que sao grandes em teoria mas nao na pratica.Faz mais do que apenas suficienteTerminar as coisas e importante. Terminar as coisas do jeito certo e ainda mais importante.Pagar constante seu debito tecnico e crucial se voce continuar acumulando debito fazendo gambiarras de correcoes rapidas que funcionam mas nao sao bons de mantenabilidade, voce apenas esta criando a aparencia de progresso. Na realidade, o custo de se livrar do grande debito tecnico poderia se tornar proibitivo antes de voce perceber.Gastar um tempo para constantemente refatorar codigo para uma forma com mais mantenabilidade e a melhor forma de prevenir a espiral que leva um projeto a desaparecer.ResponsavelUma pessoa poderia ser um programador capaz apenas em habilidades tecnicas, entretanto se ele nao assume seus proprios erros e nao respeita prazos ele poderia se tornar um risco muito rapidamente.Responsabilidade significa saber onde deixar seu ego para tras para o bem do projeto. Nos normalmente desenvolvemos grandes egos a medida que nos consideramos experts em muitas coisas. Colocar o projeto primeiro e um sinal de um bom desenvolvedor.Boas relacoes humanasOutra coisa importante, essa tambem se aplica a programadores. Existe um estereotipo que programadores sao criaturas reclusas, anti-sociais programadores ainda sao pessoas ;-)Para ser parte de uma equipe ou lidar com clientes, um programador precisa ter habilidades sociais basicas. Rudez, arrogancia, paciencia curta nao tem espaco em um ambiente de trabalho profissional. Tudo que se precisa e uma maca podre para arruinar o humor de todos.E issoSe voce respondeu positivamente a tudo acima, voce provavelmente e um bom programador.Voce deve notar que nao mencionei paixao ou diversidade tecnologica como atributos qualificatorios. Resumindo, eu nao acho que sejam muito relevantes para a qualidade de um programador.Paixao e bom de se ter, entretanto ja conheci muitos profissionais e desenvolvedores de alta qualidade que estavam satisfeitos de apenas ir ao trabalho profissionalmente, das 9 as 17 e entao ir para casa e ter vidas significativas e completas com a familia. Um programador pode ser definitivamente completamente profissional sem ser apaixonado sobre programacao.Diversidade tecnologica e outra coisa boa de se ter mas nao e um pre-requisito enquanto se estiver no controle das tecnologias com que trabalha, uma falta de diversidade nao deveria afeta-lo tanto. Tomadores de decisao precisam estar bem atentos para todas as opcoes antes de comecar um projeto, entretanto hoje em dia a escolha de tecnologias simplesmente nao e tao importante.Voce pode conseguir bons resultados independente da linguagem de programacao e banco de dados entre outras consideracoes. A maior consideracao deve ser o tipo de habilidades disponiveis no