Caso esteja lendo este artigo há poucas horas de fazer uma entrevista, sinto informar que não será de total utilidade. O objetivo aqui é lhe dar um entendimento de como o processo funciona em geral e, assim, dar-lhe a chance de se preparar adequadamente. Desenvolvedores com alguma experiência levarão pouco tempo para absorver as dicas, já os menos experientes precisarão de muito mais.

Sugiro fortemente a leitura do artigo Um guia para você conseguir um bom emprego como desenvolvedor de software como pré-requisito para este, caso não o tenha feito ainda. Evitarei repetir o que está ali, mas muitos pontos são correlatos.

Saiba tudo sobre a vaga

É um erro comparecer a uma entrevista sem informações sobre a vaga.

Claro, existem empresas que contratam desenvolvedores “genéricos” para vagas “genéricas”, ou que somente dão informações durante a própria entrevista. Eu fugiria disso, mas nem sempre estamos em boa posição. Neste caso, meu amigo, você precisa contar um pouco com a sorte. Sem informações exatas, resta preparar-se para os tipos de entrevistas e perguntas mais comuns. Trataremos disto mais adiante.

Idealmente, você deve perguntar ao seu contato com a empresa o máximo de detalhes possível. Por exemplo:

  1. Em qual projeto ou produto você vai trabalhar
  2. A plataforma de desenvolvimento (Java, .NET, Rails, PHP)
  3. Tecnologias utilizadas (Maven, JPA, JSF, Entity Framework, Linq, Heroku, Rails, jQuery, etc.)
  4. O processo de desenvolvimento (waterfall, agile)
  5. Horário e local de trabalho, viagens e outras políticas da empresa

Antes da entrevista você deve revisar alguns pontos centrais relacionados às tecnologias, principalmente as exigidas pela vaga e que você não lida há algum tempo, de forma a responder prontamente a perguntas sobre o tema. Dificilmente você será questionado diretamente ou profundamente sobre tecnologias que a empresa não usa.

Certamente seu desempenho será proporcional à sua experiência e ao quando você se dedicou até o momento, mas revisar sempre ajuda. Digo por experiência própria, pois a pior coisa é ser pego de surpresa e passar a impressão de que você não domina tanto um assunto que, na verdade, você poderia responder como um expert.

Atente para o perfil da vaga

Evite candidatar-se ou mesmo fazer entrevista para algo que esteja fora do seu perfil.

Caso não saiba programar, não tente uma vaga que exija experiência em programação. Eu garanto, você não vai conseguir dar um jeitinho. Também não tente um cargo de liderança se você não tiver experiência o suficiente. Não espere tornar-se gerente de projetos com poucos anos no mercado.

Não há uma regra absoluta quanto a isso, afinal existem pessoas que são realmente subutilizadas, mas se você tentar concorrer a uma vaga superior à sua função atual, pelo menos evite que o salto seja muito grande.

Após pesquisar um pouco sobre a vaga, determine se você tem experiência ou pelo menos vivência e conhecimentos suficientes para exercer a função. Assim você evita perder seu tempo e o tempo do entrevistador.

Talvez você ache que, uma vez participando da entrevista, eles podem lhe encaixar em um cargo menor. Em raras ocasiões isso pode até ocorrer, mas em geral, a impressão negativa que um candidato inadequado causa é pior.

Saiba tudo sobre o processo seletivo

Procure saber como é um fluxo do processo seletivo para a vaga e a duração de cada fase. Não tenha medo ou receio de questionar seu contato e até algum colega que já trabalhe na empresa sobre o processo seletivo.

Não somente é importante estar tecnicamente preparado, mas estar mentalmente preparado para os diferentes tipos de entrevista é essencial.

A maioria das empresas começa com uma entrevista com alguém do departamento Recursos Humanos, seguida de uma ou mais entrevistas técnicas com desenvolvedores e gerentes.

Quanto ao conteúdo, algumas incluem desafios de programação, testes de lógica, teste ou conversação em inglês e, pasmem, redação. Acredite, é aleatório e vai do gosto do recrutador.

Mais uma vez, evite surpresas. Algumas empresas dividem o processo em dias diferentes, outras vão fazer todo o processo todo de uma só vez. Às vezes isso depende da disponibilidade do pessoal. Esteja preparado.

Procure saber quantas e quais tipos de entrevistas você terá de fazer, a duração delas, quanto tempo o processo leva como um todo e quanto tempo você terá para se organizar caso passe na entrevista.

Algumas empresas demandam início imediato após sua aprovação, mesmo sendo contra a lei. Cuidado para não acabar numa situação ruim ou até levar prejuízo. Por exemplo, entenda que se você não cumprir o aviso prévio no trabalho atual, não apenas deixará de receber os dias, mas pagará multa por isso.

Saber sobre tempos e datas também é útil principalmente quando a mudança de emprego envolve também mudança para outra cidade, ou mesmo dentro da mesma cidade.

Não deixe para começar a pensar em tudo isso somente depois que receber uma oferta da empresa, pois em alguns casos a mudança pode se tornar inviável e será tarde demais para remediar. Em outras palavras: você pode perder a oportunidade por falta de atenção.

Saiba tudo sobre a empresa

Faça o que puder para saber como é a cultura da empresa e dos desenvolvedores que trabalham nela.

Diferentes empresas almejam contratar pessoas com diferentes qualidades. Algumas são bem exigentes na parte técnica, outras preferem focar na responsabilidade com o cliente e com o projeto, outras focam em ambos, outras em contratar a mão-de-obra mais barata possível. Isso pode variar de acordo com a vaga, então é uma pesquisa conjunta.

Porém, toda empresa tem um conjunto de valores dominantes, explícitos ou implícitos, com os quais você deve estar alinhado se quiser uma vaga lá.

Por exemplo, algumas empresas possuem sua gerência majoritariamente composta por líderes técnicos. Em geral, eles exigirão pessoas atualizadas com as últimas tendências e boas práticas tanto tecnologicamente como em processos ágeis. A vantagem é que os desenvolvedores são mais valorizados.

Em contrapartida, consultorias e empresas que atuam no segmento financeiro irão exigir um comportamento mais estrito, roupa social e conhecimentos específicos, mas não profundos, das tecnologias que eles utilizam.

Algumas empresas dão um valor muito grande a alguma habilidade específica, nem sempre relacionada à programação. Um exemplo é o Inglês. A GFT (onde trabalho na presente data) leva muito em consideração a proficiência em Inglês. Se for necessário escolher, empresas com projetos internacionais sempre optarão por um analista com Inglês fluente em comparação com outro candidato com competência técnica relativamente superior, mas que não tem Inglês.

Outro exemplo são empresas no segmento financeiro ou contábil. Elas preferem quem tem formação ou experiência em Estatística, Contabilidade ou no segmento bancário.

Mesmo que você não possua a formação ou experiência na área, procure pelo menos se informar um mínimo sobre o que a empresa faz e quais são seus clientes. Se não para a entrevista, isso lhe ajudará a entender como a empresa funciona e o que você deve esperar do trabalho.

Conhecer uma empresa é complicado. Comece pelo website, verifique se há relatos sobre ela na Internet. Pergunta a pessoas que trabalham e já trabalharam lá.

Independente do resultado da pesquisa, demonstrar aos entrevistadores que você fez sua “lição de casa” e sabe algo da empresa passa uma impressão bastante positiva. Um candidato que se prepara e sabe onde está indo será muito mais propenso a se adaptar bem do que alguém que age passivamente em relação ao processo.

Preparando o currículo

A melhor forma de fazer um currículo é um tema controverso. Tentarei lhe dar alguns princípios do ponto de vista de quem está lendo.

Não minta!!!

Antes de mais nada, não minta no seu currículo!

Algumas pessoas fazem isso para chamar a atenção e chegar até a entrevista, mas as consequências posteriores podem ser piores. Existem outras formas de chamar a atenção.

Em raras ocasiões você pode sair ileso, mas a pior coisa que pode acontecer é o entrevistador perceber que você mentiu. Se isso for colocado na sua avaliação, é reprovação na certa e possivelmente não haverá segunda chance.

Conversei com vários colegas sobre este artigo e 100% deles afirmaram ou pelo menos concordaram que mentir é a pior coisa que um candidato pode fazer.

Filtre o conteúdo adequado

Destaque suas principais habilidades. Eu certamente gostaria de saber o que você faz de melhor. Isso é verdade principalmente em empresas que possuem várias vagas e o entrevistador precisa identificar em qual delas você se encaixa melhor.

Liste as tecnologias que você domina. Muitas pessoas colocam uma lista infindável das tecnologias ou conhecimentos. Já cometi o erro de listar todas as tecnologias com que já trabalhei. Isso acaba sendo sujeita visual. Além disso o entrevistador vai acabar perguntando sobre algo que você não conhece bem. Destaque o que você conhece mais profundamente, isso lhe dará a vantagem de se mostrar mais seguro e experiente do que quando questionado sobre coisas que você não sabe tão bem.

Descreva suas experiências de trabalho, começando da mais recente, se possível com uma breve descrição dos projetos em que você trabalho, quais tecnologias eram usadas em cada projeto e o seu papel na equipe. Dessa forma é possível ver a sua evolução como desenvolvedor e saber com o que você tem experiência.

Vale também listar projetos pessoais, desde que tenha alguma relevância. Por exemplo, se você desenvolveu sozinho um sistema de controle de caixa para um mercadinho, isso pode ser um grande feito. Criar uma conta no blogger e configurar um template para um amigo, nem tanto.

Formação acadêmica é importante, principalmente faculdade, pós-graduação, mestrado. Curso técnico em desenvolvimento ajudaria a saber que você tem interesse em software desde cedo. Cursos como da Caelum, Global Code e outros, assim como certificações, ajudam a ver que você está estudando e evoluindo. Só não exagere. Mesmo que você goste de fazer todos os cursos online que vê pela frente, ninguém vai analisar uma página inteira de cursos e vai dar a impressão de que você faz só por fazer. Neste caso, filtro algo em torno dos 5 mais relevantes para aquela vaga.

Valem também links para projetos publicados na web, blog (se for da área), repositórios como o GitHub e até seu perfil no LinkedIn (se estiver atualizado).

Coisas que eu, como entrevistador, não gostaria de ver são:

  • Frases comuns artificiais
  • Muitos erros de português
  • Nomes de tecnologias escritas de forma errada, pois demonstra pouca familiaridade
  • Sua experiência juvenil trabalhando no McDonalds
  • Cor, Raça, Credo, Foto
  • Curso de Word, Excel e PowerPoint
  • Tipo sanguíneo

Você deve ter pego a ideia. 😉

Tamanho

O ideal seria que seu currículo não tivesse mais do que duas páginas.

É claro que algumas pessoas tem mais experiência do que as outras. Se for maior do que isso, que seja conteúdo relevante e não enrolação.

Em todo caso, reúna todas as informações importantes na primeira página. Deixa aquela sua lista imensa de cursos online para a última página, por exemplo.

Para o bem ou para o mal, tenho o hábito olho o currículo todo do entrevistado em detalhes antes e depois da entrevista, mas nem todos os entrevistadores tem tempo ou disposição para isso, dependendo da extensão do documento.

O que vestir

Pergunte. Algumas empresas não tem requisitos, outras possuem um dress code rígido, principalmente no segmento financeiro.

Nunca se vista desleixadamente, pois é horrível chegar num lugar bonito com gente arrumada e chamar a atenção por estar mal vestido. Mesmo em ambientes mais descontraídos, causar uma boa impressão inicial pode ajudar.

Só não exagere. Terno e gravata num dia de verão com 40 graus vai lhe fazer suar todo e pode ser pior do que uma roupa mais fresca.

Tome conta da sua identidade online

Cuidado com sua imagem na web. Particularmente, eu procuro evitar qualquer tipo de preconceito e creio que a maioria dos entrevistadores faz o mesmo. Mas se por acaso alguém descobrir que você publica todos os dias imagens passando a ideia de “odeio meu trabalho”, provavelmente isso vai manchar sua reputação.

Procure construir uma reputação online, ainda que minimalista, participando de fóruns, ajudando outras pessoas, compartilhando código, publicando artigos, etc.

Pode ser que não vejam isso, mas os melhores profissionais vão olhar e pode fazer uma diferença enorme.

Entrevista com o RH

Um ou mais funcionários do Recursos Humanos irão lhe entrevistar. É de praxe a não ser em empresas muito pequenas que não tem um setor de RH. Neste caso, pode ser até que o dono ou um dos sócios da empresa faça a entrevista pessoalmente.

Em geral, esta será a parte mais fácil, por assim dizer. Sua capacidade técnica não será testada. Você apenas precisa demonstrar, bem por cima, que tem o perfil de desenvolvedor e que é uma pessoa normal. Pessoas claramente sem nenhuma afinidade com computadores, que mentiram no currículo e alguns tipos de psicopatas sociais geralmente não passam desta fase. 😉

Apenas seja sincero e calmo. Você simplesmente está conhecendo um (possível) colega de trabalho. Psicólogos e recrutadores são pessoas normais e quase sempre tem boa vontade, acredite! Eles também são funcionários e conhecem os pontos positivos e negativos da empresa.

No caso de ser um sócio ou dono da empresa, aproveite para conhecê-lo e saber um pouco do que o espera no dia-a-dia.

Não tenha medo de fazer perguntas. Pessoas inseguras (como eu mesmo em várias ocasiões) ficam com receio de perguntar detalhes sobre a empresa, a vaga, benefícios, condições de trabalho, como se fosse algo secreto e só o entrevistador tivesse direito a saber coisas sobre você.

Profissionais experientes e seguros geralmente sabem o que querem. Eles acabam perguntando mais porque querem comparar o possível novo emprego com o atual e os anteriores. Mesmo que você só tenha trabalhado em uma empresa, há algumas coisas que você pode usar com critério. Vou esboçar algumas ideias:

  1. Benefícios oferecidos como plano de saúde e dental. É importante saber se há custo adicional, coparticipação, etc. Isso faz muita diferença na hora de comparar se o salário está bom ou não.
  2. Estacionamento ou vale transporte. Comece a pensar como vai se locomover até a empresa, estacionar e o custo envolvido em tudo isso.
  3. Alimentação. A empresa oferece vale refeição e/ou alimentação? Tem cozinha?
  4. Ambiente de trabalho. Você vai ter uma mesa própria? Vai trabalhar na própria empresa, em algum cliente? É permitido o uso de fones de ouvido?
  5. Equipamento. Vai usar notebook ou PC? Existe a possibilidade de ter um monitor extra?
  6. Internet. Quais são as políticas e restrições de uso? Há empresas que bloqueiam até o Google.
  7. Viagens. Há necessidade de viajar ou se deslocar dentro da cidade para clientes? Como isso funciona?
  8. Equipe. Você vai ter uma equipe fixa ou vai trabalhar em vários projetos ao mesmo tempo? Quem será o seu superior direto a quem deve reportar? Qual é a hierarquia da empresa?
  9. Horário de trabalho. A empresa permite flexibilidade de horário? Como funcionam o ponto e o banco de horas?
  10. Estudo. A empresa possui convênios com universidades e escolas caso você queira continuar estudando? Ela incentiva você a obter certificações?
  11. Comunidade local. A empresa é engajada com a comunidade local? Ela incentiva ou promove palestras e cursos nas faculdades e escolas locais?
  12. Plano de carreira. Qual é a perspectiva de crescimento? Há avaliação de desempenho? Com que frequência?

Dinâmica de grupo

Devido ao elevado número de candidatos, é prática comum nas empresas fazer a dinâmica de grupo. Isso significa avaliar vários candidatos de uma só vez e fazer uma pré-seleção daqueles que entrarão efetivamente para o processo seletivo.

Não vou entrar em detalhes sobre as origens e sobre a teoria das dinâmicas de grupo, até porque a maioria das pessoas que as conduzem não tem a menor ideia.

O importante aqui é se mostrar uma pessoa comunicativa e esclarecida.

Certa ocasião questionei um colega sobre qual era o critério dele para selecionar as pessoas durante uma dinâmica de grupo. Ele disse que não havia um critério objetivo e que o resultado dependia muito do andamento. Basicamente, ele colocava um tema controverso para ser discutido pelos participantes e analisava a reação. Candidatos sem opinião ou que tentavam se impor sobre os demais eram os primeiros desqualificados.

Num caso em específico, houve um rapaz que não deixa os outros falaram e colocava-se como a voz da razão. Ele foi o primeiro a ser desclassificado. Portanto, este tipo de entrevista filtra bem pessoas com distorções sociais que podem ser um empecilho ao ambiente de trabalho.

Testes genéricos

Em algum momento, testes de lógica e até redação podem ser aplicados.

Em geral, quem não colou na escola e na faculdade deve dar conta desta fase facilmente. Mas se você tem deficiências de escrita ou lógica, sugiro trabalhar isso de alguma forma. É algo que vai lhe marcar pelo resto da vida.

A escrita é fundamental para seu sucesso profissional, seja você um guru da programação ou totalmente sem experiência. O gerente, cliente ou colega mais compreensivo do mundo ficará com uma impressão negativa ao receber um e-mail cheio de erros ortográficos, algumas vezes incompreensível.

Minha sugestão é: leia livros de verdade. Nada de Harry Potter ou Turma da Mônica! E comece a prestar atenção no que você escreve. Colocar ponto de interrogação nas perguntas é um bom começo. 😀

Inglês

Teste de Inglês escrito

Em minha experiência o teste mais comum em entrevistas para TI é, de longe, o de Inglês. Muitas vezes você pode se deparar com três ou quatro perguntas, algumas de múltipla escolha, outras dissertativas. Em alguns casos uma redação.

Se você tem um mínimo de Inglês, revise algum material para reaquecer suas memórias e evitar perder tempo durante a entrevista. Minha sugestão é passar longe dos materiais de cursos e ler algumas páginas de um livro de verdade. Treinar um pouco a escrita também pode ajudar. Revise pelo menos as estruturas básicas de frases mais comuns.

Conversação em Inglês

Em vagas que exigem Inglês avançado ou fluente você provavelmente vai ter que fazer uma ou mais entrevistas conversando em Inglês. Mesmo quando não é uma exigência, você pode ser questionado sobre o seu nível de Inglês, pois dependendo disso a empresa pode lhe alocar em projetos nacionais ou internacionais. Estar preparado pode fazer uma grande diferença em sua carreira.

A conversação pode ser feita com alguém do RH ou com um técnico. Quanto à parte do RH, prepare-se para perguntar básicas sobre sua profissão, seu dia-a-dia, sua cidade, etc. A parte técnica cobrirei num tópico mais adiante.

Treine a audição e a fala como puder. Uma forma que algumas pessoas usam é assistir seriados como CSI Miami sem legenda, pois a estrutura das sentenças é relativamente mais clara e formal comparando com outros programas.

Para a fala, o que funcionou para mim foi ler livros em Inglês em voz alta, consultando sempre um dicionário com os fonemas ou algum dicionário online com áudio para conhecer a pronúncia das palavras “novas”.

A importância do Inglês

Como provavelmente você já deve ter ouvido até da sua avó, saber Inglês é muito importante hoje. Talvez você esteja cansado de ouvir isso, mas nunca precisou de verdade. De qualquer forma, tentarei lhe convencer de que vale a pena investir nisso. Você até pode viver normalmente sem conhecer esse idioma, mas talvez nunca imagine o que está perdendo.

Os principais fóruns de programação do mundo são em Inglês. Embora tenhamos aqui o Stack Overflow em Português, você está perdendo de interagir (ainda que virtualmente) com muitos dos melhores desenvolvedores ao redor do mundo.

Além disso, há um mundo de informações lá fora que não chega até nosso idioma ou demora muito, e quando chega é resumido ou mal traduzido. Novas tecnologias, linguagens e livros são quase sempre publicadas em Inglês. É preciso surgir interesse de uma comunidade inteira ou demanda de mercado para uma empresa alguém dar início à tradução.

No mínimo, você poderia estar assistindo a palestras e aulas gratuitas no YouTube para se aperfeiçoar e conhecer o que os outros estão fazendo nas melhores empresas. Google, Facebook, Amazon e outras grandes empresas possuem conferências onde falam sobre assuntos técnicos e como funciona sua infraestrutura. Você poderia estar recebendo informação diretamente da fonte e aprendendo com os melhores do mundo.

Não ter Inglês para conversação pode fazer você perder grandes oportunidades. Um dos exemplos mais gritantes são as viagens internacionais. A empresa onde trabalho já enviou dezenas e dezenas de pessoas para projetos em toda a Europa, África do Sul e Estados Unidos. Muitos colegas que nunca haviam tido tal experiência, mas que estudaram e aprenderam Inglês suficiente, conseguiram aproveitar tais oportunidades. Você nunca sabe quando vai surgir algo assim para você.

Entrevista técnica

A entrevista técnica pode ser feita de várias formas e geralmente depende da cultura da empresa ou, no caso de empresas pequenas, do gerente ou dono.

Vou lhe apresentar algumas das mais comuns nos próximos tópicos.

Bate-papo técnico

O modelo mais comum de entrevista técnica que vejo consiste num bate-papo sobre o background e a experiência do entrevistado.

É importante você se preparar para explicar em detalhes os projetos em que já trabalhou, principalmente o atual e o anterior, qual foi o seu papel em cada um deles, quais tecnologias utilizou e o máximo de detalhes sobre o uso dessas tecnologias.

Tome muito cuidado ao dizer que conhece algo se você não conhece de verdade. Se você trabalhou em um projeto com JSF, mas nunca usou a tecnologia diretamente, não coloque no currículo. Simples assim. Se usou a tecnologia superficialmente, apenas seguindo instruções dos colegas, deixe isso claro. Enfim, evite uma impressão negativa. É melhor surpreender o entrevistador do que decepcioná-lo.

Destaque no seu currículo e durante a entrevista as tecnologias que você domina e tem mais familiaridade. Dessa forma, o entrevistador será mais propenso a fazer perguntas para as quais você sabe a resposta. Parece óbvio, mas dificilmente vejo um currículo que realmente reflete o conhecimento do profissional.

É importantíssimo entender que o objetivo do entrevistador ao fazer perguntas é explorar os seus conhecimentos sobre tecnologia. É comum você ficar nervoso como se estivesse num tipo de prova. Esqueça isso, você não está na diante daquele professor onde só há uma resposta certa e outra errada.

Por exemplo, uma pergunta muito comum que fazemos é algo como:

Você já trabalhou com SOAP ou REST? Pode me dizer quais seriam as vantagens e desvantagens de cada um?

Dependendo do nível da resposta é possível saber não só o quanto a pessoa conhece essas tecnologias, mas ter uma compreensão geral da profundidade e maturidade do candidato. Note que essa pergunta pode ser feita com qualquer coisa:

Você já trabalhou com JDBC ou JPA? Pode me dizer quais seriam as vantagens e desvantagens de cada um?

Você já trabalhou com Struts ou Spring MVC? Pode me dizer quais seriam as vantagens e desvantagens de cada um?

Você já trabalhou com jQuery ou JavaScript puro? Pode me dizer quais seriam as vantagens e desvantagens de cada um?

Para responder bem a uma pergunta dessas, limite-se ao que você sabe. O que não souber, deixe isso claro. Em nenhuma hipótese invente algo ou afirme que uma das duas opções é absolutamente superior à outra. Reconhecer os próprios limites é uma virtude.

Certa vez, ao ser questionado sobre porque nunca havia usado JDBC, um candidato respondeu que era uma tecnologia ultrapassada. Isso foi pior, muito pior, do que dizer “não sei”, “não gosto”, “não tive a chance”, “não precisei”, etc. Na verdade, ele demonstrou um conhecimento superficial sobre o assunto.

Outro ponto importante é não ter medo de dizer que você não conhece algo ou não sabe responder a uma pergunta. Simplesmente diga que você não teve a oportunidade de trabalhar com determinada coisa.

Outro erro comum, principalmente dos mais inexperientes, é dizer que tem o conhecimento acadêmico ou simplesmente que “já viu isso na faculdade”. Só para reforçar: jogue fora essa mentalidade do MEC! Diplomas, cursos e aulas não valem de nada se você não aprendeu a fazer algo útil. Ao invés de dizer “vi isso na disciplina X”, explique o que você realmente fez naquela disciplina.

Por exemplo, durante faculdade desenvolvi um módulo de um ERP web em PHP para uma disciplina específica. Mesmo não sendo uma experiência dentro do mercado, é muito melhor mencionar isso do que dizer “tive aulas de estrutura de dados na linguagem X”.

É claro que estou assumindo até aqui que você realmente executou esses trabalhos. Lembre-se de que projetos não terminados, ou que ficaram na mão de seus colegas e você só “participou” não contam em nada. A realidade pode ser cruel para quem achou que bastaria o diploma e o sucesso seguiria facilmente.

Algo que pode ajudar bastante é conversar sobre tecnologia com seus colegas, dar treinamentos para estagiários ou até aulas em cursos técnicos. Conheço excelentes profissionais, mas que tem muita dificuldade em expressar o conhecimento de forma organizada. Também tenho essa dificuldade, mas desde que comecei a me dedicar a organizar aulas, apostilas e palestras, além de explicar conceitos para os colegas, melhorei imensamente.

Desafio de programação

Outro tipo de entrevista técnica consiste num desafio de programação. Isso significa, em geral, usar lápis e papel ou até uma lousa para codificar uma solução para um problema simples.

Bons programadores não devem ficar presos a uma IDE. Se você nunca programou assim, repense sua carreira!

Além disso, bons programadores geralmente já programaram bastante o suficiente de forma que a sintaxe é algo natural para eles, assim como o Português. Ok, é isso é um pouco de exagero. 😉

De qualquer forma, é importante às vezes tentar fazer esse tipo de desafio. Escrever código, embora seja muito mais lento do que usar um teclado e uma IDE, o ajudará a pensar melhor sobre o que você escreve, afinal um erro significa apagar com borracha e refazer.

Os problemas a serem resolvidos podem ser diversos. Podem pedir que você implemente um algoritmo de ordenação qualquer, por exemplo.

Quase sempre você é livre para usar a linguagem que desejar, até pseudo-código, desde que resolva o problema.

Uma forma de treinar seu músculo mental solucionador de algoritmos é através de alguns sites que possuem desafios de programação. Um exemplo é o Code Chef. Você pode entrar em uma série de desafios, escolher a linguagem e testar sua solução. Ele vai lhe avisar se a solução está certa ou errada, você pode olhar as soluções já postadas e há um ranking para você comparar o desempenho da sua solução.

Do meu ponto de vista, poucas empresas aplicam corretamente o desafio de programação. Eu o considero um critério muito importante. Ver outro programando revela a sua intimidade com o código e como ele desenvolve o raciocínio. Pena isso não ser tão comum, de forma que muitos ficam assustados diante de tal desafio.

É bom lembrar que a dificuldade do desafio de programação varia conforme a exigência da empresa. Empresas como Google, Amazon e Facebook são conhecidas por exigir que você crie algoritmos que sejam soluções perfeitas e, ainda por cima, faça a análise da complexidade de tempo e espaço da solução. Se você não tem ideia do que isso significa, pesquise bem antes de sequer pensar em entrar para uma empresa desse porte.

Desafio de design

Outro tipo de desafio é sobre design orientado a objetos. O entrevistador pode pedir para você modelar algo usando UML, porém não exigindo uma sintaxe estrita.

Um exemplo comum deste tipo de entrevista é pedir para você modelar um cliente de e-mail. Outro é você criar uma hierarquia de classes, por exemplo, usando meios de transporte.

Este tipo de entrevista não é tão comum no Brasil, portanto você só vai precisar se preocupar com isso se estiver tentando algumas das empresas mais difíceis.

Além dos conceitos de Orientação a Objetos e UML básica, os requisitos para este tipo de entrevista são domínio de design patterns (Padrões de Projetos), alguma vivência em modelagem (acredite, experiência faz diferença nas decisões que você toma) e uma boa pitada de criatividade.

Entrevista técnica em Inglês

Não há nada possível de ser feito para aprender Inglês em poucas horas ou dias. No entanto, você pode se preparar para uma conversa técnica lendo algum material em Inglês sobre as tecnologias que você mais conhece.

A entrevista em Inglês pode consistir apenas num trecho da entrevista técnica normal. Neste caso, o entrevistador vai lhe perguntar se você está confortável para falar Inglês e, se você concordar, vai chavear a língua e lhe fazer alguma das perguntas planejadas.

Numa entrevista que fiz, o entrevistador pediu para eu explicar a arquitetura de uma aplicação que havia criado no emprego anterior.

O importante não é ter pronúncia ou gramática perfeitas. Em geral, é aceitável se você conseguir comunicar suas ideias com clareza. Se não lembrar alguma palavra ou termo, não tenha medo de perguntar ou usar analogias para se expressar, sempre em Inglês, é claro.

Entrevista com um gerente ou líder

Dependendo da estrutura da empresa, é comum ter uma entrevista com um gerente ou líder de equipe, o qual pode ou não ter um background técnico.

Neste tipo de entrevista, provavelmente não haverá um aprofundamento na parte técnica, mas o entrevistador vai procurar saber como você lida com situações difíceis, pressão, como organiza seu dia-a-dia, etc.

Para um gerente ou líder, você deve demonstrar pró-atividade, capacidade de resolver problemas e correr atrás do que for necessário.

Como já disse em outro artigo, o gerente ou líder está preocupado em contratar alguém que vai aliviar o trabalho da equipe a não acrescentar mais. Você deve ser alguém que vai contribuir e não atrapalhar, somar e não subtrair, resolver problemas e não causá-los.

Faça anotações das situações mais complicadas por que já passou e avalie como você enfrentou essa situação e o que poderia ter feito de melhor. Esta análise vai ajudá-lo não só na entrevista como pessoa, afinal encarar fracassos passados e sentir vergonha de como você agiu de forma imatura é o primeiro passo para o amadurecimento profissional.

Perguntas ao entrevistador técnico

Durante o bate-papo, você também pode e deve fazer perguntas. Algumas que eu faria são:

  1. Qual é a função do entrevistador (caso ele não tenha se apresentado). Ele é um gerente, desenvolvedor, líder?
  2. Como é o processo de desenvolvimento. Usam Scrum, RUP? Se responderem algo como CMMI ou MPS.BR você já pode esperar que eles vão ter muita burocracia e não realmente um processo de desenvolvimento de software.
  3. Integração Contínua. Eles tem algum nível de automação no desenvolvimento?
  4. Testes. Eles costumam fazer testes unitários ou de integração? Tem algum nível de automação dos testes?
  5. Carreira. Como os desenvolvedores são avaliados? Há plano de carreira?
  6. Equipe. Qual a composição e os papeis comuns nas equipes? Existem DBAs, Scrum Masters, arquitetos? Como é a divisão de atividades?
  7. Ferramentas. Quais as ferramentas estão à disposição dos desenvolvedores? Há flexibilidade para adoção de novas ferramentas?
  8. Tecnologias. Quem define como é a arquitetura dos projetos? Há um padrão da empresa, do cliente ou as equipes tem liberdade de usar as tecnologias mais adequadas em cada projeto?

Algumas perguntas podem ser até repetidas em diferentes entrevistas. Você talvez tenha notado que coloquei perguntas muito semelhantes às da outra lista. Isso possibilita ter visões distintas sobre a empresa.

O quanto falar

Durante a entrevista técnica, seja com um desenvolvedor ou gerente, você deve tentar prestar atenção no quanto você fala. Ao responder as perguntas, não fale de menos, respondendo apenas “sim” ou “não” ou “conheço” ou “ouvi falar”.

Lembre-se de que você não está fazendo o vestibular e para passar deve preencher a bolinha correta. O entrevistador tem o objetivo de identificar seus conhecimentos, a profundidade deles, pontos fortes e fracos.

Ao ser questionado sobre qualquer tecnologia, procure ir sempre direto ao assunto, mas mostre que você sabe do que está falando.

Por exemplo, na pergunta que citei anteriormente sobre SOAP e REST, um comentário significativo seria o seguinte:

Mensagens REST em formato JSON em geral são mais leves em relação ao protocolo SOAP, pois este acrescenta o overhead das tags XML que não fazem parte da mensagem principal.

O parágrafo acima demonstra proficiência nas duas tecnologias sem a necessidade de explicar cada uma delas detalhadamente.

Cuidado com a desorganização

Às vezes pensamos que o processo seletivo é algo de outro mundo, totalmente perfeito e organizado. Ficamos até com receio de cobrar nosso contato na empresa em caso de demora, pois sempre achamos que o problema é com a gente.

Pelo contrário, é comum haver de falhas de comunicação ou até outros imprevistos. Muitos funcionários de RH estão sobrecarregados e podem cometer erros. Eles podem esquecer de algumas coisas.

Não sinta-se acanhado em fazer perguntas e questionar sobre o andamento do processo. Se eles souberem vão lhe responder. Também não tenha medo de cobrar uma resposta, principalmente se você tem necessidade disso, como no caso onde está escolhendo entre dois empregos ou precisa pensar numa mudança para longe.

Mantenha a calma

Em minhas “pesquisas”, estar calmo durante a entrevista é a segunda coisa mais importante, atrás apenas de não mentir.

É difícil dizer algo que vá realmente lhe acalmar, afinal eu também costumo ficar bastante nervoso em entrevistas, mas darei algumas dicas que podem ajudar, algumas repetidas dos tópicos anteriores:

  1. Esteja preparado. Saber que tipo de entrevista, quais tipos de perguntas e o que lhe espera em cada passo ajuda a não ser pego de surpresa e, portanto, a não perder a calma.
  2. Leia sobre o assunto. Ok, você já está fazendo isso agora, não é? Ler sobre experiências de outras pessoas e estabelecer expectativas ajuda. É mais uma forma de descarregar as preocupações da mente e evitar surpresas.
  3. Converse sobre o assunto. Fale com amigos que já passaram por isso, compartilhe suas expectativas e receios. Só cuidado com os “amigos da onça”.
  4. Entenda que você está lidando com humanos. Um problema muito comum é acharmos que o entrevistador é um tipo de deus. Há alguns anos eu mesmo pensava que os entrevistadores eram as pessoas mais inteligentes do mundo, que conheciam todas as tecnologias e sabiam de tudo, afinal a responsabilidade delas é imensa. Embora alguns entrevistadores sejam bons profissionais, eles também são pessoas como eu e você. Entenda que ele não está lá para encontrar seus defeitos, mas suas qualidades.

É irônico que muitas vezes temos bastante facilidade para conversar sobre tecnologia e trabalho com nossos colegas e emperramos diante de um entrevistador. Então, minha técnica predileta é pensar que o entrevistador é só mais um colega de empresa e estou explicando a ele sobre aquele tópico.

Não confunda as coisas

É obrigação do entrevistador ser amigável. Mas sorrir ou balançar a cabeça em concordância com você não significa que a vaga está garantida.

Lembre-se de que o entrevistador não está lá para lhe ensinar ou entrar em debates técnicos. Em determinadas ocasiões, o entrevistador pode lhe apontar algo que você fez de errado, principalmente se você demonstrar um espírito humilde.

Mas se você for do tipo que tem certeza sem estar certo e falar uma besteira muito grande, ele pode dizer “ok” e ir para a próxima pergunta.

Enfim, cuidado para não achar que foi uma entrevista excelente porque o entrevistador não apontou nenhum erro.

Conclusões

Como você já deve ter percebido, este pequeno guia é apenas um breve apanhado de como funcionam os processos seletivos para empregos de desenvolvimento de software que envolvem programação. O objetivo é torná-lo familiar a você, desmistificá-lo, pois quando entendemos como algo funciona é mais fácil perder o medo.

Escrevi isso após bastante reflexão sobre a minha própria carreira, algumas experiências entrevistando candidatos, ministrando cursos e aulas, além de conversas com outros colegas até mais experientes do que eu. Espero que seja útil de alguma forma.

Se você não leu ou não entendeu nada do que está acima, fique com uma coisa:

Conhecer a si mesmo, identificar os próprios defeitos e limitações, refletir sobre como melhorar e estar sempre tomando pequenas atitudes para evoluir como pessoa e como profissional são a regra certa de sucesso.

Sinta-se à vontade para compartilhar suas experiências nos comentários deste blog. Elas podem ajudar outros desenvolvedores! 😀