Slide 1

Slide 1 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 2023 Dicas de Engenharia de Software //by Hugo Marques } :) [

Slide 2

Slide 2 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Sobre mim > 2023 } :D [

Slide 3

Slide 3 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Aprendizado 01 > 2023 } ;) [

Slide 4

Slide 4 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 /> < Dica #1 /> {Aprenda 1 linguagem, 1 framework e 1 tecnologia de apoio}

Slide 5

Slide 5 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Linguagens 02 Frameworks 03 Tecnologia de apoio 04 Construa projetos front-end back-end mobile

Slide 6

Slide 6 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Aprenda Inglês} < Dica #2 />

Slide 7

Slide 7 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Oportunidades 02 Bons salários 03 Imigração

Slide 8

Slide 8 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Aprenda a escrever} < Dica #3 />

Slide 9

Slide 9 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 E-mails 02 Documentos de arquitetura 03 Documentação 04 Mensagens de commit 05 Perguntas no Slack

Slide 10

Slide 10 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Estude fundamentos} /> < Dica #4 />

Slide 11

Slide 11 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Algoritmos 02 Estrutura de dados 03 Sistemas operacionais 04 Redes 05 Protocolos | HTTP·TCP·UDP

Slide 12

Slide 12 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Aprenda a perguntar} < Dica #5 />

Slide 13

Slide 13 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Título Escreva um título específico // Template Boa Pergunta 01 Contexto Forneça o contexto relevante 02 Expectativa Explique as suas expectativas com relação ao problema 03 Código Forneça o trecho de código relevante para a pergunta 04

Slide 14

Slide 14 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 No dia-a-dia > 2023 } ;) [ 02

Slide 15

Slide 15 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Não existe processo de software perfeito} /> < Dica #6 />

Slide 16

Slide 16 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 SCRUM 02 Kanban 03 Extreme Go Horse

Slide 17

Slide 17 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Não programe por coincidência} /> < Dica #7 />

Slide 18

Slide 18 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Saiba explicar o código 02 Não codifique às escuras 03 Documente as suas suposições 04 Teste as suas hipóteses // Dica #7

Slide 19

Slide 19 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Entenda seus algoritmos e trade-offs} /> < Dica #8 />

Slide 20

Slide 20 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Lembre-se dos fundamentos 02 Entenda seu contexto 03 Lembre da Dica #7 e evite coincidências

Slide 21

Slide 21 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Organize a casa melhor do que a encontrou} /> < Dica #9 />

Slide 22

Slide 22 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Adiciona testes 02 Refatore, se possível 03 Corrija documentação ultrapassada 04 Escreva uma pequena melhoria no código

Slide 23

Slide 23 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Cuidado com otimização prematura | KISS > DRY} /> < Dica #10 />

Slide 24

Slide 24 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Escreva testes automatizados} < Dica #11 />

Slide 25

Slide 25 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Aumento da qualidade 02 Aumento da confiança 03 Ciclo de desenvolvimento mais ágil 04 Facilita atingir CI/CD

Slide 26

Slide 26 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Evite testes end-to-end} /> < Dica #12 />

Slide 27

Slide 27 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Lentos 02 Não confiáveis 03 Falhas não isoláveis 04 Simulam o comportamento real do usuário

Slide 28

Slide 28 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 < Dica #13 /> {Faça code reviews}

Slide 29

Slide 29 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Distribua conhecimento 02 Encontre problemas antes de produção 03 Valide o cumprimento dos padrões da equipe 04 Promova discussões sobre problemas

Slide 30

Slide 30 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Seja gentil em code reviews} /> < Dica #14/>

Slide 31

Slide 31 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Foque no código, não na pessoa 02 Ofereça sugestões, evite impor regras 03 Evite o viés de "meu jeito é melhor" 04 Elogie SEMPRE que possível 05 Valorize o esforço da pessoa

Slide 32

Slide 32 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Saiba o que procurar em code-reviews} < Dica #15 />

Slide 33

Slide 33 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Testes, testes e testes 02 Segurança 03 Reusabilidade e legibilidade 04 Padrões do time 05 "Overengineering"

Slide 34

Slide 34 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Entenda o significado de "entregue" no contexto} /> < Dica #16 />

Slide 35

Slide 35 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Quando o código é mergeado? 02 Quando o código é implantado em pré-produção? 03 Quando o código é implantado em produção? Developer Machine Test Environment Pre-production Production

Slide 36

Slide 36 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Monitore, no mínimo, os 4 golden signals} /> < Dica #17 />

Slide 37

Slide 37 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Latência 02 Tráfego 03 Erros 04 Saturação de recursos

Slide 38

Slide 38 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Cuidado com a famosa frase "Já fiz isso 100x antes..."} /> < Dica #18/>

Slide 39

Slide 39 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Não existe software perfeito. Entregue > Perfeito} /> < Dica #19 />

Slide 40

Slide 40 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Ferramentas > 2023 } ;) [ 03

Slide 41

Slide 41 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Aprenda a usar sua IDE, editor de texto, e ferramenta de escolha} /> < Dica #20 />

Slide 42

Slide 42 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Aumente sua performance e resolva problemas de forma eficiente Mover, selecionar, deletar blocos de código Editar texto por coluna ou realizar substituições Identar o código e importar dependências automaticamente // Dica #20 Executar o código Testar o código Usar o debugger quando necessário

Slide 43

Slide 43 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Use uma ferramenta de controle de versão} < Dica #21 />

Slide 44

Slide 44 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Uso obrigatório em 2023 02 Aprenda o básico do VCS 03 Comandos básicos (git): git init git add git push git pull git clone git commit git merge git rebase

Slide 45

Slide 45 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Aprenda a usar o Terminal} /> < Dica #22 />

Slide 46

Slide 46 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Navegação básica: cd, pwd, ls 02 Trabalhar com arquivos: cat, head, tail, mv, cp 03 Redirecionar entrada/saída de arquivos: <, >, | 04 Procurar algo: find, grep 05 Manipulação de dados: sed, awk, cut, sort, uniq

Slide 47

Slide 47 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Carreira > Pitch Deck 20xx } ;) [ 04

Slide 48

Slide 48 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Explore, carreira não é nada linear} /> < Dica #23 />

Slide 49

Slide 49 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Explore um pouco, se possível 02 Evite focar sem conhecer as áreas 03 Aprenda para ajudar na escolha do foco: front-end back-end infraestrutura

Slide 50

Slide 50 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Mantenha um diário de desenvolvimento} < Dica #24 />

Slide 51

Slide 51 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Inclua suas contribuições 02 Foque nos exemplos 03 Tente atualizar pelo menos 1x semana.

Slide 52

Slide 52 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Use o método STAR para soft skills} < Dica #25 />

Slide 53

Slide 53 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 (Situação) Descreva o contexto ou situação em que você se encontrava // Dica #25 S (Tarefa) Explique qual era a tarefa ou objetivo que você cumpriu T (Ação) Descreva as ações que você tomou para cumprir a tarefa A (Resultado) Compartilhe os resultados alcançados por meio de suas ações R

Slide 54

Slide 54 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Crie o hábito de estudar regularmente} < Dica #26 />

Slide 55

Slide 55 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Faça cursos relacionados 02 Pratique com projetos pessoais (pet-projects) 03 Contribua para projetos de código aberto 04 Escreva sobre o que você aprendeu

Slide 56

Slide 56 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Leia livros técnicos} < Dica #27 />

Slide 57

Slide 57 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Pragmatic Programmer 02 Fundamentals of Software Architecture 03 Effective Java 04 Designing Data-Intensive Applications

Slide 58

Slide 58 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 {Carreira é uma maratona, não uma corrida de curto alcance} < Dica #28 />

Slide 59

Slide 59 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 01 Não tente aplicar todas as dicas de uma só vez 02 Faça melhorias gradualmente 03 A conquista leva anos, não semanas ou meses 04 Eu não nasci Senior

Slide 60

Slide 60 text

1 0 1 1 0 1 1 0 1 1 0 1 1 0 0 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 0 1 Obrigado! > 2023 Créditos: Slidesgo · Flaticon · Freepik · Midjourney } :D [ @hugaomarques hugodesmarques helloworldcomics