Este texto foi escrito por Jaqueline Duque e Marcela Porto, ambas Engenheiras de Software



Um dos nossos valores no Nubank é “construir equipes fortes e diversificadas”. Isso é refletido em tudo que fazemos, começando no nosso processo de recrutamento. Ele foi desenvolvido não apenas para encontrarmos os mais talentosos, mas também pode ser uma ótima experiência para os candidatos.

Para quem se candidata a uma posição no campo da engenharia de software, em muitos casos a primeira etapa é um exercício técnico realizado nas plataformas de contratação. Dê uma olhada em como esses exercícios são avaliados e confira algumas dicas para se sair bem nos testes.

Como avaliamos exercícios técnicos de Engenharia de Software durante o recrutamento

Aqui no Nubank, além de avaliarmos sua proficiência em códigos, analisamos sua lógica de programação e capacidade de entender e desenvolver a estrutura de dados do problema. 

Por isso, no exercício apresentamos tanto as estruturas de dados de entrada quanto os resultados esperados. O que você deve mostrar aos avaliadores é a evolução dessas estruturas usando lógica de programação. A sintaxe e a linguagem escolhida são meras ferramentas para isso, tanto que deixaremos você escolher a linguagem com a qual se sinta mais confortável. 

É importante garantir que seu código esteja limpo, organizado, legível e não adicione mais complexidade que o necessário.

Conheça nossas oportunidades

Quais são as principais dicas para solucionar um exercício técnico de algoritmo?

Há muitas boas práticas que poderiam te ajudar, mas as principais são: 

1. Desenvolva uma solução baseada em lógica de programação sem que sua linguagem escolhida atrapalhe

Antes de começar a codificar, tente criar um pseudocódigo no qual você avaliará tudo que deve fazer para que as entradas evoluam para o estado esperado. Essa técnica ajudará você a organizar suas ideias, garantindo que você preste atenção a todos os requisitos e guiando você pela lógica de programação que deve ser implementada.

2. Evite comentar e explicar demais seu processo de raciocínio

Os exercícios com algoritmo oferecidos em plataformas on-line normalmente não oferecem um local para descrever decisões técnicas. Portanto, não é esperado que você explique seu processo de raciocínio ou o que faz cada parte do código. Seu código deve falar por si só, então comentários com esse tipo de descrição devem ser evitados. 

Explicações detalhadas para sua solução ou quaisquer outras soluções que não tenham funcionado, os motivos de um caso específico não ser contemplado na sua solução etc., são exemplos de comentários que não contribuem com a avaliação nesse contexto.

3. Mantenha variáveis temporárias e funções com bons nomes

Usar nomes descritivos ajuda muito com a legibilidade. Desta forma, lendo o nome de uma variável, é possível entender o tipo de informação relacionada, o que evita a necessidade de ler um grande bloco apenas para entender seu propósito.

 Exemplo: para uma variável de metro, o nome “avaliacao_contagem” é melhor que “a”, porque descreve seu propósito. O mesmo vale para funções: o nome deve refletir sua responsabilidade.

4. Funções devem ter responsabilidades bem definidas

Falando em funções, elas devem ter responsabilidades bem definidas. Quando uma função tem responsabilidades demais, fica muito difícil entender o processo. Uma solução para isso é “dividir” a grande função em funções menores com responsabilidades bem definidas.

5. Não crie interfaces de interação

Especialmente para problemas da HackerRank, você não precisa criar uma interface de interação. Não se preocupe com isso e não invista seu tempo nisso.

6. Remova códigos não utilizados

Remova qualquer código morto. Exemplos: capturas de tela, tentativas que não deram certo, variáveis e funções não utilizadas. Também avaliamos o quão limpa e organizada sua solução é, então remover códigos mortos é um jeito fácil de garantir que sua solução cumpra esses requisitos.

7. Evite importar bibliotecas

Importar bibliotecas além daquelas que vêm com o exercício pode não ajudar, porque encurtam um caminho que esperamos ver na sua lógica de programação.

Ao importar bibliotecas, há um grande risco de que os avaliadores não estejam familiarizados com as utilizadas, então você não demonstrará seu conhecimento e o avaliador não poderá avaliá-lo.

8. Valide a solução

No final, respire fundo, leia os exercícios de novo e confira se cumpre todos os requisitos.

O supracitado é apenas uma série de dicas para ajudar você durante a avaliação, mas lembre-se: em todos os processos de recrutamento, a parte mais importante é se sentir confiante de que consegue demonstrar totalmente suas habilidades.

Conheça nossas oportunidades