Neste artigo, examinarei práticas estabelecidas que ajudam a economizar recursos, como tempo e energia do desenvolvedor.
Durante muito tempo, fui inspirado pelo livro "Como o alemão Gref ensinou um elefante a dançar", que descreve vários processos de otimização da produção, como gerenciamento enxuto e kaizen. Naquela época, tendo absorvido um grande número de funções e processos, fui confrontado com minha carga de trabalho de 100%, na qual a influência de vários fatores na minha produtividade foi notoriamente rastreada e tive que escolher e experimentar para ganhar tempo. Isso foi especialmente interessante do ponto de vista do gerenciamento de recursos, uma vez que a maior parte da “produção” estava dentro de uma cabeça.
Vamos analisar os fatores e hacks que afetam a produtividade do desenvolvedor:
1. Computador poderosoO principal fator necessário ao trabalhar.
Se o computador ficar mais lento, por exemplo, ao depurar ou alternar entre IDEs - no total, isso pode gastar muito tempo por dia.
Lembre-se de que, com o desenvolvimento intensivo, o desenvolvedor pode ter de 1 a 3 IDEs, vários navegadores (geralmente gastam + 2 GB de RAM) e, em alguns casos, um servidor SQL.
Com os freios regulares, além do tempo, é criada uma irritação que pode causar mais danos porque gasta a energia do desenvolvedor e tem a capacidade de se acumular.
Com a abordagem TDD, é necessário executar a depuração muitas vezes para testar implementações - multiplique cada teste congelando e obtenha uma quantidade significativa de seu tempo de inatividade devido à espera.
2. Barra de tarefas verticalComo regra, ao trabalhar com um desenvolvedor .net, vários Visual Studio (1-2), PL / SQL Developer (1-3), Enterprise Architect (vários diagramas), Chrome (1-2), Outlook e mais podem ser abertos várias cartas e vários documentos podem ser abertos (e muitas vezes não há tempo para fechar tudo :))
Se você usar o painel horizontal, a rolagem será exibida mesmo com 5 janelas abertas, no caso de um painel vertical, você poderá caber cerca de 12 janelas abertas, entre as quais é possível alternar com um clique. (e isso é importante quando você tem coragem ou quando frequentemente precisa alternar entre janelas)
Além disso, o nome do aplicativo ou de um documento aberto é visível, o que não será o caso de um painel horizontal.
Essa atenção é dada ao número de cliques, porque durante o desenvolvimento intensivo e de longo prazo, da grande troca entre janelas e troca de atenção, fadiga e irritação se acumulam, o que pode reduzir significativamente a qualidade do desenvolvimento.
3. Monitores múltiplos (2+)Agora é difícil imaginar o trabalho do desenvolvedor em um monitor. Um monitor para o IDE, outro para o navegador. Mas esse não é o limite. Se você é um programador fullstack e está desenvolvendo várias camadas do aplicativo ao mesmo tempo, 2 ou mais monitores podem ajudá-lo, por exemplo 4, a implantar cada camada na qual você precisa trabalhar em monitores separados. Isso simplificará a análise de código e transformará a troca de janelas em rotações na cabeça ou nos olhos, o que economizará energia e manterá a concentração. Você ficará surpreso ao saber como será mais fácil e mais calmo implementar mudanças em larga escala nos projetos.
4. sistemas de armazenamento.Por sistemas de armazenamento, refiro-me a programas como One Note, Confluence ou Enterprise Architect.
Esses sistemas ajudarão você a simplificar a acumulação, armazenamento e estruturação de informações, e o acesso às informações necessárias será muito mais rápido do que se você armazenasse tudo na forma de arquivos ou, por exemplo, guias no Notepad ++.
Portanto, não hesite em recortar cotações, fazer anotações e armazenar tudo em sistemas especiais, isso pode acelerar significativamente o acesso às informações necessárias e, principalmente, o acúmulo e sistematização. O que é relevante ao analisar uma área de negócios complexa para a qual não há documentação.
5. Instruções de script (scripts de usuário)Por instrução de script, quero dizer uma instrução na forma de uma sequência numerada de etapas, cuja implementação permite alcançar o resultado desejado. Cada etapa é apenas uma frase indicando o que precisa ser feito na interface ou, melhor ainda, é uma captura de tela e uma descrição do que precisa ser feito.
Nem sempre existe documentação de qualidade.
É difícil lembrar tudo de cor; portanto, use essas folhas de dicas que permitirão que você tome as medidas necessárias sem hesitar para alcançar um objetivo específico. Por exemplo, publique um site em hospedagem linux, aplique migrações EF à hospedagem Windows, execute algum tipo de caso de teste ou configure algumas funcionalidades complicadas do sistema.
6. Registro de trabalho com recursos externosFrequentemente, durante o desenvolvimento, várias APIs são usadas, bancos de dados que estão fora da área de responsabilidade do desenvolvedor que executa a tarefa em seu sistema. E a instabilidade de serviços externos pode causar expectativas significativas. Registre erros no contato com serviços externos. Além disso, confie não apenas no fato de o serviço retornar exceções, mas também no fato de que ele pode não retornar uma exceção, mas retornar dados incorretos. Essa detecção de erros no nível mais baixo evita que você analise e localize erros nas camadas superiores do aplicativo.
O registro implementado adequadamente permitirá que você descubra e localize o erro, mesmo sem a necessidade de ir para a seção desejada do código e executar os testes. Isso evitará a troca desnecessária de atenção do trabalho atual. Geralmente, os erros no seu sistema podem advir da instabilidade de sistemas externos, e o registro de alta qualidade ajudará a identificar esses casos, mesmo sem a sua participação, o que economiza seu tempo.
7. Rastreadores de tarefas.Descarregue a cabeça, não armazene tarefas na cabeça. Escreva-os no gerenciador de tarefas. Em casos extremos, pode ser um notebook normal do Notepad ++. Se você escolher algo especializado, os mais populares são Jira, Redmine, Asana. Da área de trabalho - MS Projects. Trello móvel ou Todoist.
Algumas equipes organizam listas de tarefas no Github através do Issue.
8. SocialidadeAo contrário da crença popular, os desenvolvedores mais bem-sucedidos são muito sociais e bons em fazer perguntas e expressar suas opiniões.
Em geral, a teoria de que existem tipos de caráter introvertidos e extrovertidos é apenas uma hipótese e é mais provável que “interverte” sejam assim porque são simplesmente mais escravizados e notórios. Portanto, é melhor não ouvir psicólogos, mas desenvolver suas habilidades sociais e lidar com complexos!
Pelo menos um desenvolvedor tímido não é rentável. Você gastará muito tempo tentando descobrir por conta própria.
Você pode procurar a resposta para sua pergunta por um longo tempo. Ou você pode encontrar instantaneamente a resposta entrando em contato com outro desenvolvedor. As opções são diferentes:
- colegas;
- amigos / conhecidos;
- fóruns temáticos
Iniciando a pesquisa com as pessoas mais próximas a você, você pode acelerar significativamente a busca por uma solução.
Não tenha medo de mostrar que você não sabe alguma coisa.
Aumente sua rede de encontros profissionais. É surpreendentemente fácil fazer amigos na TI, graças a um grande número de tópicos e perguntas com os quais você pode conversar.
E não se esqueça, ao fazer uma pergunta, sobre o fato de você estar usando a energia de outra pessoa, então sinta quando é difícil para uma pessoa encontrar uma resposta e quem é a resposta "no cache" :)
Lembre-se de que a pessoa com quem você está conversando pode ter medo de mostrar que não sabe alguma coisa. Se você sentir isso, basta traduzir o tópico e procurar a resposta em outra fonte para "fechar a gestalt".
No caso da transição para os fóruns, o oposto é verdadeiro. Você pode fazer perguntas com segurança em qualquer quantidade. E depois de formular e descrever sua pergunta, a resposta pode chegar a você sozinha. Grosso modo, a apresentação do problema, em princípio, acelera sua solução, e muitas vezes você mesmo encontra essa solução.
9. Gerenciamento de tempo. Faça pausas entre trabalho contínuo e descanso. Lute contra as rolhas. PomodoreVocê provavelmente já percebeu esse absurdo quando se deparou com algum tipo de problema com o qual está enfrentando dificuldades e não consegue encontrar uma solução por um longo tempo. Em tais situações, como regra, ocorre uma perda de tempo e você pode ficar sentado sem se mexer por várias horas. Chamo essas situações de rolhas e não faz sentido permanecer nelas por mais de uma hora, já que a solução geralmente consiste em encontrar uma idéia, e a ideia vem por acaso. Portanto, divida seu trabalho em lacunas. Tenho 45 minutos de trabalho e 15 minutos de intervalo a cada hora. Existe outra técnica - Pomodore, que sugere intervalos de 5 minutos a cada 25 minutos.
Para gerenciar seu tempo, existe um aplicativo móvel InFocus
10. Abandono de drogas, especialmente álcoolO cérebro é o principal ativo do programador, portanto, destruí-lo não é lucrativo. Uma cabeça de álcool pode funcionar pior por mais alguns dias, e você pode nem perceber isso, pois essa condição parece normal para você.
Substâncias tóxicas se acumulam ao longo do tempo no corpo e você nem notará como seu bem-estar se tornou pior e sua energia se tornou menor.
Medicamentos prescritos por médicos, como antidepressivos, também são melhores para não usar, uma vez que esses estimulantes esgotam o corpo e, depois de alguns anos de vida, você se aperta, então é melhor descobrir como se encher.
Existem maneiras e técnicas de relaxamento sem química - dança, ioga, esportes, que além do relaxamento melhorarão sua vida pessoal e a energizarão.
11. vida pessoalUma grande quantidade de tempo gasto no trabalho pode falar de duas coisas:
1) você não tem tempo para fazer seu trabalho;
2) você não tem uma vida pessoal.
Ambos são ruins. Eu vou falar sobre o menos da segunda situação.
Você ultrapassará a equipe e desenvolverá muito senso do significado de seus momentos de trabalho, que podem não ser entendidos pela maioria devido ao fato de que eles não são tão significativos para todos. Nesta base, entre você e a equipe pode começar a "acender". A indignação começará em sua cabeça devido a um mal-entendido e isso afetará adversamente a concentração da atenção e queimará sua energia.
Para impedir que isso aconteça, faça todo o trabalho no devido tempo e, depois disso, faça apenas sua vida pessoal e não pense em trabalho.
No tempo pessoal, deve haver um mínimo de profissional, até mesmo participar de conferências e reuniões. Ou pelo menos não mais de 3 dias por semana.
O resto do tempo, esportes, ioga, amigos, namoradas, família, filhos.