9. Encerramento =============== 9.1 - Metodologias e técnicas de produtividade ---------------------------------------------- * Organização almeja fluidez. * Busque uma metodologia pessoal. * Saiba se adaptar a diversas metodologias em equipe. 9.2 - Ambientes de desenvolvimento ---------------------------------- * Deixe seu ambiente de desenvolvimento afinado com o seu trabalho. * Descubra quais são as ferramentas fundamentais para você. * Mantenha templates e scripts de produtividade para facilitar a prototipagem de novos projetos e a execução de tarefas cotidianas. 9.3 - Licenciamento de software ------------------------------- * Qualquer conteúdo é protegido por copyright por padrão. * Licenças de software livre e aberto abrandam o copyright, aproximando seu software do copyleft. * Existem diversas licenças, cada uma delas mais apropriadas dependendo de como o software se integrará com outros softwares e com a comunidade. 9.4 - Controle de versão e social coding ---------------------------------------- * Pedra fundamental das boas práticas e quase impossível programar hoje em dia sem isso. * Serve para acompanhar as mudanças no código e facilitar a integraçao do trabalho feito em time. * Não resolve todos os problemas de desenvolvimento, pois não torna obsoleta a comunicação entre desenvolvedores(as). * Serviços de hospedagem de repositórios git são altamente recomendados. 9.5 - DevOps: desenvolvendo e orquestrando ------------------------------------------ * Alta sinergia entre desenvolvimento e operação. * Entregas constantes em ambientes de alta disponibilidade. * Automação de tarefas administrativas para torna-las corriqueiras e reprodutiveis. * Testar o código é fundamental para que a integração funcione. 9.6 - Segurança e privacidade ----------------------------- * Criptografia é só uma parte das práticas seguras. * Pense em como sua aplicação poderia ser subvertida e como voce poderia mitigar as ameacas mais prováveis. * Use HTTPS! 9.7 - Quando (não) reinventar a roda ------------------------------------ * Design patterns sao importantes referencias de como desenvolver, porem não são leis: visão crítica é importante. * Anti-patterns sao exemplos do que não fazer, servindo para aprendermos com as falhas do passado. * Documentar é preciso! * Saiba quando inventar, reinventar ou desinventar a roda! 9.8 - Lidando com os clientes ----------------------------- * Uma boa proposta é um bom começo! * Estimar o trabalho necessario depende da experiencia passada do(a) desenvolvedor. * Cobrar por hora ou por projeto depende muito da definiçao do escopo. * Existem fatores de competição e cooperação que podem influir no valor cobrado. * Formalizar sua relaçao é mais simples do que parece! 9.9 - Seguindo adiante ---------------------- * Sempre haverá novos métodos para eliminar as dificuldades acidentais na programação. * Não existem verdades absolutas, mas sim um caminho para reavaliações e autoconhecimento.