aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md124
1 files changed, 0 insertions, 124 deletions
diff --git a/README.md b/README.md
deleted file mode 100644
index b801f89..0000000
--- a/README.md
+++ /dev/null
@@ -1,124 +0,0 @@
-Boas Práticas em Desenvolvimento
-================================
-
-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.
-* Dificuldade do curso: intermediário.
-
-### 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 8 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.
-
-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
-
-Sugestão de Bibliografia:
-
-* O Mítico Homem-Mês.
-
-Plano de aulas
---------------
-
-1. Metodologias e técnicas de produtividade.
- * Apresentação do professor e do curso.
- * O que são boas práticas de desenvolvimento?
- * Mitos e verdades do desenvolvimento.
- * A catedral e o bazar: Lei de Linus.
- * Metodologias pessoais.
- * Pomodoro.
- * GTD.
- * ZTD.
- * Metodologias em equipe.
- * Agile.
- * Scrum.
-2. Ambientes de desenvolvimento eficientes.
- * A guerra dos editores de texto e IDEs.
- * Ambiente de desenvolvimento eficiente e confortável.
- * Backups e ferramentaria.
- * Criando seus templates de desenvolvimento.
- * Mantendo um diário de bordo e uma base de conhecimento.
-3. Licenças de software.
- * GPL.
- * BSD.
- * Apache.
- * Creative Commons.
- * Domínio Público.
-4. Controle de versão e social coding.
- * O que é? Pra que serve?
- * Quais sistemas existem?
- * Focando no git e no git-flow.
- * Versionando desde o dia 0.
- * Social coding (gitlab, github, etc).
-5. DevOps: desenvolvendo e orquestrando.
- * Vagrant, docker, KVM e afins.
- * Ambientes reprodutíveis.
- * Integração contínua usando o [Travis CI](http://travis-ci.org/).
- * Fazendo o deploy:
- * SSH e rsync.
- * Permissões.
-6. Segurança e privacidade.
- * Segurança começa no desenvolvimento.
- * Use bibliotecas consolidadass!
- * Princípio das permissões mínimas.
- * Criptografia básica:
- * Assinaturas digitais.
- * Comunicação cifrada.
- * Certificados x509 para SSL/TLS/HTTPS.
-7. Quando (não) reinventar a roda.
- * Antipatterns.
- * Inferno de dependências.
- * Documentação: lendo e escrevendo.
-8. Lidando com os clientes.
- * Como fazer / Apresentar uma proposta comercial para um cliente?
- * Items essenciais de uma proposta.
- * Como cobrar (por hora ou por projeto).