SlideShare uma empresa Scribd logo
Ombros de Gigantes
Marcio Marchini
marcio@BetterDeveloper.net
Rangel Torrezan:
rangel.iflex@gmail.com
18/05/2014
O que eu usaria se eu
fosse competir com os
gigantes da
tecnologia?
O que as Startups
Enxutas estão
usando para
competir com esses
gigantes?
Inovação
Os Gigantes
X
X
X
X
O que os gigantes
esqueceram?
Roda Viva: “Eu sou você amanhã”
Não subestime os pequenos!
Pedra que não rola, cria limo
A necessidade faz o sapa pular
Por Falar em Sapo
Pular...
VS
“If I have seen
further it is by
standing on the
shoulders of giants”
Isaac Newton
1. Design Thinking / Canvas / Lean
2. Cloud / PaaS
3. NoSQL
4. Open Source
Quais ombros subir?
5. Práticas Ágeis
6. Ling. Dinâmicas
1
Design Thinking
Exploração centrada no ser humano
Design Thinking
Qual a dor queremos resolver?
EMPATIA
Rápido e Sujo - Protótipo
Ideias validadas o mais breve
Saia do escritório!!!!
Design Thinking
Critérios
DESEJABILIDADE
VIABILIDADE
PRATICABILIDADE
NECESSIDADE
HUMANA
EXISTE TECNOLOGIA
ECÔNOMICAMENTE
VIÁVEL
BMG – Canvas
Início
Parece ser uma boa ideia
Parece ser uma dor
BMG - Canvas
1º Passo
Montar o Modelo de Negócios
Montar o Modelo
BMG – Canvas
O modelo
• 9 Elemenos
• 2 Principais
• Proposta de valor
• Seguimento de clientes Pilares
BMG – Canvas
Objetivos
Fácil Avaliar
Fácil Visualizar
Fácil de manipular
. . . . . . .
. . . . . . .
. . . .
Lean Startup
Lean Startup
ELIMINATE
UNCERTAINTY
WORK SMARTER
NOT HARDER
DEVELOP AN
MVP VALIDATED
LEARNING
Lean Startup
MVP
SEJA
CRIATIVO
Cartolina
Protótipo
Simulação
Landing Page
Vídeo
MVP Produto
Lean Startup
MVP
2. Cloud/PaaS
(Ambiente Desenvolvimento)
Vantagens
Sem servidores
Esforço admin de rede
DBAs
Backups
Como se fazia
app web...
 Servidor comprado, num CPD próprio
$$$$$
 O cheque de US$100K do investidor na
Google foi para comprar, principalmente,
as máquinas
Evoluindo
SaaS
Servidor Alugado
(Maior escala,
colocation, ...)
IaaS
PaaS
 Quanto custa a infra de uma startup?
 Como posso ser altamente escalável?
 Quanto tempo levaria para preparar o meu
ambiente?
Valore$
Medindo
tempo x custo
 Criar uma conta no Heroku: 5 mins
 Criar um servidor no Heroku: 2 mins
 Tempo Total: 7 mins pra ter um servidor 24/7 escalável, pay-as-you-go
 Custo Total: R$0 (1 heroku dyno)
 Servidor de desenvolvimento = R$0
 Web site = R$0
Escalando: Quanto custa?
• Escalar pra 50 servidores: 10 segundos
• Custo Total: US$ 1762.50 por mês (50 heroku dynos)
E Storage?
Medindo
• Adicionar uma base PostgreSQL: 30 segundos
– pra ter um banco SQL 24/7 escalável, pay-as-you-go
• Custo Total: R$0 (máximo 10 mil registros)
– Servidor de desenvolvimento = R$0
– Web site = R$0
Escalando
• Pague pela quantidade de água que você consome. Startup: R$0
• Heroku é o maior deploy de PostgreSQL do mundo
• Heroku pertence à Salesforce. “Bebem o próprio Champagne.”
– Assim como a Amazon/Loja usa o próprio S3, DynamoDB etc
Backup
• PostgreSQL backup – também um Add-On
Otimizando/Cache: Quanto custa?
• Memcache, REDIS: Pague pela quantidade de água que
você consome. Startup: R$0
Monitoramento
• New Relic – também um Add-On. R$0 pro básico (start-
ups)
Tickets, Controle de Versão, ...
• www.xp-dev.com: TRAC, Git, SVN, CVS gratuito pra 1
projeto (mesmo que comercial): R$0.
Preço proporcional ao Uso
• Caso precises de múltiplos projetos...
2. NoSQL
NoSQL
Quebra de Paradigmas
E NoSQL: Quanto custa?
• Hadoop, MongoDB, Neo4J, CouchDB, Riak, Cassandra
3. Open Source
Mais vantagens ...
X
X
X
4. Práticas Ágeis
ATDD / BDD (um dos Ombros)
• www.NamoroOn.com:
Especificação Ágil Executável
5. Linguagens
Dinâmicas
Gargalos em nossas aplicações
Tempo
Desen.
I/O
CRUD
KLOC
Maximize a quantidade de KLOC que você
NÃO PRECISA ESCREVER
+ +
- -
Minimizando KLOC:
Componentes!!!!!!!!
NoSQL pra escalabilidade
REDIS pra Cache
Reusabilidade com componentes de terceiros!!
Linguagem de programação mais expressiva
Expressividade em Linguagens
• Computer Language Shootout Compara performance
em 10 problemas simples.
– Também lista RAM usada
– Também lista LOC usados
Estudo de
Expressividade
50
Qual Linguagem Escolher?
Qual Ling. Dinâmica Escolher?
– As esotéricas: Scala, Clojure, etc
• Influências de Functional Programming, Haskel etc
– As de cola: Groovy (chama Java fácil)
– As da moda: Ruby (Ruby on Rails, etc), Javascript
(Node.js)
– As sólidas que resistiram ao tempo: Python
– As mais fáceis de achar gente
• Ruby >> Python >> Groovy
Alan Kay
– “Simple things should be simple. Complex
things should be possible”- Allan Kay
• Inventor do Smalltalk
• Inventor da Orientação a Objetos
• Inventor do Sistema de Janelas Gráficas
4. OK, mas quem
utiliza e quais são os
números?!?!
Quem usa Ling.
Dinâmica
• GAE, MapReduce
• Guido
• Guido
• PHP gerando nativo
com HipHop
Quem usa Ling.
Dinâmica
• SaaS de monitoramento
• 800 KLOC
Cases Atuais - Facebook
• PHP (ling. Dinâmica)
• MySQL com Memcache.
• HD SSD DB performance
• 3 bilhões de uploads de foto / mês
• 1.2 milhões de fotos servidas / segundo
• Cassandra (Inbox)
• Hadoop+Hive p/ análise de dados (Big Data)
Cases Atuais - Pinterest
• 150 instâncias web Amazon EC2
• 90 instâncias EC2 pra memcache
• 70 databases para redundância (uso de Sharding).
Hadoop p/ análise de dados.
• Código em Python/Django
Cases Atuais - Dropbox
• 1 milhão de arquivos salvos a cada 15mins
• 99.9% do código: Python (server, client, analytics, etc)
Ressalvas
• Considerar os seguintes aspectos na escolha da
plataforma:
– Open Standard ou Proprietário?
– Qual o custo da licença por desenvolvedor?
– Quão atraente é a tecnologia? (trazer talentos)
– Qual o tamanho da comunidade de profissionais? Livros, fórums, suporte,
etc
– Alinhamento com Universidades, etc (o que vêm-se usando?)
– Qual a quantidade de componentes reusáveis? (diminuir LOC)
– Otimizar / performance onde realmente interessa. “Premature
optimization is the root of all evil” – Donald Knuth
O Futuro: Startups Creating A
New System For IT
– http://highscalability.com/blog/2012/5/7/startups-are-
creating-a-new-system-of-the-world-for-it.html
Então já temos!!
6. Ling. Dinâmicas
5. Práticas Ágeis
4. Open Source
3. NoSQL
2. Cloud / PaaS
1. Design Thinking / Canvas / Lean
Ainda falta mais ...
30/05/2013
Pessoas
• Existem interessados?
• Como está o mercado para
atrair e reter esses
talentos?
• Consigo um ambiente
sustentável?
Tropa de Elite
Intrapreneurs!
Análise
Interesse x Plataforma
• TIOBE Programming Community Index for June 2013
– Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu
• LangPop.com
– Yahoo!, Craigslist, Powell's Books, Freshmeat, Google Code,
Del.icio.us, Ohloh.
– Lambda The Ultimate, programming.reddit.com, Slashdot, IRC.
• Indeed.com
– Site de empregos.
TIOBE LangPop
Indeed
Fazer X Vender
Monetização etc:
Fica pra outra palestra!
Segundo Dave Thomas:
“You have to be able to build it. You have to be able to sell it.
Most companies fail at one of these 2, or both”.
Conclusões
Tudo que foi colocado aqui
não é a bala de prata
Grandes soluções surgem a
todo momento
Pequenas empresas já
crescem com condições
iguais às grandes
Empresas grandes têm
dificuldade de se mover de
forma ágil & reter
intrapreneurs.
Perguntas?
Insanity: doing the same thing over and over again and expecting different results
-- Albert Einstein
Marcio Marchini
http://www.BetterDeveloper.net
http://br.linkedin.com/in/marciomarchini/
Rangel Torrezan:
rangel.iflex@gmail.com
http://br.linkedin.com/in/rangeltorrezan
Referências
• http://ontwik.com/python/pycon-2011-how-dropbox-did-it-and-how-python-helped/
• http://benchmarksgame.alioth.debian.org
• http://redmonk.com/dberkholz/2013/03/25/programming-languages-ranked-by-expressiveness/
• http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
• http://www.langpop.com/
• http://benchmarksgame.alioth.debian.org
• http://en.wikipedia.org/wiki/HipHop_for_PHP
• https://www.djangoproject.com
• http://www.technologyreview.com/featuredstory/410312/how-facebook-works/
• http://royal.pingdom.com/2010/06/18/the-software-behind-facebook/
• http://highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-
growth.html
• http://highscalability.com/blog/2011/3/14/6-lessons-from-dropbox-one-million-files-saved-every-15-
minu.html

Mais conteúdo relacionado

Semelhante a OmbrosDeGigantes-TDC2014

Novas Fronteiras
Novas FronteirasNovas Fronteiras
Novas Fronteiras
Rangel Torrezan
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
Leandro Silva
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
Gleicon Moraes
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
luanrjesus
 
Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)
Huge
 
Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016
Yves Bouckaert
 
5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software
Miguel Alho
 
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ..."Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
Cesar Augusto Nogueira
 
BIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaBIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à Pratica
Daniel Checchia
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
Fabio Janiszevski
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
Mario Guedes
 
NoSQL e Python
NoSQL e PythonNoSQL e Python
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
Alvaro Viebrantz
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
Alessandro Binhara
 
Joomla! for dummies - HackThursday CW 36
Joomla! for dummies - HackThursday CW 36Joomla! for dummies - HackThursday CW 36
Joomla! for dummies - HackThursday CW 36
Jerônimo Medina Madruga
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
Ricardo Martinelli de Oliveira
 
Organizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gostaOrganizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gosta
Johnathan Cardoso
 
Aula 1 - Interaction Design From Ethnography, Mental Models to IA
Aula 1 - Interaction Design From Ethnography, Mental Models to IAAula 1 - Interaction Design From Ethnography, Mental Models to IA
Aula 1 - Interaction Design From Ethnography, Mental Models to IA
Amyris Fernandez
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Vinicius Reis
 
Brasil, Open Source e o Mundo dos Negócios
Brasil, Open Source e o Mundo dos NegóciosBrasil, Open Source e o Mundo dos Negócios
Brasil, Open Source e o Mundo dos Negócios
OpenBossa
 

Semelhante a OmbrosDeGigantes-TDC2014 (20)

Novas Fronteiras
Novas FronteirasNovas Fronteiras
Novas Fronteiras
 
Sistemas para o Mundo Real
Sistemas para o Mundo RealSistemas para o Mundo Real
Sistemas para o Mundo Real
 
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...DNAD 2015  - Como a arquitetura emergente de sua aplicação pode jogar contra ...
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
 
Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)Desenvolvimento Client-Side 2016 (BrazilJS)
Desenvolvimento Client-Side 2016 (BrazilJS)
 
Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016Openredu - ConsoliNE 2016
Openredu - ConsoliNE 2016
 
5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software5 Pontos sobre desenvolvimento de software
5 Pontos sobre desenvolvimento de software
 
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ..."Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
"Se tornando um Desenvolvedor Java NINJA" - Semana Integrada da PUC Campinas ...
 
BIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à PraticaBIGDATA: Da teoria à Pratica
BIGDATA: Da teoria à Pratica
 
O que move a web atualmente?
O que move a web atualmente?O que move a web atualmente?
O que move a web atualmente?
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
NoSQL e Python
NoSQL e PythonNoSQL e Python
NoSQL e Python
 
Carreira de Desenvolvimento
Carreira de DesenvolvimentoCarreira de Desenvolvimento
Carreira de Desenvolvimento
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Joomla! for dummies - HackThursday CW 36
Joomla! for dummies - HackThursday CW 36Joomla! for dummies - HackThursday CW 36
Joomla! for dummies - HackThursday CW 36
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Organizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gostaOrganizando a casa. o front end do jeitinho que a mamãe gosta
Organizando a casa. o front end do jeitinho que a mamãe gosta
 
Aula 1 - Interaction Design From Ethnography, Mental Models to IA
Aula 1 - Interaction Design From Ethnography, Mental Models to IAAula 1 - Interaction Design From Ethnography, Mental Models to IA
Aula 1 - Interaction Design From Ethnography, Mental Models to IA
 
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.jsJava script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
Java script em 2016 - Como sobreviver a essa sopa de letrinhas com vue.js
 
Brasil, Open Source e o Mundo dos Negócios
Brasil, Open Source e o Mundo dos NegóciosBrasil, Open Source e o Mundo dos Negócios
Brasil, Open Source e o Mundo dos Negócios
 

Mais de Marcio Marchini

Critérios de Aceite de Código Para Times Internos ou Terceirizados
Critérios de Aceite de Código Para Times Internos ou TerceirizadosCritérios de Aceite de Código Para Times Internos ou Terceirizados
Critérios de Aceite de Código Para Times Internos ou Terceirizados
Marcio Marchini
 
É Pythonico, mas... é macarrônico
É Pythonico, mas... é macarrônicoÉ Pythonico, mas... é macarrônico
É Pythonico, mas... é macarrônico
Marcio Marchini
 
Whitepaper-Custos
Whitepaper-CustosWhitepaper-Custos
Whitepaper-Custos
Marcio Marchini
 
01-a-Intro-BetterDev
01-a-Intro-BetterDev01-a-Intro-BetterDev
01-a-Intro-BetterDev
Marcio Marchini
 
BDD-NamoroOn
BDD-NamoroOnBDD-NamoroOn
BDD-NamoroOn
Marcio Marchini
 
01-b-Ping
01-b-Ping01-b-Ping
01-b-Ping
Marcio Marchini
 
gae
gaegae
mqm-Agile
mqm-Agilemqm-Agile
mqm-Agile
Marcio Marchini
 
Branches-Intro
Branches-IntroBranches-Intro
Branches-Intro
Marcio Marchini
 

Mais de Marcio Marchini (9)

Critérios de Aceite de Código Para Times Internos ou Terceirizados
Critérios de Aceite de Código Para Times Internos ou TerceirizadosCritérios de Aceite de Código Para Times Internos ou Terceirizados
Critérios de Aceite de Código Para Times Internos ou Terceirizados
 
É Pythonico, mas... é macarrônico
É Pythonico, mas... é macarrônicoÉ Pythonico, mas... é macarrônico
É Pythonico, mas... é macarrônico
 
Whitepaper-Custos
Whitepaper-CustosWhitepaper-Custos
Whitepaper-Custos
 
01-a-Intro-BetterDev
01-a-Intro-BetterDev01-a-Intro-BetterDev
01-a-Intro-BetterDev
 
BDD-NamoroOn
BDD-NamoroOnBDD-NamoroOn
BDD-NamoroOn
 
01-b-Ping
01-b-Ping01-b-Ping
01-b-Ping
 
gae
gaegae
gae
 
mqm-Agile
mqm-Agilemqm-Agile
mqm-Agile
 
Branches-Intro
Branches-IntroBranches-Intro
Branches-Intro
 

OmbrosDeGigantes-TDC2014

Notas do Editor

  1. Rangel faz uma introdução. Motivo do estudo Insatisfação com a qualidade dos nossos sistemas. Inspiração Lean Statup Novas tecnologias
  2. Rangel
  3. Rangel
  4. Rangel
  5. Rangel
  6. Marchini
  7. Marchini
  8. Rangel
  9. Rangel
  10. Rangel Rápido e Sujo Protótipe suas ideias Pense na dor
  11. Rangel
  12. Rangel
  13. Rangel
  14. Rangel
  15. Rangel
  16. Rangel
  17. Rangel
  18. Rangel
  19. Rangel
  20. Marchini
  21. Marchini
  22. Marchini
  23. Marchini
  24. Marchini
  25. Marchini
  26. Marchini
  27. Marchini
  28. Marchini
  29. Marchini
  30. Marchini
  31. Marchini
  32. Marchini
  33. Marchini
  34. Marchini
  35. Marchini
  36. Marchini
  37. Marchini
  38. Marchini
  39. Marchini
  40. Marchini
  41. Marchini
  42. Free Pascal mais lento que Java7 (JIT) em 9/10 casos Free Pascal usa menos memória Free Pascal precisa de menos LOC na maior parte dos problemas Python mais lento que Java7 (JIT) em 8/10 casos Python usa menos memória Python precisa de menos LOC em todos os problemas Em média, Python é 3x mais expressiva
  43. Marchini
  44. Marchini
  45. Marchini
  46. Rangel
  47. Rangel
  48. Rangel
  49. Rangel
  50. Rangel
  51. Rangel
  52. Marcio
  53. Marchini
  54. Rangel
  55. Rangel
  56. Rangel
  57. Rangel
  58. Rangel
  59. Rangel
  60. Rangel
  61. Rangel
  62. Fim. Debate.