O que faz um desenvolvedor apaixonado

Wilson Júnior
4 min readNov 2, 2016

--

Olá, meu nome é Wilson Júnior e sou apaixonado por desenvolvimento de software, então vou compartilhar as características que envolve o desenvolvimento de softwares com amor.

1 .Questione, reflita e ouça outras pessoas

Um dos pontos para fazer um software com amor é saber conduzir o caminho no qual ele irá tomar, questionar a existência de cada funcionalidade é tão importante como implementa-la, refletir é necessário para avaliar quais são os caminhos viáveis e quais consequências gerariam no ciclo de vida do projeto, porém você só poderá refletir bem se conversar e entender o que as pessoas envolvidas no projeto esperam para o futuro.

2. Coloque o seu software para fazer bem um determinado tipo de coisa

Não dá para abraçar todo o universo com um software, então foque em um determinado tipo de problema que ele se propõe a resolver.

3. Refatore em nome da legibilidade

Durante o ciclo de vida de um software, várias funcionalidades vão incorporando o codebase, e pode ser necessário, rever uma nova estrutura de pastas, nomenclaturas, extrair partes para evitar a duplicação, para que novas pessoas que lerem o código entendam e consigam dar manutenção de forma confortável.

4. Documente!

A documentação é um camarada muito importante para a qualidade do software, o conhecimento de como ele funciona não deve estar apenas nas cabeças das pessoas que escreveram o código, e sim em documentos que sejam de fácil entendimento e acesso para novas pessoas aderirem ao projeto.

5. Versione

O bom versionamento começa desde as pequenas iterações que você faz com um SCM (git por exemplo), por exemplo, a cada commit resolvendo um único problema para ficar fácil de entender o changelog, com a descrição legível. Utilizar padrões de versões como o Semantic Version para fornecer aos usuários de versões legadas possíveis atualizações, (exemplo: a última versão é a 2.1.0, mas foi encontrado um problema na 1.9.8, então devemos lançar a 1.9.9 e continuar o desenvolvimento em cima da 2.1.0)

6. Crie ou participe de uma comunidade

A maior prova de amor é compartilhar sem querer algo em troca, compartilhe suas soluções em redes sociais de código como: github, gitlab ou bitbucket, escreva um README.md bem legal descrevendo o seu projeto, assim novas pessoas podem experimentar, melhorar e compartilhar ❤.

7. Não tente prever o futuro precocemente

Uma das coisas que quando estamos mega empolgados é que as vezes tomamos atitudes precipitadas como:

"Vou criar uma interface para essa classe Player mesmo tendo apenas uma única implementação, quem sabe amanha no futuro precisaremos criar um novo player em XPTO" e esse futuro nunca chega …

"Vou deixar a possibilidade de personalizar a ação xpto, fazendo um fluxo alternativo abcd", nenhum usuário personalizou essa ação e o fluxo alternativo apenas deixou o software mais complexo.

8. Teste bem

Os testes garantem que sua obra de arte continua funcionando depois de manutenções, evoluções e refatorações. Práticas como TDD, BDD, teste de aceitação, teste de carga, teste unitário, teste de integração, teste em diversos sistemas operacionais, em diversos aparelhos de celular, etc são práticas que ajudam a descobrir problemas precocemente, não se preocupe com a quantidade de cenários para testar, podemos automatizar tudo e utilizar algum CI como Travis ou Jenkins para trabalhar em nosso favor.

9. Aprenda novos paradigmas, linguagens, etc

O perigo de trabalhar sempre com mesma tecnologia é se tornar viciado aos paradigmas atuais, experimente outras formas de desenvolver: funcional, orientado a objetos, modelo de atores, modelo CSP, desenvolvimento assíncrono com ioloop, etc. O importante é você entender formas alternativas e ao longo do tempo escolher qual faz melhor encaixe para o problema que você está disposto a resolver.

10. Compartilhe a sua solução para todos

Hoje possuímos vários eventos de tecnologia que permitem as pessoas compartilharem os seus conhecimentos, eventos como: Python Brasil, Rupy, BrasilJS, Latinoware, FISL, etc. Ou até eventos mais localizados, como Dojos, e encontros regionais. O mais legal é que você pode tanto aprender como ensinar ❤

Python Brasil 2016 e a sua comunidade em Floripa

--

--