SlideShare uma empresa Scribd logo
1 de 16
Baixar para ler offline
O que é esse tal de arquiteto de
software?
Aleatório
Sumário
● Apresentação
● O que é arquitetura de software?
● Qual é a função de um arquiteto no time?
● Como formar um arquiteto de software?
● Qual é a parte feia?
● O que é esse tal arquiteto de software?
● Perguntas
Apresentação
● Aleatório
● Arquiteto de Softwares
● 17 anos desde m̶i̶n̶h̶a̶ p̶r̶i̶m̶e̶i̶r̶a̶ g̶a̶m̶b̶i̶a̶r̶r̶a̶ meu primeiro código
● 11 anos repetindo que ganho dinheiro fazendo programa
● Tecnólogo, MBA e Mestrando
● Blogueiro Amador (aleatorio.dev.br)
● @aleatoriodevbr
“Arquiteto de software é um título pomposo que programadores exigem que seja
colocado nos seus cartões de visita para justificar seus salários exorbitantes”
Kent Beck
O que é a arquitetura de software?
“Arquitetura é o conjunto de decisões que você queria ter tomado logo no início de
um projeto, mas, como todo mundo, não teve imaginação necessária para fazê-lo”
Ralph Johnson
“A arquitetura representa as decisões significativas de design que moldam um
sistema, onde a significância é medida pelo custo da mudança”
Grady Booch
“Quando as pessoas na indústria de software falam sobre ‘arquitetura’, elas se
referem a uma noção vagamente definida dos aspectos mais importantes do design
interno de um sistema de software.”
Martin Fowler
O que é a arquitetura de software?
● “Arquitetura é sobre o que é importante num software. Seja lá o que isso
signifique” Ralph Johnson
● Arquitetura é sobre mudança e evolução
● Arquitetura é sobre abstração e alto nível
● Arquitetura é sobre custo
● Arquitetura é sobre complexidade (principalmente a escondida)
● Arquitetura é sobre estrutura (módulos, componentes, camadas…)
● Arquitetura é sobre interação entre partes do sistema
Qual é a função de um arquiteto no time?
Qual é a função de um arquiteto no time?
● Diferentes organizações trazem diferentes funções para o arquiteto de software
● Definir a arquitetura do sistema
● Manter a integridade arquitetural
● Definir os riscos técnicos (e como mitigar)
● Participar do planejamento dos projetos
● Definir um plano
● Documentar
● Orientar o time
● Interação com as partes envolvidas
Diferentes visões sobre arquitetura
● Arquiteto Técnico (Technical Architect)
○ Participação direta nas entregas de uma determinada funcionalidade
○ Focado em tecnologias
○ Arquiteto Cloud, Arquiteto Linux, Arquiteto Web, Arquiteto Java…
● Arquiteto de Soluções (Solution Architect)
○ Focado na entrega de uma determinada solução
○ Generalista
● Arquiteto Empresarial (Enterprise Architect)
○ Nível estratégico
○ Soluções para toda a empresas
Como formar um arquiteto de software?
● Engenheiro(a) sênior (no mínimo de 7 a 9 anos de desenvolvimento)
● Passar por vários projetos
● Conhecimento sobre os fundamentos de software e computação
● Participar de vários projetos
● Estudar os clássicos da literatura
● Conduzir vários projetos
● Visão de negócio (saber como a empresa lucra dinheiro)
● Aprender a se comunicar
● Auxiliar vários projetos
● Carreira em Psi (Ψ)
● Eu já comentei a importância de ter experiência com projetos?
Qual é a parte feia?
● Reuniões. MUITAS REUNIÕES
● Conflitos de forças opostas
● Quanto mais você sobe, mais você é cobrado
● Mais reuniões
● Falta de reconhecimento
● Ajustar expectativas
● Menor contato com o código
● Reuniões
● Dizer não
● Pensar no que vai dar errado
O que é esse tal arquiteto de software?
O que é esse tal arquiteto de software?
● Pessoa sênior
● Responsável por cuidar do que é importante num software. Seja lá o que isso
signifique
● Orienta os padrões e desenvolvimento
● Alinha as necessidades de negócio com as técnicas
● Comunica com as partes interessadas
Extras
Clássicos da literatura
● Patterns of Enterprise Application Architecture, Martin Fowler
● Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
● The Mythical Man Month, Fred Brooks
● The Pragmatic Programmer, Andy Hunt e Dave Thomas
● Software Architecture: The Hard Parts, Neial Ford
● Introduction to Algorithms,Thomas H. Cormen, Charles E. Leiserson, Ronald L.
Rivest, and Clifford Stein
● Modern Operating Systems, Andrew S. Tanenbaum
● The Art of Computer Programming, Donald Knuth
● The Art of Unix Programming, Eric S. Raymond
● Test-Driven Development, Kent Beck
● Compilers: Principles, Techniques, and Tools, Ravi Sethi, Alfred Aho, Jeffrey
Ullman, Monica S. Lam

Mais conteúdo relacionado

Semelhante a Apresentação bichinhos da TI: o que é esse arquiteto de software

Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software IIIDalton Martins
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Marcio Miyamoto
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratarAle Uehara
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaPedro Castilho
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralRuan Carvalho
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101Leandro Silva
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedorLucas Moura
 
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0tdc-globalcode
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento4Soft
 
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
 
Carreira em TI - Começando na direção certa
Carreira em TI - Começando na direção certaCarreira em TI - Começando na direção certa
Carreira em TI - Começando na direção certaLuiz Ricardo Silva
 
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...André Paulovich
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaHenrique Nunes Bez Fontana
 
Soujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesSoujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesRaphael Rodrigues
 

Semelhante a Apresentação bichinhos da TI: o que é esse arquiteto de software (20)

Aula Teste Fatec Engenharia de Software III
Aula Teste  Fatec Engenharia de Software IIIAula Teste  Fatec Engenharia de Software III
Aula Teste Fatec Engenharia de Software III
 
ES - 02
ES - 02ES - 02
ES - 02
 
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
Desenvolvimento de software de forma rápida e sem bugs - Introdução a TDD e S...
 
Esboços na arquitetura de software
Esboços na arquitetura de softwareEsboços na arquitetura de software
Esboços na arquitetura de software
 
It skills para rh aprender e contratar
It skills para rh  aprender e contratarIt skills para rh  aprender e contratar
It skills para rh aprender e contratar
 
Arquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão CríticaArquitetura de Software - Uma Visão Crítica
Arquitetura de Software - Uma Visão Crítica
 
Feature-Driven Development - Visão Geral
Feature-Driven Development - Visão GeralFeature-Driven Development - Visão Geral
Feature-Driven Development - Visão Geral
 
Arquitetura de Software 101
Arquitetura de Software 101Arquitetura de Software 101
Arquitetura de Software 101
 
Carreira de desenvolvedor
Carreira de desenvolvedorCarreira de desenvolvedor
Carreira de desenvolvedor
 
Arquitetura Limpa em .NET Core
Arquitetura Limpa em .NET CoreArquitetura Limpa em .NET Core
Arquitetura Limpa em .NET Core
 
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
TDC2018SP | Trilha Arq .Net - Clean Architecture com .NET Core 2.0
 
Lidando com Equipes de Desenvolvimento
Lidando com Equipes de DesenvolvimentoLidando com Equipes de Desenvolvimento
Lidando com Equipes de Desenvolvimento
 
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
 
Carreira em TI - Começando na direção certa
Carreira em TI - Começando na direção certaCarreira em TI - Começando na direção certa
Carreira em TI - Começando na direção certa
 
Aula1 dia 22 02 2022.pdf
Aula1  dia 22 02 2022.pdfAula1  dia 22 02 2022.pdf
Aula1 dia 22 02 2022.pdf
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
 
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
[DevDay2018] Arquitetura de Software num cenário de incertezas - Arquitetura ...
 
Palestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresaPalestra papel do desenvolvedor no sucesso da empresa
Palestra papel do desenvolvedor no sucesso da empresa
 
Soujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazesSoujavarj 12 habitos de arquitetos altamente eficazes
Soujavarj 12 habitos de arquitetos altamente eficazes
 
ArquiteturaSoftware
ArquiteturaSoftwareArquiteturaSoftware
ArquiteturaSoftware
 

Apresentação bichinhos da TI: o que é esse arquiteto de software

  • 1. O que é esse tal de arquiteto de software? Aleatório
  • 2. Sumário ● Apresentação ● O que é arquitetura de software? ● Qual é a função de um arquiteto no time? ● Como formar um arquiteto de software? ● Qual é a parte feia? ● O que é esse tal arquiteto de software? ● Perguntas
  • 3. Apresentação ● Aleatório ● Arquiteto de Softwares ● 17 anos desde m̶i̶n̶h̶a̶ p̶r̶i̶m̶e̶i̶r̶a̶ g̶a̶m̶b̶i̶a̶r̶r̶a̶ meu primeiro código ● 11 anos repetindo que ganho dinheiro fazendo programa ● Tecnólogo, MBA e Mestrando ● Blogueiro Amador (aleatorio.dev.br) ● @aleatoriodevbr
  • 4. “Arquiteto de software é um título pomposo que programadores exigem que seja colocado nos seus cartões de visita para justificar seus salários exorbitantes” Kent Beck
  • 5. O que é a arquitetura de software? “Arquitetura é o conjunto de decisões que você queria ter tomado logo no início de um projeto, mas, como todo mundo, não teve imaginação necessária para fazê-lo” Ralph Johnson “A arquitetura representa as decisões significativas de design que moldam um sistema, onde a significância é medida pelo custo da mudança” Grady Booch “Quando as pessoas na indústria de software falam sobre ‘arquitetura’, elas se referem a uma noção vagamente definida dos aspectos mais importantes do design interno de um sistema de software.” Martin Fowler
  • 6. O que é a arquitetura de software? ● “Arquitetura é sobre o que é importante num software. Seja lá o que isso signifique” Ralph Johnson ● Arquitetura é sobre mudança e evolução ● Arquitetura é sobre abstração e alto nível ● Arquitetura é sobre custo ● Arquitetura é sobre complexidade (principalmente a escondida) ● Arquitetura é sobre estrutura (módulos, componentes, camadas…) ● Arquitetura é sobre interação entre partes do sistema
  • 7. Qual é a função de um arquiteto no time?
  • 8. Qual é a função de um arquiteto no time? ● Diferentes organizações trazem diferentes funções para o arquiteto de software ● Definir a arquitetura do sistema ● Manter a integridade arquitetural ● Definir os riscos técnicos (e como mitigar) ● Participar do planejamento dos projetos ● Definir um plano ● Documentar ● Orientar o time ● Interação com as partes envolvidas
  • 9. Diferentes visões sobre arquitetura ● Arquiteto Técnico (Technical Architect) ○ Participação direta nas entregas de uma determinada funcionalidade ○ Focado em tecnologias ○ Arquiteto Cloud, Arquiteto Linux, Arquiteto Web, Arquiteto Java… ● Arquiteto de Soluções (Solution Architect) ○ Focado na entrega de uma determinada solução ○ Generalista ● Arquiteto Empresarial (Enterprise Architect) ○ Nível estratégico ○ Soluções para toda a empresas
  • 10. Como formar um arquiteto de software? ● Engenheiro(a) sênior (no mínimo de 7 a 9 anos de desenvolvimento) ● Passar por vários projetos ● Conhecimento sobre os fundamentos de software e computação ● Participar de vários projetos ● Estudar os clássicos da literatura ● Conduzir vários projetos ● Visão de negócio (saber como a empresa lucra dinheiro) ● Aprender a se comunicar ● Auxiliar vários projetos ● Carreira em Psi (Ψ) ● Eu já comentei a importância de ter experiência com projetos?
  • 11. Qual é a parte feia? ● Reuniões. MUITAS REUNIÕES ● Conflitos de forças opostas ● Quanto mais você sobe, mais você é cobrado ● Mais reuniões ● Falta de reconhecimento ● Ajustar expectativas ● Menor contato com o código ● Reuniões ● Dizer não ● Pensar no que vai dar errado
  • 12. O que é esse tal arquiteto de software?
  • 13. O que é esse tal arquiteto de software? ● Pessoa sênior ● Responsável por cuidar do que é importante num software. Seja lá o que isso signifique ● Orienta os padrões e desenvolvimento ● Alinha as necessidades de negócio com as técnicas ● Comunica com as partes interessadas
  • 14.
  • 16. Clássicos da literatura ● Patterns of Enterprise Application Architecture, Martin Fowler ● Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides ● The Mythical Man Month, Fred Brooks ● The Pragmatic Programmer, Andy Hunt e Dave Thomas ● Software Architecture: The Hard Parts, Neial Ford ● Introduction to Algorithms,Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein ● Modern Operating Systems, Andrew S. Tanenbaum ● The Art of Computer Programming, Donald Knuth ● The Art of Unix Programming, Eric S. Raymond ● Test-Driven Development, Kent Beck ● Compilers: Principles, Techniques, and Tools, Ravi Sethi, Alfred Aho, Jeffrey Ullman, Monica S. Lam