Boas Práticas em Desenvolimento - Ementa ======================================== - Título do curso: Boas Práticas em Desenvolvimento de Software. - Professores: Silvio Rhatto. - Tempo estimado de dedicação do aluno e agenda de comprometimento sugerida: 40 horas. - Público alvo e Pré-requisitos: o curso é orientado a desenvolvedores(as) de software que já possuem ao menos um conhecimento básico em programação e que necessitam melhorar sua produtividade ou mesmo trabalhar em time de maneira fluida. Currículo do professor ~~~~~~~~~~~~~~~~~~~~~~ Silvio Rhatto é bacharel em meteorologia, técnico em eletrônica e autodidata em computação. Desenvolve software livre há mais de 10 anos e já realizou diversos cursos na área de tecnologia, especialmente em segurança da informação e privacidade. Descrição do curso ~~~~~~~~~~~~~~~~~~ Este curso introduz diversas metedologias, ferramentas e conceitos de desenvolvimento de software que aumentam a produtividade e facilitam o compartilhamento de código. A ideia é preencher a lacuna dos cursos específicos de programação que dificilmente abordam questões práticas e cotidianas como controle de versão, manutenção de um ambiente de desenvolvimento, licenciamento, segurança, etc. Apesar dos softwares serem produtos definidos, reprodutíveis e na maioria das vezes determinísticos, o seu desenvolvimento implica na canalização da criatividade, na capacidade de trabalhar colaborativamente e enfrentar desafios como a integração de elementos já disponíveis. Para que isso seja possível e agradável, é fundamental que o(a) programador(a) entenda o processo de desenvolvimento que vai além de simplesmente codificar seu raciocínio numa linguagem de programação. Serão apresentados problemas essenciais e acidentais da programação e diferentes maneiras de abordá-los, indo desde a ansiedade de programar até os modernos ambientes de teste contínuo. Ao concluir o curso, o(a) aluno(a) terá condições de: - Analisar criticamente as técnicas e ferramentas apresentadas. - Escolher quais delas mais se adequam à sua realidade. - Pesquisar o tema por conta própria. Estrutura do curso ~~~~~~~~~~~~~~~~~~ O curso será dividido em 9 aulas, sendo cada aula organizada nos seguintes capítulos: 1. `Metodologias e técnicas de produtividade `_. 2. `Ambientes de desenvolvimento eficientes `_. 3. `Licenças de software `_. 4. `Controle de versão e social coding `_. 5. `DevOps: desenvolvendo e orquestrando `_. 6. `Segurança e privacidade `_. 7. `Quando (não) reinventar a roda `_. 8. `Lidando com os clientes `_. 9. `Encerramento `_. Os capítulos serão organizados na forma de: - Vídeo aulas. - Testes e atividades online. - Exercícios individuais de aplicação. - Leitura de material didático de apoio. Dificuldade do curso ~~~~~~~~~~~~~~~~~~~~ Intermediária. Relação do curso com o PRONATEC ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eixo Tecnológico: Informação e Comunicação (é um curso transversal, aderente á todos os demais cursos que envolvem linguagens de programação e / ou desenvolvimento de software). Aplicação do conhecimento ~~~~~~~~~~~~~~~~~~~~~~~~~ Como e onde ele vai usar usar isso ? Por que que ele será um profissional melhor aplicando este conhecimento ? Material Didático ~~~~~~~~~~~~~~~~~ Bibliografia básica: - O Mítico Homem-Mês. Bibliografia complementar: - Vide seção de referências de cada aula.