Veteranos no desenvolvimento de software compartilham lições de como ter sucesso no mundo da codificação
Milhares de pessoas se formam todos os anos em diversos cursos de tecnologia pelo mundo. Por isso, a Computerworld EUA reuniu as melhores dicas com profissionais veteranos de áreas como engenharia de software e desenvolvimento com conselhos que gostariam de ter recebido no início de suas carreiras. O resultado está listado abaixo.
1. Saiba mais sobre sistemas subjacentes
Uma grande parte do desenvolvimento de software, obviamente, é sobre o conhecimento de linguagens de programação. Mas, como várias pessoas compartilharam no nosso levantamento, os desenvolvedores também precisam saber sobre o que está acontecendo nas camadas abaixo da pilha de linhas de códigos.
“Muitas linguagens abstraem o que se vê no nível do sistema. A abstração é útil porque permite que os desenvolvedores sejam mais produtivos por uma parte maior do tempo”, avaliou Pete Bull, engenheiro de suporte da Acquia. “Mas quando você atinge um obstáculo, um bug realmente desagradável, e precisa de uma compreensão mais profunda do que está acontecendo, é preciso habilidade para ser capaz de depurar um processo e olhar para as chamadas de sistema e realmente ver como um pedaço de código está interagindo com o resto do sistema”.
Robert Douglass, vice-presidente de satisfação do cliente na Platform.sh, acrescentou: “Quando estava apenas começando a programar, havia um monte de coisas que eu realmente não entendia sobre os próprios computadores. Os arquivos de sistema, redes e como as coisas são mantidas na memória… para ficar em três exemplos óbvios. Isso significava que eu não seria capaz, necessariamente, de entender os objetivos de algumas das construções de programação que estavam me apresentando”
2. Conheça as linhas de comando
Como desenvolvedor, há uma grande chances de passar boa parte do tempo trabalhando com um IDE ou editor de código. No entanto, saber como fazer as coisas na linha de comando pode ocasionalmente tornar sua vida mais fácil. “Às vezes você se encontra em uma máquina com poucas ferramentas”, ilustrou um programador ouvindo pela reportagem e que pediu anonimato. “Recursos como o find, comm, diff, vi/vim, sed, awk ajudam a respirar nesses casos”.
Bull, que começou a carreira usando ferramentas da Microsoft para, em seguida, migrar lentamente para Linux, concorda: “Teria aprendido os macetes da linha de comando e todos os utilitários que estão disponíveis em um sistema *nix. Posso, realmente, lembrar o código que escrevi anos atrás e que consumiu dias ou semanas de trabalho. Provavelmente, poderia ter feito isso muito mais facilmente com um grep + awk one-liner”.
3. O debugger é seu amigo
Uma boa parte do seu tempo como um codificador envolverá rastrear bugs. Dave Varon, um desenvolvedor de bioinformática da Novartis, enfatiza o benefício de um debugger e como isso pode salvar seu tempo. “Aprenda a usar o debugger!”, aconselhou. “Tire um ou dois dias extras para configurá-lo. Sempre que não chegar ao resultado esperado, não tenha medo de usar essa ferramenta. É uma medida que vai lhe poupar dias de frustração, e melhor, você vai aprender coisas novas”.
4. Aprenda a fazer testes
Alguns programadores acham que realizar testes para validar que pequenas unidades de código estão fazendo o que deveriam é uma tarefa crítica. Richard Handloff, um desenvolvedor de banco de dados na Strategic Power Systems, concorda. “Acho que o melhor conselho que posso dar a alguém que quer aprender a programar é compreender como escrever bons testes e lembrar-se de fazer isso no início dos processos”.
5. Busque conhecimento sobre novos sistemas
Todo mundo sabe que a tecnologia muda rapidamente. Isso se aplica não só aos smartphones, gadgets e equipamentos legais que exibimos por aí; mas também para sistemas, linguagens de programação e plataformas usadas por desenvolvedores para realizarem seu trabalho.
Adam Wulf, desenvolvedor focado em mobilidade e fundador da Milestone Made, recomenda que novos programadores estejam preparados para estar sempre um passo a frente quando se depararem com uma evolução tecnológica. “Sou da mentalidade que é preciso aprender uma nova tecnologia a cada quatro anos”, estimou, sobre o método que aplica para si.
Um profissional que preferiu não ter o nome divulgado pela reportagem reforça que um desenvolvedor dificilmente trabalhará a vida toda com as mesmas ferramentas. Ele lembra que cada projeto usa mecanismos e requerimentos específicos. É bom, portanto, ter um repertório vasto na manga. “Se acostume a mover-se entre diferentes linguagens, projetos e tecnologias”, adicionou.
6. Jogue em time
Apesar da noção estereotipada de que programadores trabalham sozinhos, o contato com outras pessoas é fundamental. Ben Miller, o CTO da Sinclair Digital Ventures, enfatizou a importância de ser capaz de trabalhar como parte de uma equipe. Na sua visão, essa é uma dica valiosa para a carreira. “Grandes projetos significam o movimento e encaixe de diversos lotes de peças que devem trabalhar bem em conjunto”, ilustrou. “Codificação é um esporte de equipe!”.
Varon reiterou a importância de habilidades de relacionamento. “Quando não conseguir executar uma tarefa, peça ajuda”, aconselhou. “Só porque acha que escreveu uma obra prima, não significa que é um lixo ou que não possa ser melhorado. É como na faculdade, quando diversas pessoas têm as mesmas dúvidas enquanto outras conseguem responder, estando na mesma classe. Muitas vezes, apenas informar o problema em voz alta permite um momento eureka”.
7. Não tenha preguiça de codificar fora do expediente
Miller traz um conselho particularmente interessante que, à primeira vista, pode não parecer tão sábio. “Aprofundar-se na arte da codificação é uma possibilidade evoluir conhecimento e crescer na carreira”, afirmou. “Aprimore suas habilidades para encontrar caminhos mais simples de resolver problema e fazer seus códigos mais resistentes e diminuir a necessidade de manutenção. Assim, você sempre terá trabalho”. Em outras palavras: arregace as mangas e codifique o tanto quanto for possível!
Fonte: Computerworld USA