O dia a dia de um Back-end na Zup

24/9/2019
Malu Araujo
Malu Araujo
Analista de Conteúdo

Apaixonada por conteúdo, café, bons livros e doguinhos.

Está sem tempo para ler? Aperte o play para escutar o artigo.

Sempre quis saber o que faz e do que se alimenta um back-end? Quais desafios enfrentam e como é sua rotina? 

Antes de te contar isso, é importante lembrar que as principais atividades de um profissional da área e os desafios que enfrenta pode ser bem diferente de uma empresa para outra. O projeto em que está envolvido, sua senioridade, até mesmo a própria equipe, dita bastante seu dia a dia.

Quer saber o que faz um back-end na Zup? Então chega mais! 

Batemos um papo com o Bruno Moreira, nosso Senior Back-end Developer desde Janeiro de 2019. Ninguém melhor para explicar o que faz e como vive um back-end por aqui. 

bruno moreira


Bruno, como você explicaria para sua avó o que faz um back-end?

A principal atividade de um dev back-end é o desenvolvimento das funcionalidades de um sistema.

Enquanto o front-end cria as telas/camada visual, o back-end dá as devidas ações à “casca”, ou seja, acessar um banco de dados para obter informações, ir até outros sistemas para realizar alguma tarefa, dar ação àquele botão “Entrar” naquela tela de login. 

É também meu papel acompanhar as reuniões do projeto em que estamos trabalhando para compreender melhor o que deve ser desenvolvido, onde será “encaixada” a peça a qual estará desenvolvendo, tirar dúvidas, dar sugestões/opções ao cliente e por aí vai. 

Agora me conta um pouco como é a sua rotina de atividades.

Eu participo de reuniões de refinamento técnico, pego alguma tarefa que está no backlog da sprint (considerando um contexto ágil), faço o entendimento da tarefa (quando necessário, tiro dúvidas com o tech lead ou diretamente com o cliente) e depois é hora de desenvolver de fato a tarefa. 

Vou te dar alguns exemplos: validação de email para ser “encaixada” numa tela de cadastro, realizar testes unitários e integrados (para garantir a qualidade do código), versionar o que está sendo desenvolvido (subir o código em um repositório de código-fontes, como por exemplo Git), realizar revisão de código (normalmente os mais maduros/sêniores fazem dos mais novatos - ou o tech lead faz de todos do time),  implantar o que foi desenvolvido nos ambientes previstos (por exemplo: ambientes de desenvolvimento, homologação e/ou produção).

E quais ferramentas você usa todos os dias? 

- IDE (pode ser Eclipse, Visual Studio Code, IntelliJ)

- Alguma ferramenta de versionamento (geralmente Git, mas pode ser TFS, SVN)

- Notepad++ (ou algum outro editor de texto para vários tipos de extensão de arquivos)

- Postman e SoapUI

- E, não menos importante: Google 😹

O que você mais gosta de fazer e o que mais odeia?

Eu curto muito realizar tarefas que irão facilitar o trabalho de todo o time, como por exemplo: criar peças genéricas que possam ser reutilizadas em diversas partes do sistema, ajudar alguém que esteja com dificuldades  (pois quem ensina aprende duas vezes! :D ), de simplificar tarefas complexas e automação de tarefas repetitivas.

E o que menos gosto é quando alguém cria um gargalo desnecessário na etapa de revisão/qualidade de código e fica constantemente implicando com alguma coisa que pode ser feita de N maneiras. 

Um exemplo: na escola, quando estamos aprendendo matemática, podemos realizar algumas operações de diversas maneiras e, no final, dará o mesmo resultado. Desenvolvimento é isso também: existem N formas de resolver o mesmo problema, algumas mais sofisticadas, outras mais simples e sempre opto pelo mais simples, pois não sabemos o nível de maturidade das pessoas que passarão pelo projeto. 

Então, quanto mais simples, melhor. Dessa maneira, juniores também poderão manter o código de forma fácil. Como diz Kent Beck, o pai da programação extrema: Faça a coisa mais simples possível.

E como diz o Martin Fowler, um engenheiro de software britânico: Qualquer tolo pode escrever código que um computador possa entender. Bons programadores escrevem código que os humanos podem entender.

Excelente! Agora pensando no seu dia a dia, o quanto você usa de hard x soft skill?

Hard skills usamos durante a maior parte do tempo, porém, as soft skills são extremamente necessárias, ainda mais por ter que lidar com outras pessoas, pressão e prazos. Varia muito de pessoa pra pessoa e, acredito que ter forte sinergia/balanço entre o hard e o soft lhe proporciona visibilidade e respeito dentro da empresa.

E qual o sentimento de terminar uma sprint? 

Muita satisfação! Ver que todo o time se comprometeu e conseguiu cumprir as exigências e prazos estipulados, é muito bacana! Principalmente quando há o reconhecimento por parte da liderança. Dá ainda mais energia para a próxima fase.

O que te irrita no trabalho?

Acho que o que mais me irrita no trabalho é lidar com pessoas que são muito relutantes à mudança/adaptação, pessoas pessimistas e que acabam deixando de desenvolver um trabalho por algum tipo de bloqueio (o que acaba comprometendo outros membros do time e, muitas vezes, o próprio projeto), ficarem  em cima de mim o tempo todo quando já sei o que tem que ser entregue. 

Qual atividade te toma mais tempo?

Normalmente, quando uma estória é escrita muito mal (muito genérica, sem muita definição), o entendimento dela requer tempo e muita paciência, pois a necessidade de acompanhamento junto de um PO ou analista funcional se torna obrigatória. 

Se isto for bem filtrado pelo Tech Lead, normalmente o que chega ao desenvolvedor é muito mais conciso, técnico e objetivo.

Então, o que acaba tomando mais tempo varia da complexidade do que está sendo desenvolvido, mas muitas vezes pode ser ir pelo caminho do TDD (Test Driven Development), onde escrevemos o código de testes antes da implementação do que irá compor o produto/sistema.

Quando você sabe que fez um bom trabalho? Aquela sensação de dever cumprido.. 

Embora seja algo subjetivo e totalmente relativo, conforme você vai adquirindo mais experiência e maturidade, você pode desenvolver esse feeling de saber quando tudo deu muito bom! 

Porém, nada melhor do que quando há reconhecimento/feedbacks positivos ou construtivos vindos de outros colegas, dos líderes e/ou do próprio cliente!

Qual dica valiosa você gostaria de ter ganhado no começo da carreira? Compartilha aí com quem vos lê.

- Aprenda de diversas fontes (confiáveis).

- Apesar de qualquer ambiente de trabalho, tente sugar ao máximo o conhecimento que pessoas mais sêniores que você possa te dar (mas não acredite/aceite tudo cegamente. Saiba identificar se aquele conhecimento/dica também serve para você).

- Nunca fique em emprego algum por comodismo! Isso pode ser péssimo a médio e longo prazo.

Vagas para desenvolvedor back-end

Quer trabalhar com o Bruno e mais um monte de gente legal da área? Veja aqui todas as nossas vagas. 

Newsletter semanal sobre desenvolvimento e carreira

Quer receber toda semana conteúdos como esse e os mais recentes produzidos pela nossa equipe especialista? Então assina aqui nossa newsletter.

O que você achou deste conteúdo?
Quer receber nossos conteúdos?
Seu cadastro foi efetuado com sucesso! Enviaremos as novidades no seu email.
Oops! Something went wrong while submitting the form.