Como entrar no mercado ?

“O que queremos ouvir do candidato é que ele conhece sobre aquilo que preciso e tem segurança de resolver o meu problema sem recorrer ao Google o tempo todo”

Só quem não programa pra querer ouvir isso.

3 curtidas

Pois é. Por isso tantos continuam sem entender porque não conseguem se empregar. Só pra informação eu desenvolvo a mais de 16 anos. Trabalho com Java diariamente. Um candidato que não sabe sequer um hello world sem recorrer ao Google não me serve. Quando estou numa entrevista e converso com o candidato não tem Google lá amigão. Esse é o mal desta geração que está saindo da faculdade. Não tem fundamento, não conhece conceitos. Se acostumou a buscar tudo no Google. Não conseguem pensar numa solução e dependem de achar um exemplo na internet pra tudo. Já dei aula em faculdade pra turma em último período e sei bem o que é isso. Já precisei encontrar bug em sistema onde o desenvolvedor fez exatamente uma cópia do artigo num blog, inclusive o bug veio junto. Achamos o bug pq o autor do artigo publicou a solução.
No dia a dia certamente vamos visitar fóruns, blogs e afins para apoio naquilo que temos eventuais dúvidas, mas pra fazer tudo é complicado.

2 curtidas

Ter conceitos sólidos de OO, arquitetura e padrões de projetos é muito diferente de decorar as minúcias de alguma linguagem de programação. E para que você não tenha que anotar todas essas minúcias num caderninho a internet estará lá com toda a documentação da sua ferramenta de trabalho e o StackOverflow com eventuais exemplos. E você, como professor universitário e com tantos anos de experiência deveria saber muito bem disso.

[quote=“Julio_Murta, post:23, topic:321583”]
Ter conceitos sólidos de OO, arquitetura e padrões de projetos é muito diferente de decorar as minúcias de alguma linguagem de programação
[/quote]Nem estes conceitos fundamentais muitas vezes o candidato sabe. Fundamentos como encapsulamento e polimorfismo o candidato sabe vagamente. Observe bem que em nenhum momento citamos minuncias de qualquer linguagem, e foi enfatizado no comentário que no dia a dia isso é comum. Especificidades da linguagem seja ela qual for virão com o tempo, isso não nos interessa.
De volta ao principal do tópico, é impossível contratar um profissional ainda que inexperiente que precise do google pra me responder fundamentos de O.O ou fundamentos de arquitetura de sistemas. Padrões de projeto eu sequer considero numa entrevista pois se exigir isso ai é que não conseguimos ninguém mesmo.

[quote=“Julio_Murta, post:23, topic:321583”]
E para que você não tenha que anotar todas essas minúcias num caderninho
[/quote]Se você se depara numa entrevista com estas questões é pq o recrutador é ineficiente e está buscando um modelo antiquado e covarde de selecionar profissionais. Como disse, muitas vezes estou diante de recrutamento mas se eu me submetesse a um destes ditos testes com estas perguntas que vc menciona fatalmente apesar de já ter 16 anos de experiência eu não saberia a maior parte destas especificidades.

[quote=“Julio_Murta, post:23, topic:321583”]
E você, como professor universitário e com tantos anos de experiência deveria saber muito bem disso.
[/quote]Peço que o colega veja meus comentários com clareza e não diminua ou acrescente nada além do que está explicitamente escrito. Não os tome por comentários por experiências vividas ou vistas no mercado. Por exemplo eu não considero uma prova escrita algo valioso, eu prefiro dar um problema e uma máquina com acesso a internet e um ambiente pra qualquer candidato. Os problemas em sua grande maioria são resolvidos com algorítimos simples e exige uma poder de análise do candidato. Se até pra análise o candidato vai na internet pesquisar este já está descartado. Achamos até candidatos que pesquisam na internet uma solução para aquele problema como se alguém que já fez aquela prova e postou em algum blog.

As dicas que estou oferecendo aqui assim como as outras já postadas por colegas podem fazer a diferença no momento de uma entrevista. Se você não sabe mostre no mínimo que tem vontade de aprender e que possui o conhecimento básico para buscar a solução. Um recrutador vai perceber se vc sabe o mínimo pra ocupar aquela posição. Firulas de qualquer linguagem de desenvolvimento são aprendidas com o tempo.

1 curtida

Peço que o colega veja meus comentários com clareza e não diminua ou acrescente nada além do que está explicitamente escrito

E não o fiz. Você mesmo declarou que foi professor universitário e que possui 16 anos de experiência.

Agora, não entendi porque você precisa disponibilizar uma máquina com internet para o candidato já que o mesmo estará eliminado se pesquisar algo. É alguma pegadinha?

Suponhamos que o teste para o seu candidato seja um CRUD em C#. Existem N formas de se fazer isso, seja se conectando ao banco de dados pelo Visual Studio e clicando e arrastando as tabelas para um Form (acho que aqui ninguém realmente precisa do google), seja escrevendo um código de acesso aos dados com ADO.Net puro ou Entity Framework. E se ele quiser usar alguma arquitetura? O modelo anêmico “arroz com feijão” (DTO, DAL, BLL) ou algo mais elaborado tendo a camada de domínio, aplicação, repositório injetando dependências? E se ele fizer tudo certinho mas não se lembrar como injetar uma dependência com Ninject ou como mapear uma tabela já existente no Entity Framework via código e der uma olhada na documentação ou no StackOverflow significa que ele estará sumariamente eliminado? E se ele ainda pesquisar no google em inglês, mostrando assim que tem conhecimentos intermediários numa segunda língua enquanto o carinha do “clica e arrasta” mal sabe português, isso não é importante pra você? Você trocaria esse cara por aquele que apenas se conectou ao banco de dados e apenas clicou e arrastou as tabelas no form?

Amigo, desculpa, mas ou você não lê direito ou está revoltado com algo e não está raciocinando direito. Se você ler com calma e carinho o que já escrevi vai entender e obter a resposta pra suas perguntas. Espero realmente que esteja empregado (neste caso, parabéns) e se não estiver desejo boa sorte. Na entrevista tenta se manter mais calmo e entender exatamente o que o recrutador te falou, não toma conclusões precipitadas ou vai perder uma boa vaga.

1 curtida

Eu estou empregado e satisfeito com minha colocação atual. E sequer estou irritado. Apenas trouxe um questionamento, já que estamos num ambiente para trocar ideias e discuti-las. Se você não quer/não sabe responder minhas perguntas, ok. Tem o direito de não dizer nada.

Eu falei:

Você entendeu assim?

[quote=“Julio_Murta, post:25, topic:321583”]
Agora, não entendi porque você precisa disponibilizar uma máquina com internet para o candidato já que o mesmo estará eliminado se pesquisar algo. É alguma pegadinha?
[/quote] Você entendeu isso mesmo?

1 curtida

O que você exatamente se refere com análise? O entendimento dos requisitos? A escolha da arquitetura? Dúvidas sobre a implementação da arquitetura escolhida?

Se for o primeiro o cara é no mínimo burro pois sequer sabe o que está fazendo. Se não entendeu os requisitos melhor perguntar para quem passou o teste.

Se for o segundo o comportamento é no mínimo inexperiente. Ele pode conhecer um leque de soluções, mas ainda não sabe muito bem em quais situações aquilo pode ser aplicado. De qualquer forma, é alguém que demonstra, no mínimo, interesse.

Se for o terceiro, aí voltamos para meu penúltimo comentário. Desde que seja um problema corriqueiro, eu não veria problema.

[quote=“Mrwin, post:22, topic:321583, full:true”]
Quando estou numa entrevista e converso com o candidato não tem Google lá amigão.[/quote]
Isso é um pensamento antigo, na real vai ter google. Mas respeito cada empresa ter sua visão de recrutamento, cabendo a ambos os lados escolher, não escolhendo o candidato por não responder na “la lata” questões, que são fora de um contexto prático. E do outro lado, o candidato não querer entrar na empresa por ela ter esta visão de não gostar de quem pesquisa muito no google.

Não sei por qual motivo muitos entenderam que é PROIBIDO USAR GOOGLE. A fala foi a seguinte:[quote=“Mrwin, post:22, topic:321583”]
Um candidato que não sabe sequer um hello world sem recorrer ao Google não me serve
[/quote][quote=“Mrwin, post:22, topic:321583”]
Esse é o mal desta geração que está saindo da faculdade. Não tem fundamento, não conhece conceitos. Se acostumou a buscar tudo no Google. Não conseguem pensar numa solução e dependem de achar um exemplo na internet pra tudo
[/quote]
Ninguém leu isso aqui??

Onde está escrito que a empresa não gosta de quem pesquisa no google?

Repito e espero ser entendido desta vez. Nós que fazemos seleção de candidatos procuramos pessoas que demonstrem saber resolver o problema que temos. Nesta hora não existe empresa filantrópica ou boazinha meus amigos, a empresa vai te contratar pra resolver um problema pra ela, se você não demonstra saber resolver ela vai atrás de quem saiba. E acreditem, está difícil demais encontrar profissionais razoáveis no mercado. Não pensem vocês que a vida de recrutador é fácil. Um dos problemas pra resolver no teste é o de obter uma lista e ordenar, simples demais, e pode usar (no caso) Java e suas várias APIs pra isso. Aparece gente que cria array de 1 a 1.000, outros que implementam algorítimo de ordenação ineficiente quando o sujeito poderia utilizar o java com as collections para ordenar. Outro exemplo? Lá vai, o problema diz que não deve haver dois registros (String) numa lista. Moleza pra quem conhece a interface Set e afins. Mas infelizmente a grande maioria só conhece ArrayList nem mesmo List como interface, vão direto em ArrayList como tipo de variável e por aí vão implementando os mais elaborados modelos para impedir que não hajam itens repetidos numa coleção.[quote=“Julio_Murta, post:29, topic:321583”]
Se for o primeiro o cara é no mínimo burro pois sequer sabe o que está fazendo. Se não entendeu os requisitos melhor perguntar para quem passou o teste
[/quote] Não posso classificar ninguém como você diz burro. Posso apenas pensar que ele não está qualificado para a vaga. Recomendo que procure se atualizar.

E pra que não restem dúvidas, durante o teste citado o CANDIDATO PODE SIM ACESSAR A INTERNET. O que vai ser cobrado dele é a habilidade em análise da resolução de problema. Se ele entendeu o problema e se usou solução compatível com o problema apresentado. Tudo dentro de um contexto que entendemos ser necessário para um profissional produzir na empresa, algo que entendemos que o profissional recém formado deveria conhecer.

Alguns profissionais de TI são bem irresponsável pq acreditam que podem fazer e desfazer software diferente de um engenheiro civil que não vai poder derrubar um prédio cada vez que precisar. Mas poucos pensam que seu software pode controlar um equipamento médico ou um sensor de algum automóvel ou ainda que sua rotina irá separar os medicamentos a serem ministrados a pacientes. Imagina trocar os prontuários dos pacientes? O sensor falhar e eliminar freios numa ladeira? Pensa errar um cálculo financeiro de diferença de centavos numa transação de milhões… e por aí vai.

Precisamos de profissionais melhores e cabe a nós sermos estes melhores. Não tem segredo, ESTUDEM, ESTUDEM e ESTUDEM. A oportunidade virá até você quando você se mostrar pronto para recebê-la.

1 curtida

É só não contratar um novato saindo da faculdade pra trabalhar no seu projeto médico ou automotivo que coloca vidas em risco.

O problema do empregadores de hoje é que eles querem se limitar a profissionais saindo da faculdade porque é uma mão de obra mais fácil de ser explorada. Ai quando descobrem que o cara não é nenhum donald knuth e precisa do Google, reclama que a vida é injusta.

Resumindo: quer contratar alguém que não recorre ao google? Pague o preço de mercado por alguém com real experiência no domínio ou STFU.

1 curtida

Pelo modo como você enfatizou provocou má impressão. A geração atual nasceu no google, então pega mal criticar isso.

Concordo com o que @pfk66 falou, pague por profissionais experientes para atender essas exigências. Se achar um recém formado safo, beleza, mas não desmoralize a maioria que vai entrar em processo de experiência.

Recém formados precisam se desenvolver dentro da empresa e não ser jogado isoladamente pra resolver problemas críticos de imediato. Deverá entrar num time com pessoas já experientes regendo o projeto, tendo que seguir um padrão de código já maduro, recebendo tarefas de acordo com seu nível atual e gradativamente tarefas mais avançadas conforme crescimento.

Tive uma péssima experiência há uns anos atrás com uma prova para uma vaga de programador Java. Na época eu nunca tinha trabalhado profissionalmente com Java, apenas visto alguns conceitos na faculdade e aplicado em alguns projetinhos bem básicos. Quando fiz a prova, com questões de múltipla escolha muito semelhantes às questões da prova de certificação, simplesmente errei quase todas e passei vergonha. Não tinha consulta a nada.

O que eu quero dizer é que não concordo com essa forma de prova e seleção de candidatos para programador. Eu já tinha anos de programação, mas não com Java, e fui mal nessa prova em específico. Porém isso não significa que eu não seria um bom programador Java ou que eu não ia dar conta de desenvolver meu trabalho.

A forma mais justa de avaliar um candidato seria essa (na minha opinião): avisar uns dias antes da prova quais conteúdos vão cair, assim ele consegue estudar antes da prova e não ser pego de surpresa como eu fui. Ainda mais se o recrutador sabe que a pessoa nunca trabalhou profissionalmente com a linguagem em questão. Ou pelo menos deixar algo para o candidato consultar, pode até ser um livro, apostila, ou por que não o próprio Google que é utilizado por 101% dos programadores?

Outra questão que me incomoda é o tanto de requisitos que as empresas/recrutadores pedem na hora de contratar um programador (principalmente para Java). Se o cara tem a lógica de programação, já trabalhou com alguma linguagem e participou ativamente em algum projeto, não é o fato de ele não saber determinado(s) framework(s) que vai torna-lo inapto para a vaga.

Falta bom senso para muitas empresas e recrutadores.

:slightly_smiling: fazia tempo que não respondia tanto aqui no GUJ, mas vamos lá. Espero que este post esteja servindo de apoio ao seu tópico principal. Só algumas colocações:[quote=“pfk66, post:32, topic:321583”]
É só não contratar um novato saindo da faculdade pra trabalhar no seu projeto médico ou automotivo que coloca vidas em risco
[/quote]Bem, o que desenvolvedor faz? software de padaria? Hello world? Então ele pode errar num software de contabilidade mas num médico não pode?[quote=“pfk66, post:32, topic:321583”]
Resumindo: quer contratar alguém que não recorre ao google? Pague o preço de mercado por alguém com real experiência no domínio ou STFU
[/quote]Acho que este não é o tópico aqui, não se falou em contratar mão de obra barata. Todo profissional deve ser valorizado. Acho que o recém formado deve estar preparado pra entrar em qualquer área de negócio, acho que não dá pra escolher. Certamente ninguém é maluco ou louco de entregar nas mãos de um inexperiente as funções mais críticas de qualquer software independente de área. E mais uma vez, :joy:**

ninguém é contra consulta na web

** :slightly_smiling:, mas você precisa saber pesquisar pra achar algo valioso.[quote=“javaflex, post:33, topic:321583”]
Pelo modo como você enfatizou provocou má impressão. A geração atual nasceu no google, então pega mal criticar isso.
[/quote]Mais uma vez, leiam com atenção e carinho. A observação foi feita explicitamente enfatizando a entrevista. Qual de vocês já pediu pra um entrevistador esperar a resposta pois você iria pesquisar no google? Ou melhor ainda, recebeu um problema com os requisitos e foi na internet pesquisar como fazer a análise e descobrir o que fazer com aquilo?[quote=“javaflex, post:33, topic:321583”]
Concordo com o que @pfk66 falou, pague por profissionais experientes para atender essas exigências
[/quote]Acho que foi respondido acima.[quote=“javaflex, post:33, topic:321583”]
mas não desmoralize a maioria que vai entrar em processo de experiência.
[/quote]Onde foi escrito isso? Em qual ponto ficou subentendido esta questão?[quote=“javaflex, post:33, topic:321583”]
Recém formados precisam se desenvolver dentro da empresa e não ser jogado isoladamente pra resolver problemas críticos de imediato.
[/quote]Estamos em pleno acordo, espero que mais uma vez nada tenha ficado subentendido.[quote=“jonas.cant, post:34, topic:321583”]
Tive uma péssima experiência há uns anos atrás com uma prova para uma vaga de programador Java. Na época eu nunca tinha trabalhado profissionalmente com Java, apenas visto alguns conceitos na faculdade e aplicado em alguns projetinhos bem básicos. Quando fiz a prova, com questões de múltipla escolha muito semelhantes às questões da prova de certificação, simplesmente errei quase todas e passei vergonha. Não tinha consulta a nada
[/quote]Lamento muito, eu também já fui vítima deste tipo de coisa. Fiz algumas certificações e a prova é bem cruel, ajuda bastante no crescimento do desenvolvedor mas eu jamais exigiria este tipo de conhecimento pra uma vaga.[quote=“jonas.cant, post:34, topic:321583”]
O que eu quero dizer é que não concordo com essa forma de prova e seleção de candidatos para programador. Eu já tinha anos de programação, mas não com Java, e fui mal nessa prova em específico. Porém isso não significa que eu não seria um bom programador Java ou que eu não ia dar conta de desenvolver meu trabalho.
[/quote]Concordamos, você leu o modelo de avaliação que normalmente empregamos? A prova é resolução de problemas em qualquer linguagem, citei java como exemplo.[quote=“jonas.cant, post:34, topic:321583”]
Ainda mais se o recrutador sabe que a pessoa nunca trabalhou profissionalmente com a linguagem em questão. Ou pelo menos deixar algo para o candidato consultar, pode até ser um livro, apostila, ou por que não o próprio Google que é utilizado por 101% dos programadores?
[/quote]

De novo, ninguém é contra pesquisa,

mas você tem que ter fundamento pra saber pelo menos o que pesquisar e onde pesquisar. Alguém aqui acha prudente receber um documento de requisitos e abrir o google pra pesquisar: “Como atender requisito de liberação de medicamentos”… O que no mínimo se espera é que o candidato entenda os requisitos, faça o design da solução, se for o caso projete este design num modelo que pode ou não ser UML (depende de cada empresa), no momento de implementar se ele tiver dúvidas de como fazer nada mais natural que consultar a maior biblioteca do mundo. :slightly_smiling:

Isso é normal pessoal e não há nada de degradante ou mal nisso, pelo contrário, pesquisando você pode achar uma maneira mais elegante ou até mais performática do que a forma que você pensou inicialmente

**

mas percebam que houve um trabalho de análise, design, crítica, entendimento, e isso tudo exige fundamentos, isso não se aprende com google. Você vai aprimorando o poder de análise com a intensidade, a experiência vai trazendo isso.

**

[quote=“jonas.cant, post:34, topic:321583”]
Outra questão que me incomoda é o tanto de requisitos que as empresas/recrutadores pedem na hora de contratar um programador (principalmente para Java).
[/quote] Isso é uma verdade. Infelizmente a maioria dos recrutadores , red hunters e afins não entende absolutamente nada sobre a área de análise e desenvolvimento. Ai é onde eu digo, eu já presenciei isso e já ouvi pessoalmente de um destes recrutadores. Quando uma empresa solicita pra eles um profissional Java por exemplo, alguns não fazem ideia do que um profissional destes faz e então sabem o eles que fazem? Vão no google e pesquisam sobre profissional Java pra saber qualificações, certificações, cursos etc… Daí montam um perfil que quase não existe e ta ai os perfís de verdadeiros mestres Jedis pra grande maioria das vezes pagar como um padawan :sweat_smile: É claro que existem empresas decentes que sabem muito bem fazer seleção. Mas não se pode reclamar da exigência, ela existe em todas as áreas, cabe a nós estarmos preparados.

De volta ao tópico, que pra mim já está bem recheado quero deixar bem claro uma regrinha de ouro na análise de requisitos. O que não está explicitamente escrito não pode ser considerado implicitamente entendido. Muitos comentários meus foram mal compreendidos e extrapolados para entendimentos que não foram explicitos. Trazendo isso para nosso mundo será que estas mesmas pessoas cometeriam o mesmo equívoco ao analisar um documento de requisitos? Partiriam para desenhar uma solução sem terem exatamente certeza do que leram? Ou disparam antes pra sair na frente torcendo pro tiro atingir o alvo correto? Por isso enfatizo, antes de disparar ou se precipitar leiam com carinho e sem qualquer pré entendimento ou pré julgamento. É um espaço democrático e que todos tem sua opinião respeitada desde que não tenham suas falas distorcidas.

Mais uma dica para os que estão entrando no mercado. Fiquem certos que a maior parte da análise feita numa entrevista não é com relação ao aspecto técnico do candidato mas sim ao seu comportamento. Já ví casos de pessoas tecnicamente inexperientes mas muito bons de tratar pessoalmente e que foram contratadas. Desde que o candidato tenha fundamentos e conheça o mínimo necessário o aspecto técnico pode ser trabalhado e aprimorado, pra isso existem tantos cursos e extensões no mercado.

Bom, espero que tudo isso ajude aqueles que estão entrando no mercado. Não tenham dúvidas que a sorte acompanha a competência, como já disse antes. Estudem, estudem e estudem, se diferenciar dos demais é algo valioso. Boa sorte e fiquem com Deus.

4 curtidas