Slide 1

Slide 1 text

O IMPACTO DA QUALIDADE DO CÓDIGO EM EMPRESAS E CARREIRAS

Slide 2

Slide 2 text

O QUE VAMOS FALAR HOJE?

Slide 3

Slide 3 text

POR QUE ESTE EVENTO EXISTE? QUAL PROMESSA QUEREMOS ENTREGAR PARA CADA PESSOA QUE ESTÁ AQUI COM A GENTE PARA QUEM É ESTE EVENTO? UM POUCO SOBRE MIM E MAURÍCIO ANICHE POR QUE SER EXCELENTE EM ESCREVER CÓDIGO DE QUALIDADE É IMPORTANTE PARA NOSSAS CARREIRAS? COMO A MÁ QUALIDADE DE CÓDIGO IMPACTA NEGATIVAMENTE AS EMPRESAS 1. 2. 3. 4. 5. 6.

Slide 4

Slide 4 text

QUAL É A NOSSA PROMESSA AQUI?

Slide 5

Slide 5 text

ROTEIRO PARA ESCREVER CÓDIGO DE EXCELENTE QUALIDADE COM FLUIDEZ

Slide 6

Slide 6 text

PARA QUEM É ESTE EVENTO?

Slide 7

Slide 7 text

JÁ ESTUDOU / TENTA APLICAR BOAS PRÁTICAS DE PROGRAMAÇÃO NO SEU DIA A DIA

Slide 8

Slide 8 text

MAS AINDA NÃO É TÃO FLUIDO NEM TÃO FÁCIL...

Slide 9

Slide 9 text

UM POUCO DE HISTÓRIA ...

Slide 10

Slide 10 text

ENCONTRAR MANEIRAS DE ESCREVER CÓDIGO MANUTENÍVEL VIROU UMA MISSÃO

Slide 11

Slide 11 text

AGORA UMA PAUSA: POR QUE TER ESSA HABILIDADE É IMPORTANTE PARA MIM?

Slide 12

Slide 12 text

POR QUE ISSO ME VALORIZA?

Slide 13

Slide 13 text

PRECISAMOS ENTENDER A PERSPECTIVA DAS EMPRESAS PARA O MESMO TÓPICO

Slide 14

Slide 14 text

ANTES UM RELATO DE ANICHE SOBRE O IMPACTO DA QUALIDADE DE CÓDIGO

Slide 15

Slide 15 text

COMEÇANDO POR HABILIDADES COBRADAS EM VAGAS

Slide 16

Slide 16 text

IFOOD - NUBANK - LOFT CREDITAS - PISMO - FLASH

Slide 17

Slide 17 text

TESTES AUTOMATIZADOS (3X) SOLID ORIENTAÇÃO A OBJETOS E BOAS PRÁTICAS DESIGN DE CÓDIGO GARANTIR MANUTENIBILIDADE ALINHAMENTO DO NEGÓCIO (DDD) DESIGN PATTERNS ARQUITETURA EM CAMADAS

Slide 18

Slide 18 text

E POR QUE SERÁ QUE TODAS ESSAS EMPRESAS PEDEM ESSAS COISAS?

Slide 19

Slide 19 text

ENTENDA A REAL DIMENSÃO DO IMPACTO DA FALTA DE QUALIDADE DE CÓDIGO NOS NEGÓCIOS

Slide 20

Slide 20 text

AS PRÓXIMAS INFORMAÇÕES NÃO TEM NOSSA OPINIÃO, APENAS REFERÊNCIAS DE MÚLTIPLAS FONTES DIFERENTES

Slide 21

Slide 21 text

DE ACORDO COM A MCKINSEY (GIGANTE DO MUNDO DE CONSULTORIA)

Slide 22

Slide 22 text

DÍVIDA TÉCNICA DESVIA RECURSOS: DE 10 A 20% DO ORÇAMENTO DE TECNOLOGIA DEDICADO A NOVOS PRODUTOS É GASTO RESOLVENDO DÍVIDA TÉCNICA CONSOME ENTRE 20% E 40% DO VALOR QUE PODERIA SER DADO A ÁREA DE ENGENHARIA É CRESCENTE: 60% DOS CIOS SENTEM QUE A DÍVIDA TÉCNICA DE SUA ORGANIZAÇÃO AUMENTOU NOS ÚLTIMOS 3 ANOS. AUMENTA CUSTOS E ATRASOS: PROBLEMAS OCULTOS NA ARQUITETURA FAZEM PROJETOS ULTRAPASSAREM ORÇAMENTOS E PERDEREM PRAZOS.

Slide 23

Slide 23 text

DE ACORDO COM MARTIN FOWLER ...

Slide 24

Slide 24 text

QUALIDADE INTERNA DE CÓDIGO NÃO É PERCEBIDA PELO USUÁRIO, MAS AFETA A VELOCIDADE DE DESENVOLVIMENTO DE NOVOS RECURSOS. MÁ QUALIDADE INTERNA LEVA AO ACÚMULO DE "CRUFT" (CÓDIGO BAGUNÇADO) QUE DIFICULTA ENTENDER E MODIFICAR O CÓDIGO EXISTENTE. É MUITO COMPLICADO MEDIR PRODUTIVIDADE DE SOFTWARE QUANTITATIVAMENTE, MAS DEVS EXPERIENTES RELATAM QUE CÓDIGO DE MÁ QUALIDADE OS DESACELERA SIGNIFICATIVAMENTE EM POUCAS SEMANAS.

Slide 25

Slide 25 text

DE ACORDO COM CISQ (CONSÓRCIO PARA QUALIDADE DE SOFTWARE)

Slide 26

Slide 26 text

DÍVIDA TÉCNICA DESVIA RECURSOS: 10-20% DO ORÇAMENTO PARA NOVOS PRODUTOS É GASTO RESOLVENDO PROBLEMAS RELACIONADOS À DÍVIDA TÉCNICA. EXISTEM DOIS COMPONENTES: PRINCIPAL (CUSTO DE REFATORAÇÃO) E JUROS (ESFORÇO EXTRA DEVIDO À DÍVIDA TÉCNICA). JUROS SE ACUMULAM COM O TEMPO À MEDIDA QUE CÓDIGO FICA MAIS FRÁGIL. PESQUISAS ESTIMAM QUE DEVS GASTAM EM MÉDIA 23-33% DO SEU TEMPO LIDANDO COM DÍVIDA TÉCNICA. ISSO CLARAMENTE IMPACTA PRODUTIVIDADE.

Slide 27

Slide 27 text

DE ACORDO COM UMA INVESTIGAÇÃO EM 39 REPOSITÓRIOS PRIVADOS DA CODESCENE

Slide 28

Slide 28 text

CÓDIGO DE BAIXA QUALIDADE (ALERTA) CONTÉM EM MÉDIA 15 VEZES MAIS DEFEITOS REPORTADOS EM JIRA DO QUE CÓDIGO DE ALTA QUALIDADE (HEALTHY). RESOLVER UMA ISSUE NO JIRA EM CÓDIGO DE BAIXA QUALIDADE (ALERTA) LEVA EM MÉDIA 124% MAIS TEMPO DE DESENVOLVIMENTO DO QUE EM CÓDIGO SAUDÁVEL (HEALTHY). RESOLVER ISSUES EM CÓDIGO DE BAIXA QUALIDADE ENVOLVE MUITO MAIS INCERTEZA, COM TEMPOS MÁXIMOS DE DESENVOLVIMENTO 9 VEZES MAIORES DO QUE EM CÓDIGO SAUDÁVEL. ISSO AFETA A PREVISIBILIDADE E PLANEJAMENTO DAS EQUIPES.

Slide 29

Slide 29 text

THE IMPACT ON MAINTAINABILITY OF CODE SMELLS: A LARGE SCALE EMPIRICAL INVESTIGATION

Slide 30

Slide 30 text

CLASSES COM CODE SMELLS TENDEM A SER MAIS PROPENSAS A MUDANÇAS E DEFEITOS. TER MÚLTIPLOS SMELLS AMPLIFICA ESSE EFEITO. MESMO OS MELHORES DEVS INTRODUZEM SMELLS. EQUIPES EXCELENTES CONTROLAM COM TESTES, REFATORAÇÃO E INTEGRAÇÃO CONTÍNUA. CODE SMELLS COMO LONG METHOD, SPAGHETTI CODE E COMPLEX CLASS SÃO OS MAIS DIFUNDIDOS. ISSO SUGERE QUE MÉTRICAS SIMPLES JÁ PODEM INDICAR PROBLEMAS DE QUALIDADE.

Slide 31

Slide 31 text

DE ACORDO COM A STRIPE...

Slide 32

Slide 32 text

PESSOAS EXECUTIVAS CONSIDERAM FALTA DE DEVS UMA GRANDE AMEAÇA AOS NEGÓCIOS, MAIS ATÉ QUE ACESSO A CAPITAL. PORÉM, A PRODUTIVIDADE DOS DESENVOLVEDORES É IGUALMENTE CRÍTICA. DEVS GASTAM EM MÉDIA 17 HORAS POR SEMANA EM MANUTENÇÃO E DEBUG, E 3,8 HORAS EM "BAD CODE", TOTALIZANDO US$ 85 BILHÕES EM CUSTO ESTIMADO ANUAL GLOBALMENTE. CÓDIGO RUIM E DÍVIDA TÉCNICA TÊM GRANDE IMPACTO NEGATIVO NA MOTIVAÇÃO DOS DESENVOLVEDORES.

Slide 33

Slide 33 text

POR QUE SERÁ QUE AS EMPRESAS SE IMPORTAM ?

Slide 34

Slide 34 text

ENTÃO... POR QUE ISSO IMPORTA PARA NOSSA CARREIRA?

Slide 35

Slide 35 text

NOSSA VALORIZAÇÃO ESTÁ CONECTADA COM A VALORIZAÇÃO DO NOSSO CONHECIMENTO NO MERCADO

Slide 36

Slide 36 text

SER CAPAZ DE ESCREVER CÓDIGO QUE FACILITE MANUTENÇÃO É ALGO QUE ESTÁ NO CENTRO DE TUDO, É FUNDAMENTAL

Slide 37

Slide 37 text

É COMO SE FOSSE UMA AÇÃO BLUE CHIP, SÃO AQUELAS MAIS NEGOCIADAS E MAIS ESTÁVEIS DA BOLSA

Slide 38

Slide 38 text

PARA ALÉM DISSO, VAMOS OLHAR PARA NOSSA PERCEPÇÃO DE PRODUTIVIDADE E BEM ESTAR

Slide 39

Slide 39 text

O QUE MAIS AFETA PRODUTIVIDADE DE DEVS NO GOOGLE ?

Slide 40

Slide 40 text

QUALIDADE DE CÓDIGO, DÍVIDA TÉCNICA, FERRAMENTAS, COMUNICAÇÃO EM EQUIPE, METAS, MUDANÇAS ORGANIZACIONAIS ESTÃO CAUSALMENTE LIGADOS À PRODUTIVIDADE. ANÁLISE MAIS FORTE AINDA MOSTRA QUE MELHORIAS EM QUALIDADE DE CÓDIGO CAUSAM AUMENTO DE PRODUTIVIDADE, E NÃO O CONTRÁRIO. MELHORIA EM QUALIDADE DE CÓDIGO, REDUÇÃO DE DÍVIDA TÉCNICA E ESTABILIDADE DE PRIORIDADES SÃO INICIATIVAS PROMISSORAS PARA AUMENTAR PRODUTIVIDADE.

Slide 41

Slide 41 text

E COMO ESSA PRODUTIVIDADE PODE ESTAR LIGADA AO NOSSO BEM ESTAR ?

Slide 42

Slide 42 text

UM POUCO SOBRE O SPACE

Slide 43

Slide 43 text

SATISFACTION (BEM ESTAR MESMO) PERFORMANCE (OUTPUT) ACTIVITY (CONTAGEM DE PRODUÇÃO) COMMUNICATION AND COLLABORATION EFFICIENCY AND FLOW

Slide 44

Slide 44 text

SATISFACTION (BEM ESTAR MESMO) FALAMOS DE FALTA DE MOTIVAÇÃO EM AMBIENTES COM POUCA QUALIDADE DE CÓDIGO PERFORMANCE (OUTPUT) FALAMOS DE LENTIDÃO POR CONTA DA MÁ QUALIDADE EFFICIENCY AND FLOW FALAMOS DAS INTERRUPÇÕES NÃO PLANEJADAS POR CONTA DA FALTA DE QUALIDADE

Slide 45

Slide 45 text

E SE PODE AFETAR SUA PERCEPÇÃO DE PRODUTIVIDADE E BEM ESTAR, LOGO PODE AFETAR A EMPRESA

Slide 46

Slide 46 text

SER CAPAZ DE ESCREVER CÓDIGO DE QUALIDADE VAI CHAMAR ATENÇÃO, DA EMPRESA, DE PARES.

Slide 47

Slide 47 text

E COMO BUSCAMOS ESSE PRÓXIMO NÍVEL PARA AUMENTAR NOSSA VALORIZAÇÃO?

Slide 48

Slide 48 text

CENAS DO PRÓXIMO CAPÍTULO ...

Slide 49

Slide 49 text

REFERÊNCIAS UTILIZADAS

Slide 50

Slide 50 text

HTTPS://SERVICES.GOOGLE.COM/FH/FILES/MISC/2023_FINAL_REPORT_SOD R.PDF HTTPS://WWW.MCKINSEY.COM/CAPABILITIES/MCKINSEY-DIGITAL/OUR- INSIGHTS/TECH-DEBT-RECLAIMING-TECH-EQUITY HTTPS://WWW.IT-CISQ.ORG/THE-COST-OF-POOR-QUALITY-SOFTWARE-IN- THE-US-A-2022-REPORT/ HTTPS://ARXIV.ORG/PDF/2203.04374.PDF HTTPS://MARTINFOWLER.COM/ARTICLES/IS-QUALITY-WORTH-COST.HTML HTTPS://OCW.UNICAN.ES/PLUGINFILE.PHP/2171/COURSE/SECTION/2000/SMC OSTS.PDF HTTPS://LINK.SPRINGER.COM/ARTICLE/10.1007/S10664-017-9535-Z#SEC13 HTTPS://STRIPE.COM/FILES/REPORTS/THE-DEVELOPER-COEFFICIENT.PDF HTTPS://LINK.SPRINGER.COM/ARTICLE/10.1007/S10664-023-10381-0 HTTPS://DL.ACM.ORG/DOI/PDF/10.1145/3540250.3558940 HTTPS://QUEUE.ACM.ORG/DETAIL.CFM?ID=3454124