Desenvolvendo software no mundo atual

37
DESENVOLVENDO SOFTWARE NO MUNDO ATUAL FELIPE T. MAMUD FELIPE MAMUD @FTMAMUD FRIENDSTECHDAY.COM

Transcript of Desenvolvendo software no mundo atual

Page 1: Desenvolvendo software no mundo atual

DESENVOLVENDO SOFTWARE NO MUNDO ATUAL

FELIPE T. MAMUDFELIPE MAMUD @FTMAMUD FRIENDSTECHDAY.COM

Page 2: Desenvolvendo software no mundo atual

/DEV/FELIPEMAMUD● SOFTWARE CRAFTSMAN● 10 ANOS DE EXPERIÊNCIA● PÓS GRADUADO EM DESENV. SOFT.● SUN CERTIFIED JAVA 5

FELIPE MAMUD @FTMAMUD FRIENDSTECHDAY.COMGITHUB.COM/FMAMUD

Page 3: Desenvolvendo software no mundo atual

QUAL É AREALIDADEDOS PROJETOS DE SOFTWARE HOJE EM DIA?

Page 4: Desenvolvendo software no mundo atual

FALTA DE PRAZOSCUSTOS EXTRAS

FEATURES NUNCA UTILIZADASRISCOS DESCONHECIDOS

FUNCIONÁRIOS DESMOTIVADOSBUGS, FALHAS, ERROS

SISTEMAS LEGADOSDEVS INCOMPETENTES

MICRO GERENCIAMENTODÉBITOS TÉCNICOS

Page 5: Desenvolvendo software no mundo atual

EI, MASPOR QUE

ISSO ACONTECE?

Page 6: Desenvolvendo software no mundo atual

POLÍTICA DE EMPRESAS

Page 7: Desenvolvendo software no mundo atual

DESENVOLVER SOFTWARE

DE MANEIRANÃO TRIVIAL

HEISEINBERG

Page 8: Desenvolvendo software no mundo atual

DEPENDE DE PESSOAS(CRIATIVIDADE/CAPACIDADE INTELECTUAL)

SOFTWARENÃO É

ALGO MECÂNICO

Page 9: Desenvolvendo software no mundo atual
Page 10: Desenvolvendo software no mundo atual
Page 11: Desenvolvendo software no mundo atual

E AGORA?

Page 14: Desenvolvendo software no mundo atual

{CODE QUIZ}

Page 15: Desenvolvendo software no mundo atual

Qual o resultado da soma acima?

a) 0.3 b) 0.300c) 0.30000000000000004 d) ArithmeticException

Page 16: Desenvolvendo software no mundo atual

Qual o resultado da soma acima?

a) 0.3 b) 0.300c) 0.30000000000000004 d) ArithmeticException

Page 17: Desenvolvendo software no mundo atual

Qual o resultado da soma acima?

a) 0.3 b) 0.300c) 0.30000000000000004 d) ArithmeticException

O problema é que um númerocom 0.1 não pode ser

representado em binário demaneira finita. ( 0.110011001100... )

Alternativa?BigDecimal.

Page 18: Desenvolvendo software no mundo atual
Page 19: Desenvolvendo software no mundo atual

// 0.3000000000000000166533453693773481063544750213623046875

Page 20: Desenvolvendo software no mundo atual

// 0.3000000000000000166533453693773481063544750213623046875

O problema é o construtor BigDecimal(double) que

não garante precisão.

Alternativa? BigDecimal(String).

Page 21: Desenvolvendo software no mundo atual

O velho cálculo de Fibonacci, qual o resultado?

a) 19042...7960000 (6270 digits) b) Não Compilac) StackOverflowError d) 30000

Page 22: Desenvolvendo software no mundo atual

O velho cálculo de Fibonacci, qual o resultado?

a) 19042...7960000 (6270 digits) b) Não Compilac) StackOverflowError d) 30000

Page 23: Desenvolvendo software no mundo atual

O velho cálculo de Fibonacci, qual o resultado?

a) 19042...7960000 (6270 digits) b) Não Compilac) StackOverflowError d) 30000

Page 24: Desenvolvendo software no mundo atual

RIGTH WAY!

Page 25: Desenvolvendo software no mundo atual

E COMO APRENDER

TUDO ISSO ?

Page 26: Desenvolvendo software no mundo atual

CONSIDERE EXEMPLOS DE SUCESSO

GIT

PAIRPROGRAMMING

CLEAN CODEPRINCIPALS

REFACTORING

TDDATTBDD

CHAOSMONKEY

CONTINUOUSINTEGRATION

CODE / PEERREVIEW

TESTINGLEGACY

MULTI LAYERTESTING

CODECOVERAGE

CODEANALYSIS

GREEN BUILDSTATUS

CONTINUOUSDELIVERY

CLOUDCOMPATIBLE

CONTINUOUSDEPLOYMENT

DEVOPS

FASTBOOTUP

Page 27: Desenvolvendo software no mundo atual

while (iAmAlive) {study();

}

Page 28: Desenvolvendo software no mundo atual
Page 29: Desenvolvendo software no mundo atual

COMUNIDADES DE SOFTWARE

Page 31: Desenvolvendo software no mundo atual

FTD ENG. DE SOFTWARE - OUT/ 2012

Page 32: Desenvolvendo software no mundo atual

FTD FUNCTIONAL - OUT/2015

Page 33: Desenvolvendo software no mundo atual

FTD FUNCTIONAL - OUT/2015

Page 34: Desenvolvendo software no mundo atual

FTD FUNCTIONAL - OUT/2015

Page 35: Desenvolvendo software no mundo atual

CONSTRUIR SOFTWARE ROBUSTO, ESTÁVEL, FLEXÍVEL,

EXTENSÍVEL E DE ALTA QUALIDADE.

COM EQUIPES ALTAMENTE COMPETENTES, PESSOAS MOTIVADAS

E ADAPTAÇÃO A MUDANÇAS EM QUALQUER CIRCUNSTÂNCIA

DE MANEIRA RÁPIDA E EFICIENTE.

O OBJETIVO FINAL:

Page 36: Desenvolvendo software no mundo atual

DÚVIDAS?