Modelo de prova para seleção de programador

Acho que o mundo vai acabar hoje, pois tenho que concordar com o Marcio Duran.

Prova sequer testa o conhecimento de um candidato, pois o mesmo pode não estar familiarizado com certos comandos ou até mesmo sintaxe de algumas tecnologias e no cotidiano se vira muito bem com ajuda do google.

Dizer que o cara é bom pq ele decorou a sintaxe de uma linguagem é totalmente errado, pois na maioria dos casos os que decoraram são aqueles que estudaram para provas de certificação ou utilizaram exaustivamente certos comandos ou apis.

Escrever algoritmo no quadro? Muito mais pratico vc explicar um problema para o candidato e perguntar como ele resolveria isso, independente da linguagem, com isso vc tem uma ideia da experiencia do mesmo e sua capacidade de agir sobre pressao.

Se o profissional tem afinidade com tecnologia e não é apenas um carinha que caiu de para-quedas na área, não importa se ele sabe sintaxe, api ou qualquer coisa técnica, pois no final ele vai se adaptar a empresa e irá aprender o necessário.

Muito carinha teorico que adora falar merda de como o comando x ou y é mais rapido ou a maneira x,y,z é mais “orientada a objetos” decepciona e não tem o minimo de bom senso e conceito de usabilidade e manutencao.

Eu sinceramente acredito que o nivel de afinidade com a profissao indica sua capacidade de aprender e adapta-se a diversos ambientes e desencorajo qualquer tipo de avaliação totalmente técnica.

Alias, quem dera que meu cerebro conseguisse decorar a sintaxe da maioria das linguagens que conheço e apis/frameworks que ja utilizei e olha que me considero muito acima da média em nossa profissão.

[quote=aleck]Acho que o mundo vai acabar hoje, pois tenho que concordar com o Marcio Duran.

Prova sequer testa o conhecimento de um candidato, pois o mesmo pode não estar familiarizado com certos comandos ou até mesmo sintaxe de algumas tecnologias e no cotidiano se vira muito bem com ajuda do google.

Dizer que o cara é bom pq ele decorou a sintaxe de uma linguagem é totalmente errado, pois na maioria dos casos os que decoraram são aqueles que estudaram para provas de certificação ou utilizaram exaustivamente certos comandos ou apis.

Escrever algoritmo no quadro? Muito mais pratico vc explicar um problema para o candidato e perguntar como ele resolveria isso, independente da linguagem, com isso vc tem uma ideia da experiencia do mesmo e sua capacidade de agir sobre pressao.

Se o profissional tem afinidade com tecnologia e não é apenas um carinha que caiu de para-quedas na área, não importa se ele sabe sintaxe, api ou qualquer coisa técnica, pois no final ele vai se adaptar a empresa e irá aprender o necessário.

Muito carinha teorico que adora falar merda de como o comando x ou y é mais rapido ou a maneira x,y,z é mais “orientada a objetos” decepciona e não tem o minimo de bom senso e conceito de usabilidade e manutencao.

Eu sinceramente acredito que o nivel de afinidade com a profissao indica sua capacidade de aprender e adapta-se a diversos ambientes e desencorajo qualquer tipo de avaliação totalmente técnica.

Alias, quem dera que meu cerebro conseguisse decorar a sintaxe da maioria das linguagens que conheço e apis/frameworks que ja utilizei e olha que me considero muito acima da média em nossa profissão.
[/quote]

po mais saber a sintaxe da linguagem é o minimo, além de lógica é claro que um programador deve saber, claro que eu não to falando de metodos de uma API pouco utilizada ou pouco util, mais sim da linguagem utilizada, coisas mais utilizadas, testes envolvendo lógica e listas/conjuntos por exemplo, algo que ja manteria um nivel um pouco melhor seria testa o conhecimento do cara com equals e hashCode isso ja filtraria muita gente ruim ja… no que li ai em cima nos outros comentarios, na maioria dos casos o que esta falandoao menos a maioria é de que isso ao menos da uma filtrada, não que só vai passa por isso os que forem bons programadores…

penso que essa prova não deve ser tão exigente com API ou conceitos mais obscuros, porém ja da uma filtrada, explica o problema e pergunta como a pessoa resolveria seria um ótimo “passo 2” pra ver quem sabe mais do que esse minimo que eu tava falando/repetindo o que ja falaram ai… concordo com vc tb quanto ao que vc falo de usabilidade e manutenção, adicionalmente, perguntando os por ques do profissional ter escolhido os caminhos que escolheu podia até da uma base do que que o cara sabe a respeito disso, até onde ele tem a experiencia que diz ter…

até concordo quanto ao que vc falo em relação a como fazer, mais acho que antes dessas coisas seria bom uma provinha talvez um pouco rápida, com o número de pessoas que isso filtraria, iria economiza o tempo do entrevistador e dos entrevistados depois também…

O que deveria contar é a experiencia e capacidade de “se virar” do candidato. :wink:

[quote=maior_abandonado]

po mais saber a sintaxe da linguagem é o minimo, além de lógica é claro que um programador deve saber, claro que eu não to falando de metodos de uma API pouco utilizada ou pouco util, mais sim da linguagem utilizada, coisas mais utilizadas, testes envolvendo lógica e listas/conjuntos por exemplo, algo que ja manteria um nivel um pouco melhor seria testa o conhecimento do cara com equals e hashCode isso ja filtraria muita gente ruim ja… no que li ai em cima nos outros comentarios, na maioria dos casos o que esta falandoao menos a maioria é de que isso ao menos da uma filtrada, não que só vai passa por isso os que forem bons programadores…

penso que essa prova não deve ser tão exigente com API ou conceitos mais obscuros, porém ja da uma filtrada, explica o problema e pergunta como a pessoa resolveria seria um ótimo “passo 2” pra ver quem sabe mais do que esse minimo que eu tava falando/repetindo o que ja falaram ai… concordo com vc tb quanto ao que vc falo de usabilidade e manutenção, adicionalmente, perguntando os por ques do profissional ter escolhido os caminhos que escolheu podia até da uma base do que que o cara sabe a respeito disso, até onde ele tem a experiencia que diz ter…

até concordo quanto ao que vc falo em relação a como fazer, mais acho que antes dessas coisas seria bom uma provinha talvez um pouco rápida, com o número de pessoas que isso filtraria, iria economiza o tempo do entrevistador e dos entrevistados depois também…[/quote]

O que eu estava tentando dizer é que prova nenhuma vai apontar os bons programadores, pelo contrário, vc pode estar eliminando os melhores e selecionando os mais teóricos e sem muito bom senso.

Como vc mesmo disse, uma conversa informal sobre a experiencia do profissional e o caminho escolhido irão lhe dar uma base muito melhor do que qualquer prova, que ainda cai no problema do nervosismo, que normalmente apaga a memoria de qualquer candidato, independente da area.

Alias, vcs ja pensaram que um profissional não certificado “pode” ter utilizado o tempo de estudo para certificações com outros conhecimentos que podem ser mais aproveitados no cotidiano?

Eu sinceramente, não contrataria “de cara” um profissional com varias certificações, pois se ele perdeu tanto tempo assim estudando para certificações, quando ele parou para estudar as tecnologias utilizadas no dia a dia?

Bom, entrando agora no tópico e depois de lert todos os comentários deste, tenho que concordar com o último comentário:

“…não contrataria “de cara” um profissional com varias certificações, pois se ele perdeu tanto tempo assim estudando para certificações, quando ele parou para estudar as tecnologias utilizadas no dia a dia…”

… O simples fato do profissional ter “N” certificações não quer dizer que o mesmo tenha “N” qualificações, eu já trabalhei com profissionais não certificados que davam banho tanto de conhecimento teórico e prático em profissionais certificados que não foram capazes de atender as necessidades de eventuais problemas enfrentados, apenas como observação eles já possuiam quase o mesmo tempo de atuação no mercado com desenvolvimento… ou seja ser certificado não tem nada haver com experiência e capacidade, com isso não quero dizer que estar certificado seja ruim, pelo contrario eu até admiro e batalho por isso, mas não acho que deva ser levado em conta de maneira que possa distinguir o que é um bom profissional ou não.

E para selecionar um candidato, sou obrigado a concordar que uma prova sim ajuda, porém uma prova simples, pequena e rápida que contribua apenas para o critério de seleção com relação ao conhecimento… pra evitar perder tempo com candidatos que começaram a agora e não possui a experiencia que o cargo necessita.

Voltando ao assunto original…

A prova deve ser curta, não deve levar mais do que 1 hora para responder a não ser que a empresa tenha um certo renome. Provas dissertativas são melhores, porque você consegue avaliar o raciocínio e considerar meio-certos. Normalmente começa com perguntas básicas (“o que é objeto?”), passa por perguntas sobre tecnologias que você utiliza (“escreva um stateless bean que soma dois números”), e inclui pelo menos uma pergunta de design/arquitetura. (“como você faria para carregar dados de configuração que normalmente ficam no banco de dados de um arquivo de propriedades durante a execução de testes unitários?”)

O propósito da provinha é servir de filtra-Bozo. O RH gasta uns cinco minutos acomodando o candidato, o desenvolvedor mais um cinco revendo a prova (os casos patológicos dá pra reconhecer em décimos de segundo), e o candidato que passa recebe mais atenção nas etapas seguintes.

aleck eu ia responder dizendo que não sei se vc intendeu o que eu disse, falando do por que essa prova, mais acho que o rubinelli falou o que eu tentaria espressar, provavelmente do que eu faria…rs

não to falando que a prova iria dizer quem é bom programador e quem é ruim… mais ela da uma filtrada razoavel, economizando o tempo de todo mundo ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

não to tirando a importancia da conversa sobre experiencia com alguém humano pra avalia, isso é inclusive mais importante do que a prova, porém a prova ajuda muita ao tirar os tais bozos…rs

[quote=maior_abandonado]… ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

[/quote]

Pseudo-profissionais que, inclusive, não sabem escrever em português…

[quote=Taz][quote=maior_abandonado]… ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

[/quote]

Pseudo-profissionais que, inclusive, não sabem escrever em português…[/quote]

bom eu não sei quanto a você, mais ao menos aqui no forum eu não estou me sentindo como se tivesse escrevendo algo no ambiente profissional, sendo assim não tenho que verificar por erros nem de digitação nem de ortografia.

indo direto ao ponto para de ser mala por que você não me conhece no ambiente profissional, inclusive ninguém te provocou pra você vir com ataquesinho babaca desse jeito… ve se cresce…

[quote=Taz][quote=maior_abandonado]… ao ja tirr muitos dos “pseudo-profissionais” do processo de seleção…

[/quote]

Pseudo-profissionais que, inclusive, não sabem escrever em português…[/quote]

Nada pessoal, mas NUNCA eu contrataria um cara que troca MAS por MAIS…

MAS infelizmente tem quem aceita coisas toscas como essas…

Nada pessoal… :lol:

denovo você ta se fazendo de bonzão ai mais ao que parece suas abilidades de leitura também não são das melhores.

a primeira coisa que tinha falado é que não estou em ambiente profissional, não preciso tomar cuidado com formalidade ou normal culta, ao contrario de voce que precisa disso mesmo no forum pra se engrandecer… sugiro honestamente que se foque no seu profissionalismo, tentando aumentar o seu profissionalismo, de verdade, no forum se preocupando com a qualidade do que “você” fala, e não a respeito da gramatica usada pelos outros onde nem sequer é o assunto da discussão. Resumindo, se você quer se engrandecer, faça isso pelo seu merito, pela qualidade do que você faz, não tentando rebaixar outra pessoa, o que é ridiculo da sua parte.

não é o assunto do tópico, não vo masi responder isso ou comenta sua atitude…

Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s

[quote=Marcio Duran][quote=Maracuja]Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s[/quote]

O profissional precisa só de treinamento, e ter afinidade sobre tecnologia, o resto é resto.[/quote]

Se eu quisesse alguém com este pefil contrataria um estagiário, e não um profissional.

[quote=ivo costa][quote=Maracuja]Só fazendo um comentário aqui, nada melhor para selecionar um desenvolvedor, ver se ele realmente sabe desenvolver algo… como? Acho interessante pedir que ele desenvolva um projeto, ai dependendo do perfil que vc procura, peça um projeto específico, por exemplo:

  • Fazer um projeto WEB utilizando JSF que faça uma Pesquisa utilizando os Serviços estilos REST providos pelo yahoo, mostrar os resultado na tela, disponibilizar um botão que exporte os resultados para um arquivo texto. De uns dois dias para que ele desenvolva o projetinho em casa.

Bom ai vai da sua imaginação.

Peça para te entregarem o projeto, talvez com um arquivo de buid do ANT para o projeto, todo o Javadoc e assim em diante. Depois vc ainda pode qustionar o desenvolvedor a respeito das escolhas feitas para o projeto, por que fez em camadas ou não e outras coisas deste tipo.

Espero que ajude.

[]'s[/quote]

Eu acho que pegaria muito tempo do cara.
Dependendo da empresa eu não perderia tempo com fazendo um projeto desses só pra ve se ela ia gostar de mim. Acho que tem que ser mais objetivo.[/quote]

Bom, ai são outros 500. Mas que dessa forma é possível filtrar os code monkeys e fakes dos profissionais bons, isso é.

ps: pra fazer o projetinho acima, um profissional não gastaria mais que 4 horas.

[]'s

Pensei que o tópio era sobre:

Modelo de prova para seleção de programador.

Ja desvirtuou, só espero que tenha ajudado o autor em alguma coisa.

[]'s