Vejo alguns novos desenvolvedores entrarem em um emprego e imediatamente me sinto inadequado. Eu fiz o mesmo no início da minha carreira. Acho que há pelo menos dois grandes problemas que os mais espertos precisam superar: percepção do tempo e sua própria capacidade natural.
Percepção do tempo Pessoas
espertas estão acostumadas a resolver problemas de forma relativamente rápida. Lembro-me de estar horrorizado quando tive que passar uma hora em um único problema de cálculo. Passar 60 minutos em um problema não é mais nada. Esses dias acabaram ... enterre-os e diga adeus. A complexidade e o tamanho da maioria dos softwares hoje em dia é escandalosa. As pessoas não entendem todas as ferramentas que precisam usar para realizar as tarefas por mais tempo. Um dos principais homens da linguagem JavaScript, Douglas Crockford, disse:
"Misapplication of standard tools...is the new standard."
Simplesmente não há tempo suficiente no mundo para aprender todas as ferramentas de desenvolvimento.
Habilidade natural
Sua inteligência, capacidade de resolução de problemas e habilidades naturais levaram você a todo o show do desenvolvedor em primeiro lugar. Simplesmente não há espaço para nada menos neste campo. Então, o que você faz com 100.000 linhas de código, linguagens e estruturas que você mal conhece, padrões de design e paradigmas que as pessoas estão empurrando para você, caras que sabem a maior parte do tempo como as costas da mão, clientes que querem ontem e um chefe quem espera o seu mundo? Surpreenda-se, pois sua capacidade natural falha.
Sim, isso é normal. Eu ainda enlouqueci com algumas das coisas que são jogadas no meu caminho.
O que pode ser feito?
É hora de melhorar essas habilidades naturais com um bom trabalho à moda antiga. Trabalhe para dividir os problemas em partes menores. E perceba que, diferentemente de muitas coisas que você pode ter feito no passado, esses problemas levam muito tempo para serem resolvidos. Portanto, não desista após apenas 15 minutos de examinar um problema complexo. Em vez disso, divida os problemas e pare de assistir ao relógio. Depois de um tempo, 30 minutos trabalhando com um problema realmente não é mais o que costumava ser.
A autoconfiança desempenha um papel importante na capacidade de se autogovernar. O mesmo acontece com a equipe, especialmente os idosos mais experientes. É bom ter cuidado para não quebrar as coisas, mas isso não significa que você precise fazer um fluxo constante de perguntas.
Em vez disso, use o controle de origem. Contanto que você não verifique uma alteração, não poderá quebrar o produto principal e irritar outros desenvolvedores. Além disso, faça alterações que você possa entender e testar e certifique-se de testá-las bem antes do check-in.
Até tenho um pequeno projeto de teste que uso para escrever programas simples e únicos, para não precisar me preocupar com todos os acontecimentos no aplicativo principal.
Por fim, lembre-se de que toda decisão vem com algum nível de troca e devolução. Não há como avançar sem fazer algum tipo de sacrifício em algum nível. Não lute pela perfeição, lute pela grandiosidade e lembre-se de suas ações. Porque você sempre precisa estar preparado para receber críticas e explicar suas idéias e por que você as criou. Orgulhe-se das decisões que você toma. Mesmo quando estão errados, há muito a ser aprendido.