"Para codificar rapidamente, você deve sair da codificação"

17

Primeiro, não minha frase: http://www.whattofix.com/blog/archives/2010/11/to-code-quickly.php Props to Mr. Markham.

MAS, isso me levou a pensar em muitas perguntas que já vi sobre ser capaz de fazer as coisas.

A abordagem defendida (definir um cronômetro para um período determinado, neste caso, 50 minutos, mas já vi pessoas falarem sobre a interrupção da procrastinação, estabelecendo tempos tão curtos quanto cinco minutos em tarefas que você simplesmente não consegue realizar e, em seguida, realizando uma pausa curta) parece ser senso comum, mas muitas pessoas advogam entrar na "zona" e permanecer lá o maior tempo possível, talvez muitas horas, em vez de quebrar seu ritmo.

Continuo tentando abordagens diferentes e percebo que cada uma tem suas próprias forças e fraquezas.

Que tipo de técnica você usa para ser MAIS EFICIENTE (ou seja, realizar o trabalho com o nível de qualidade exigido pelo seu cliente / chefe / etc. no prazo permitido) no desenvolvimento de software e não apenas para gastar mais tempo com o teclado ?

Todd Williamson
fonte
3
Gostaria de usar isso como uma oportunidade para conectar outro site SE (proposto), Produtividade e Organização Pessoal
instanceofTom
Ooo - incrível - eu me comprometi. Obrigado!
Todd Williamson
a proliferação de sites de nicho no SE está ficando absurda.
Kevin

Respostas:

15

Eu uso essa técnica diariamente. Meu cronômetro dura 45 minutos de trabalho por 10 minutos de descanso.

Também maximizo o tempo no computador para 4 horas por dia . Entendo que isso não é possível quando sua tarefa principal é codificação. O resto do tempo, faço qualquer tarefa que não exija um computador.

A ferramenta que eu uso é um WorkRave . O autor escreveu porque começou a ter problemas físicos devido à sua incapacidade de parar de codificar por longas horas.

Estou menos estressado e isso afetou positivamente minha produtividade.

Desde algumas semanas, também tento algumas técnicas de atenção plena durante os períodos de pausa. Delicioso.

Agora, com relação às técnicas anti-procrastinação, tenho uma que supera tudo o que tentei antes:

Eu gerencio uma única lista de tarefas, priorizada por importância. Eu escolho o primeiro da lista.

Eu mantenho a lista (e o calendário) com uma combinação de GTD e 7 hábitos .

Para melhorar a eficácia da lista, escreva suas tarefas como próximas ações em vez de descrições (consulte o capítulo Ações, contextos e projetos nesta postagem no blog )

Todd Williamson
fonte
1
Você pode dar um exemplo de uma tarefa escrita como ação versus como descrição?
Adam Lear
Claro que adicionei a referência a um artigo mais completo na resposta. Aqui está o link novamente (ele descreve toda a técnica GTD): zenhabits.net/the-getting-things-done-gtd-faq .
6

Não estou impressionado com esse ensaio; ele passou o quê, um dia experimentando seu novo método?

Dito isto, Pomodoro e técnicas similares parecem ter uma popularidade de nicho persistente. Normalmente, tento classificar meus dias em "dias de foco" e "dias diversos". Nos dias de foco, eu apareço com roupas um pouco mais relaxadas, talvez um pouco mais cedo (ou fique mais tarde). Não tenho reuniões nesses dias, então basicamente posso escrever minha própria agenda, o que me permite me concentrar melhor. Nos outros dias, tenho reuniões, compromissos e assim por diante. Como não tenho tempo para me concentrar, tento agendar tarefas menores e mais fáceis para preencher meu tempo.

Uma boa maneira de aumentar a produtividade na codificação é a geração de código de qualquer bit padrão; refatorar qualquer coisa duplicada etc.

Paul Nathan
fonte
2

A principal coisa a lembrar aqui é que não existe uma solução "tamanho único".

Existem muitas técnicas para melhorar sua capacidade de "fazer as coisas" e uma das razões é que coisas diferentes funcionam para pessoas diferentes.

Algumas pessoas se dão muito bem com esse tipo de metodologia (cf Pomodoro Technique) e outras acham que isso destrói seu foco - eu realmente não gosto de parar no meio da tarefa e isso é quase invariavelmente o que os sistemas baseados em timer fazem comigo ... conceitualmente bom, implementação desafiadora (verdade da maioria das metodologias estruturadas para gerenciamento de tempo e outras coisas)

Murph
fonte
Eu só estou procurando muita entrada. Como você diz, não existe uma abordagem de "um anel para governar todos", mas estou interessado em ver como as outras pessoas abordam isso.
Todd Williamson
Oh absolutamente - e eu concordo com a questão (-:. Mas o acima é um ponto que precisa ser feito como pessoas que têm sistemas que funcionam - para eles - podem ficar um pouco entusiasmado
Murph
Eu acho que esse é um bom ponto. Além do mais, descobri que algumas técnicas funcionam melhor ou pior para mim, dependendo do meu humor, que tipo de trabalho estou fazendo etc. Há momentos em que não tenho problemas em entrar no trabalho e trabalhar produtivamente o dia todo sem qualquer sistema. Outras vezes, preciso de algo para me manter focado e no caminho certo. Às vezes, quando estou passando por um funk como esse, descobri que Pomodoro funciona muito bem para mim, embora ocasionalmente pulei uma pausa quando estava rolando.
PeterAllenWebb
Tentou diminuir o voto apenas porque isso realmente não adiciona uma opinião subjetiva - apenas afirma "depende". Isso pode ser dito de quase tudo e é verdade para praticamente qualquer coisa.
Magnus Wolffelt
A @Magnus não pode argumentar com isso de maneira particular, mas igualmente importante. Muitas pessoas vão caçar a bala de ouro.
Murph
-1

Como a codificação é o problema em questão, além das técnicas mencionadas por Pierre, eu sugeriria a codificação em uma linguagem dinâmica, se possível (o Python é uma delícia de se trabalhar, por exemplo): essas linguagens permitem que você seja extremamente produtivo (os tempos de codificação medidos mostram um fator de melhoria de 2 a 10, em comparação com C). Eles são tão agradáveis ​​de se trabalhar que você basicamente nunca pode "apenas passar o tempo no seu teclado".

Eric O Lebigot
fonte
Por que os votos negativos? A resposta acima aborda a pergunta "Que tipo de técnica você usa para ser mais EFICAZ (...) no desenvolvimento de software?".
Eric O Lebigot