SlideShare uma empresa Scribd logo
1 de 37
Baixar para ler offline
O que aprendi como CTO
Douglas Rocha
Roadmap
● Princípios de liderança
● Problemas comuns
● Planejamento técnico
○ Front-end
○ Back-end
○ Infraestrutura
○ Integração de software
Quem sou eu
● Atualmente arquiteto empresarial
na RelevoLab
● CTO da InvestPro por 2 anos
● 13 anos de experiência
programando
● Amante de DDD, Elm, DSLs,
Haskell e algumas linguagens
nada convencionais
Now what?
Vamos falar sobre ego...
Líder (definição)
● Escolha da comunidade
● Bastião do “Psychological
safety”
● Gestor de conflitos
Líder Técnico v.s. Líder de Conhecimento
“Que código horrível! Vou te
mostrar como se faz.”
“Lê esses artigos aqui e
depois a gente discute.”
Não seja esse cara!
Gestão de conflitos
● Não decida de cabeça
quente
● Causas de Conflito
○ Ego
○ Compreensão de
algo
● Seja o norte
Desespero
Coletivo
Vamos falar de problemas recorrentes...
Business v.s. TI
Problema: Empresas conservam TI
como facção alienígena
Solução:
● Linguagem ubíqua
● TI (também) como experts do
domínio
● Business = Feedback
TI = Execução
Foco na ferramenta / linguagem
Problema: A maioria dos desenvolvedores
são incapazes de priorizar a solução
Solução:
● Top-down approach
● S.O.L.I.D
Preconceitos
Problema: C# > Java (parem com isso
por favor!)
Solução:
● “Piores” ferramentas são usadas
pelas maiores empresas
● Solução do problema > Ferramenta
Interface web quebrada
Problema: Scroll horizontal,
responsividade, alinhamento, etc
Solução:
● Rever os conceitos básicos de
posicionamento CSS
position: fixed;
position: static;
display: block;
position: relative;
position: absolute;
display: inline-block;
position: fixed;
display: flex;
display: inline-flex; display: inline;
display: grid;
Posicione primeiro!
Primeiro wireframe...
Logo a estrutura de divs
Planejamento curto-prazo
Problema: “Isso a gente faz quando
precisar, agora precisamos resolver”
Solução:
● Pense em composição
● Planeje para o futuro
Front-end Agora só falta
funcionar no
IE...
Componentes exigem hierarquia
Atomic design to the rescue!
Átomo
Molécula
Organismo
Template
Página
Micro-frontends
Back-end
Domain Driven Design
Mapas de Contexto
Agregados
Infraestrutura
Teorema CAP
Escolha dois
apenas!
NoSQL
Tipos de Integração
Sistema
de
Arquivos
Banco de
Dados
Compartilhado
RPC
Passagem de
Mensagem <3
Enterprise Integration Patterns
Fim!
douglas@rocha.vg

Mais conteúdo relacionado

Semelhante a GDG RJ 2018 - O que aprendi como CTO

Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04Ale Uehara
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwarePablo Dall'Oglio
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDouglas V. Pasqua
 
Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosData Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosFabio Telles Rodriguez
 
Apresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareApresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareAleatório .
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0Ale Uehara
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreamsJacqueline Abreu
 
Tecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e vocêTecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e vocêLeonardo Silveira
 
Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.Pedro Edson Silva Barros
 
O papel e a carreira de um desenvolvedor de software
O papel e a carreira de um desenvolvedor de softwareO papel e a carreira de um desenvolvedor de software
O papel e a carreira de um desenvolvedor de softwareMichel Graciano
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceCarolina Karklis
 
Domain Driven Design - Uma introdução
Domain Driven Design - Uma introduçãoDomain Driven Design - Uma introdução
Domain Driven Design - Uma introduçãoDaniel Baptista Dias
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareivanassisleal
 

Semelhante a GDG RJ 2018 - O que aprendi como CTO (20)

Meetup Carreira em TI
Meetup Carreira em TIMeetup Carreira em TI
Meetup Carreira em TI
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Visao geralti netshoes04
Visao geralti netshoes04Visao geralti netshoes04
Visao geralti netshoes04
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Fatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um SoftwareFatores que influenciam na longevidade de um Software
Fatores que influenciam na longevidade de um Software
 
Dicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHPDicas para sua carreira de Desenvolvedor PHP
Dicas para sua carreira de Desenvolvedor PHP
 
Iniciando com DDD
Iniciando com DDDIniciando com DDD
Iniciando com DDD
 
Data Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dadosData Hero: Sua carreira na área de dados
Data Hero: Sua carreira na área de dados
 
Apresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de softwareApresentação bichinhos da TI: o que é esse arquiteto de software
Apresentação bichinhos da TI: o que é esse arquiteto de software
 
Visao geral TI04 2-0
Visao geral TI04 2-0Visao geral TI04 2-0
Visao geral TI04 2-0
 
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams#DNAD15  - Diminuindo sofrimento com código legado de linguagens não mainstreams
#DNAD15 - Diminuindo sofrimento com código legado de linguagens não mainstreams
 
C4 Model
C4 ModelC4 Model
C4 Model
 
Visao geralti netshoes01b
Visao geralti netshoes01bVisao geralti netshoes01b
Visao geralti netshoes01b
 
Tecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e vocêTecnologia, mercado de trabalho e você
Tecnologia, mercado de trabalho e você
 
Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.Código limpo: Boas práticas e sua importância no desenvolvimento de software.
Código limpo: Boas práticas e sua importância no desenvolvimento de software.
 
Carreira de dev
Carreira de devCarreira de dev
Carreira de dev
 
O papel e a carreira de um desenvolvedor de software
O papel e a carreira de um desenvolvedor de softwareO papel e a carreira de um desenvolvedor de software
O papel e a carreira de um desenvolvedor de software
 
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresceEncontrando equilíbrio do DDD enquanto sua aplicação cresce
Encontrando equilíbrio do DDD enquanto sua aplicação cresce
 
Domain Driven Design - Uma introdução
Domain Driven Design - Uma introduçãoDomain Driven Design - Uma introdução
Domain Driven Design - Uma introdução
 
Boas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_softwareBoas praticas em_desenvolvimento_de_software
Boas praticas em_desenvolvimento_de_software
 

GDG RJ 2018 - O que aprendi como CTO