aboutsummaryrefslogtreecommitdiff
path: root/aulas/encerramento.rst
blob: 53b9c5d84da68033e94ed31a970cc772188e3053 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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.