A sua agenda está cheia de stand-ups e code reviews. Mensagens no Slack chegam o dia todo, e o ticket difícil espera até a noite.
Este guia de deep work para engenheiros de software mostra como preparar e começar um bloco. Você vai ver como ficar nele e como voltar depois de uma interrupção. E vai ver onde ficam os reviews e as reuniões.
Por que o deep work é tão difícil para desenvolvedores sênior?
Como desenvolvedor sênior, o seu dia pertence a outras pessoas: stand-ups, code reviews, perguntas da equipe, Slack. O trabalho difícil, como debugging, design e refatoração, precisa de períodos longos, e o dia raramente os oferece. Em 2019, a empresa de software Tidelift e o site de notícias The New Stack fizeram uma pesquisa.
Quase 400 participantes estimaram o seu tempo de trabalho. Escrever código novo ou melhorar código existente levava 32 por cento, e reuniões, gestão e tarefas operacionais, 23 por cento. A Tidelift pagou essa pesquisa, e ninguém mediu as horas.
Então não espere por uma semana tranquila. O núcleo do deep work para desenvolvedores é a menor unidade: um bloco de trabalho concentrado.
Neste artigo, um bloco é um período cronometrado de trabalho focado em um objetivo. Se o deep work é novo para você, comece pelo artigo sobre o que é deep work.
Antes do bloco: prepare a sua tela, o seu ambiente e o seu corpo
Esse bloco começa antes de você abrir o editor. Feche tudo o que poderia interromper você enquanto trabalha. A ordem abaixo é só uma sugestão.
- Celular: desligue-o e guarde-o em uma gaveta em outro cômodo.
- E-mail e Slack: feche os dois primeiro, depois todos os aplicativos de que este ticket não precisa. Ative o modo Não Perturbe.
- Navegador: feche todas as abas ou abra uma janela só para este ticket. Salve as abas que você quer guardar em uma pasta de favoritos.
- Papel: use uma folha de protocolo para o seu objetivo e os seus passos. Use uma folha de pensamentos para pensamentos que não têm a ver com a tarefa.
Avise as pessoas que escrevem para você com frequência em quais horários você não está disponível. Seja específico: “Não estou disponível pelos próximos 45 minutos a menos que a casa esteja pegando fogo.” Se você está de plantão, combine com a sua equipe quais emergências contam como a casa pegando fogo.
O chat nunca para? Então leia o artigo sobre a proteção dos blocos de deep work contra as notificações do Slack.
Para combinar regras comuns como equipe, leia sobre deep work para equipes. O seu ambiente e o seu corpo também fazem parte da preparação.
Início: sem música, um timer, um objetivo do bloco
Com a preparação feita, o início tem três passos: decidir sobre a música, configurar o timer, anotar o objetivo. Depois o trabalho começa.
Música: deixe de lado
Deixe a música de lado. Ela parece uma ajuda para o foco, mas ocupa atenção de que você precisa para a tarefa. Mantenha os fones como proteção contra o barulho, sem nada tocando.
Não está convencido? Faça um bloco com música e um sem, depois compare os resultados. Há mais no artigo sobre a música como ajuda para o foco.
Timer: configure conforme a sua energia de hoje
Depois configure o timer para 15 a 90 minutos, conforme a sua energia de hoje. Na dúvida, comece mais curto. Você sempre pode continuar trabalhando depois que ele tocar.
Os seus blocos não precisam ter a mesma duração, porque a sua energia muda ao longo do dia. Para ver por que a duração segue a sua energia, leia sobre a duração de uma sessão de deep work.
Objetivo: transforme o ticket em um objetivo do bloco
Depois pegue a sua folha de protocolo. Anote no topo o objetivo final, como “O timeout do login está corrigido”.
Abaixo dele, anote o objetivo do bloco. É o que você quer ter pronto no fim deste bloco, escrito como feito.
| Ticket ou tarefa | Objetivo do bloco, escrito como feito |
|---|---|
| Corrigir um bug | A causa do timeout do login está encontrada |
| Refatorar um módulo | O módulo de pagamento está dividido, os testes passam |
| Escrever um design doc | A seção de opções do design doc está rascunhada |
| Revisar um pull request grande | Os comentários sobre o modelo de dados estão publicados |
Deixe o objetivo ambicioso, mas alcançável. Um objetivo grande demais sobrecarrega você. Um objetivo pequeno demais deixa você sem impulso.
Não sabe como começar? Anote o primeiro passo pequeno como a sua próxima ação.
Dentro do bloco: três ferramentas para flow, pensamentos soltos e um próximo passo que falta
Depois que o objetivo está anotado, três ferramentas cobrem três situações. Use a que você precisar, em qualquer ordem. Idealmente o trabalho simplesmente flui, e você só precisa da primeira.
- Flow: o trabalho vai bem. Continue, mesmo depois do timer, e não anote nada.
- Estacionamento de pensamentos: surge um pensamento que não tem a ver com a tarefa. Anote uma palavra-chave na folha de pensamentos e depois volte para a sua folha de protocolo.
- Fio: você não sabe mais em que ponto da tarefa está ou o que vem a seguir. Anote o próximo mini passo na sua folha de protocolo.
Algumas distrações parecem trabalho: um post de blog sobre uma biblioteca, uma limpeza rápida em outro arquivo. Se isso não ajuda este objetivo do bloco, anote na folha de pensamentos.
Travado em um bug? Descreva o problema em uma frase e depois anote o menor próximo passo. Se nada funcionar, mude para uma parte diferente da mesma tarefa.
Como voltar depois de uma interrupção?
Você volta mais rápido quando um bloco termina com uma nota: o seu último passo e o próximo.
Em 2009, a pesquisadora de gestão Sophie Leroy fez dois experimentos sobre a troca entre tarefas. As pessoas tinham dificuldade em desviar a atenção de uma tarefa inacabada e se saíram pior na tarefa seguinte. Ela chamou isso de resíduo de atenção: parte da sua atenção fica para trás.
Gloria Mark estuda interrupções, e a equipe dela acompanhou 36 pessoas durante três dias. Algumas eram desenvolvedores de software. Em uma entrevista de 2006, ela disse: o trabalho interrompido era retomado, em média, após 23 minutos e 15 segundos.
Deixe essa nota a cada parada. Ela leva três passos:
- Pare. Se o timer tocar e você não estiver no flow, pare agora.
- Anote o próximo passo. Na folha de protocolo, escreva uma frase: o seu último passo e o próximo.
- Compare com o objetivo do bloco. Você o alcançou, alcançou parte dele ou nada? Apenas observe. Não julgue.
Use a mesma nota quando alguém tirar você do bloco. Em uma emergência real, escreva a nota primeiro e depois vá.
Para pessoas e mensagens que interrompem os seus blocos, leia o artigo sobre interrupções no deep work.
Onde ficam code reviews, reuniões e Slack?
Code reviews, reuniões e Slack ficam entre os seus blocos, ordenados pela energia de que precisam. O programador Paul Graham explicou como uma reunião pode dividir uma tarde:
“Uma única reunião pode arruinar uma tarde inteira, porque a divide em duas partes, cada uma pequena demais para fazer algo difícil.” (traduzido)
Paul Graham, “Maker’s Schedule, Manager’s Schedule” (2009)
Então agrupe as suas reuniões onde puder e deixe um período longo livre para os seus blocos. Os seus blocos não precisam começar exatamente às 9:00 ou às 10:00. Algumas pessoas gostam de um horário fixo, e outras se sentem pressionadas por ele.
Depois ordene o resto pela energia: faça o trabalho exigente com energia e o mais fácil quando ela diminui. Um review grande que exige toda a sua atenção pode ser um bloco próprio com um objetivo, como na tabela. Um review rápido cabe onde a sua energia diminui.
Mantenha o Slack e o e-mail fora da sua pausa e confira os dois antes do seu próximo bloco. Se as reuniões já enchem a sua semana, comece com deep work com reuniões demais. Para descobrir quanto cabe em um dia, leia o artigo sobre as horas de deep work por dia.
Amanhã, dê a um ticket um bloco entre as suas reuniões. Feche o chat e ponha o objetivo no papel. Um bloco protegido pode levar esse ticket mais longe do que uma tarde inteira trocando de tarefa. Veja como funciona →
FAQ
Como posso melhorar os meus hábitos de deep work como desenvolvedor?
Você melhora os seus hábitos de deep work como desenvolvedor repetindo um bloco cronometrado de trabalho focado. Os primeiros blocos não vão ser perfeitos: você vai esquecer passos ou se distrair mesmo assim. Melhora a cada bloco, e depois de algumas semanas os passos viram rotina.
Desenvolvedores precisam de aplicativos especiais para deep work?
Desenvolvedores não precisam de aplicativos especiais para deep work. O aplicativo de Relógio integrado de um computador Mac ou Windows serve como timer. Um timer de cozinha mecânico também serve, e ele não tem tela nem aplicativo.
Desenvolvedores precisam de uma manhã livre para deep work?
Desenvolvedores não precisam de uma manhã livre para deep work. Um bloco de 45 minutos conta como deep work, e você pode encaixar vários em um dia. Na minha visão, três blocos focados de 45 minutos valem mais que oito horas de trabalho com metade da concentração.
