DEV Community

loading...
Cover image for Como iniciar uma tarefa sendo dev júnior
Feministech

Como iniciar uma tarefa sendo dev júnior

Fabrícia Diniz
I am a self-taught developer. I love the challenges that programming brings and that motivates me to always study and become a better developer.
・5 min read

TL-DR:

Nesse artigo eu falo sobre estratégias que eu uso para navegar de maneira eficiente pelas minhas tarefas no trabalho sendo uma desenvolvedora júnior (que tem TDAH).
Etapas abordadas:


Basicamente, existem 3 tipos de estratégias que eu uso na hora de fazer uma tarefa: as aplicadas para reduzir a dificuldade de começar, as aplicadas durante o desenvolvimento para facilitar a cadência e as aplicadas ao finalizar a tarefa visando reduzir os erros que passarão para code review. Para ajudar no entendimento, vou usar uma tarefa que eu fiz a alguns meses, uma modal em React.
Tenho que deixar avisado que essas coisas vão melhorar a sua performance no médio prazo, mas a curto prazo pode parecer que você está fazendo as coisas mais devagar do que gostaria. Eu sugiro conversar com a sua liderança para alinhar esse tipo de expectativa.

Antes de iniciar uma tarefa

Antes de iniciar qualquer tarefa eu gosto de entender o código que eu vou trabalhar, então eu procuro os componentes envolvidos na tarefa e os leio, anotando num caderno o que cada um faz, de onde os dados vêm e o que as suas funções internas fazem. Dessa forma eu consigo ter um entendimento mais profundo do que eu estarei mexendo e evito que essa informação fique só na minha cabeça (que não é nem um pouco confiável), além de ter um local para recorrer caso seja preciso voltar a trabalhar nos mesmos componentes.

Você pode até argumentar que fazendo dessa forma se "gasta" muito tempo da tarefa, mas eu garanto que isso facilita o desenvolvimento e reduz o tempo passado procurando bugs depois. Da perspectiva de uma pessoa júnior, você ganha domínio do código bem mais rápido e de maneira mais profunda dessa forma. Normalmente as pessoas não fazem isso e eu já percebi que ler e entender o código antes me ajuda a identificar pontos de atenção que passam despercebidos até para pessoas mais experientes.

Porém, às vezes a tarefa consiste em começar algo do zero. Nesses casos eu busco componentes semelhantes para me basear e faço o mesmo procedimento de entender o que todo o código faz pois isso evita que eu só copie trechos de código sem entender o que eles realmente fazem. Minha tarefa de criar a modal caiu nesse caso, eu tive que criar o componente do zero me baseando em um mais geral que já existia no projeto.

A última coisa que eu faço é anotar as sub-tarefas dentro da tarefa principal. Aqui eu tento torná-las o mais simples e reduzidas possível, porque isso reduz o tempo entre uma sub-tarefa e outra e melhora demais a cadência no desenvolvimento. No caso da minha modal, ficou algo parecido com isso:

  • criar componente da modal
  • condicionar chamada da API ao clique
  • mockar retorno da API
  • testar caso de clique no botão
  • descobrir como passar informações entre diferentes componentes

Durante o desenvolvimento

Ter sub-tarefas bem pequenas e relativamente simples ajuda a reduzir aquele frio na barriga e a procrastinação para começar e te dá uma melhor visão de progresso. Às vezes é preciso definir micropassos para ajudar a quebrar a inércia de começar a tarefa e um que me ajuda bastante quando eu preciso pesquisar algum tema difícil é deixar o site ou a documentação aberta e aí levantar um pouco da cadeira. Por algum motivo eu me sinto menos sobrecarregada quando eu acabei de dar uma volta e o site que eu preciso já tá aberto só me esperando. Isso também funciona com o código em si, acho o arquivo certo pra trabalhar e depois vou dar uma volta para espairecer antes de começar.

Durante a tarefa sempre surgem imprevistos, então eu anoto todas as coisas que eu não previ que teria que fazer e também todas as dúvidas que surgirem para pesquisar na internet ou perguntar a alguém do time, dessa forma nada se perde e eu garanto que vou lembrar de tirar todas as dúvidas.
Outra estratégia que eu preciso adotar quando está particularmente difícil de concentrar na tarefa é colocar no papel o problema que eu estou tentando resolver e ir anotando pequenas conclusões que vão me levar à solução. Um exemplo de como eu faço essa parte:

  • em que momento o clique deve abrir a modal?

    • ↪ quando tem elemento registrado, determinado pelo elemento.isEnabled
    • ↪ o que define o isEnabled? Em qual momento ele é alterado?
  • a modal deve ter: isOpen, onClose, type, name, date, activities

    • date vem da URL ✅
    • de onde vêm as outras informações? O componente pai tem todas? Preciso pegar alguma de algum outro lugar?

Em algumas situações que é necessário fazer pair programming e eu percebi que sem as minhas anotações eu posso acabar ficando bem perdida, então gosto de fazer essas reflexões antes de ter alguém que vai me ajudar com as respostas.

Na finalização da tarefa

Esse é o momento de checar se algum errinho besta passou despercebido. Antes de submeter uma tarefa para code review eu costumo fazer algumas re-checagens:

  • rodar todos os testes da aplicação para ter certeza de que eu não quebrei nada acidentalmente
  • rodar o lint (caso não esteja rodando automaticamente)
  • atualizar a minha branch com a main/master
    • caso necessário, atualizar bibliotecas e banco de dados
    • caso necessário, resolver conflitos de merge
  • executar o código e me certificar de que o comportamento está como esperado, inclusive os casos de erro
  • checar se eu segui os padrões de código definidos pela empresa

E aqui uma dica que o meu líder técnico me deu: se você acha que o código está ruim depois de finalizar toda a tarefa, chama alguém do seu time para dar um olhada, você pode explicar o que tentou fazer e a pessoa pode te dar feedbacks de como melhorar antes de submeter ao code review propriamente dito.


Começar a carreira de desenvolvimento pode ser bem difícil, especialmente se você passou por uma transição de carreira ou não possui um background teórico tão bom. Com esse artigo eu gostaria de compartilhar algumas estratégias que eu uso para tornar as tarefas menos assustadoras e menos causadoras ansiedade.
Você tem alguma dica a mais para dar não só pra mim mas pra outras pessoas que estão começando? Joga ela nos comentários para ajudar mais pessoas.

Discussion (8)

Collapse
laurolyra profile image
Lauro Lyra Aguiar

Gostei do artigo, tá de parabéns!

Eu só acrescento uma dica após concluir o código (antes do CR): localiza os console.log() ou print() que porventura ficaram no meio do desenvolvimento e remove eles.

Collapse
prinewgirl profile image
Priscila Gutierres • Edited

Muito obrigada pelas dicas!!!
Gostaria de perguntar se eu poderia traduzir para o inglês o artigo e mandar ele traduzido pra você publicar? Com certeza ele pode ajudar pessoas do mundo todo!

Collapse
fabriciadiniz profile image
Fabrícia Diniz Author
Collapse
fabriciadiniz profile image
Fabrícia Diniz Author

Eu tô sempre postando os artigos em português e em inglês, daqui a pouquinho sai a versão em inglês ^^

Collapse
theooliveira profile image
Theo Oliveira

Massa. Vou retomar a fazer isso..micro passos é o que deve ser feito mesmo. Quanto mais claro menos estressante e mais holístico fica a visão, e como tu disse da senso de progresso. Peco em não fazer isso sempre.

Collapse
beatrizoliveira profile image
Beatriz Oliveira

Eu simplesmente amei esse post, obrigada por isso, usarei certamente suas dicas no trabalho!! 😄🥰

Collapse
shadowruge profile image
izaias

Gostei da abordagem, se virar um vídeo eu acredito que seria uma obra prima

Collapse
lucassantos_dev profile image
Lucas Santos

Parabéns pelo artigo e obrigado por compartilhar!