O papel do Arquiteto de Software | Fundamentos de Arquiteto de Software | Parte 04

O papel do Arquiteto de Software | Fundamentos de Arquiteto de Software | Parte 04

O papel do arquiteto de software

Visão geral da seção: Nesta seção, o palestrante discute a importância do arquiteto de software e como ele é fundamental para manter a integridade dos componentes adicionados à solução.

A importância da arquitetura de software

  • A arquitetura de um software pode ser explicada pelos componentes que compõem o sistema, suas responsabilidades e a forma como eles se relacionam.
  • É fundamental ter uma estratégia clara e padrões coerentes que governem as tomadas de decisão com relação ao software.

O papel do arquiteto de software

  • Embora o papel do arquiteto seja provavelmente muito importante, não é necessariamente indispensável.
  • Muitas aplicações seguem uma receita padrão bem-sucedida sem um arquiteto explicitamente designado.
  • À medida que mais componentes são adicionados à solução, torna-se mais difícil manter a integridade desses componentes. Surge a necessidade do arquiteto para garantir isso.

Exemplo comum de progressão da arquitetura

  • Na maioria das empresas, existe uma progressão comum na implementação da arquitetura.
  • Começa com um front-end implementado em alguma tecnologia moderna, um back-end implementado com .NET ou algo similar e um banco de dados relacional.
  • Em algum momento surge a necessidade de implantar uma solução de caching ou banco de dados full-text para consultas mais poderosas.
  • Eventualmente, há também a necessidade de sincronização entre os bancos relacional e full-text.
  • Se precisar trabalhar com grandes montantes de dados, é necessário implantar alguma rotina mais sofisticada de integração.
  • Em algum ponto, alguma requisição do usuário pode precisar de um processamento mais extenso e se adota algum mecanismo de mensageria.

A necessidade do arquiteto

  • À medida que mais componentes são adicionados à solução, torna-se mais difícil manter a integridade desses componentes.
  • Surge a necessidade do arquiteto para garantir isso.

O papel do arquiteto de software

Visão geral da seção: Nesta seção, o palestrante discute o papel do arquiteto de software e como ele é diferente do desenvolvedor sênior.

Arquitetos experientes são referências para a arquitetura

  • Arquitetos experientes são referências para a arquitetura.
  • Eles já participaram de muitos projetos e viram soluções arquiteturais serem implantadas várias vezes.
  • Eles conseguem traçar uma relação entre o problema que a organização está enfrentando e uma solução natural que já foi implementada no passado.

O arquiteto não é necessariamente um desenvolvedor sênior

  • O fato é que o arquiteto de software é responsável por perceber formas padrões para relacionar componentes, responsabilidades, relacionamentos e formular estratégias para atender aos objetivos do negócio.
  • O arquiteto não é um desenvolvedor sênior. A maioria dos bons arquitetos de software são excelentes desenvolvedores, mas essa não é necessariamente uma regra.

Arquiteturas geralmente são implementadas por desenvolvedores seniores

  • As arquiteturas geralmente são implementadas por desenvolvedores seniores que usam a experiência do passado para criar soluções arquiteturais no presente.
  • Essas soluções costumam ser eficientes para tratar dos objetivos do negócio, mas pobres no cumprimento dos atributos de qualidade e das principais restrições.

O arquiteto é um orquestrador

  • O papel do bom arquiteto é atuar como um maestro, juntando as competências do time para compor uma bela arquitetura.
  • Ele deve chamar os especialistas para discutir a solução arquitetural e ouvir os imputs do time para começar a projetar a solução.
  • O arquiteto deve conhecer boas arquiteturas e saber recorrer a essas referências para conseguir construir uma nova implementação com o apoio do time.

Arquitetura de software não é uma atividade solitária

  • Arquitetura de software não é atribuição direta do arquiteto. Ele é um facilitador para o processo da arquitetura.
  • O fato do arquiteto ser um orquestrador, um facilitador, torna-o tão importante.

Arquitetura de Software: Como se Tornar um Arquiteto

Visão Geral da Seção: Nesta seção, o palestrante discute como se tornar um arquiteto de software e as habilidades necessárias para ser bem-sucedido.

Experiência e Estudo de Padrões Arquiteturais

  • Ter experiência em implementação de diferentes padrões arquiteturais ajuda a estabelecer uma relação clara entre um determinado tipo de problema e uma solução arquitetural que consegue resolver esse problema.
  • É importante estudar padrões arquiteturais, que são diferentes dos padrões de projeto utilizados como soluções de design para implementação.
  • Estudar boas soluções arquiteturais, como as usadas por empresas como Twitter e Facebook, pode ajudar a entender quais são os recursos arquiteturais e a forma como pensar os componentes para tratar necessidades específicas.

Comunicação Eficaz

  • Um bom arquiteto precisa aprender a construir bons diagramas e representações para comunicar efetivamente suas ideias.
  • O arquiteto deve ser capaz de falar com pessoas do negócio para atender aos objetivos do negócio respeitando as principais restrições e atendendo aos principais atributos de qualidade.
  • É importante ajustar o vocabulário e discurso do arquiteto ao público que está sendo tratado, criando visões diferentes para explicar a mesma solução arquitetural para públicos técnicos ou não-técnicos.

Envolvimento das Pessoas

  • Um bom arquiteto precisa aprender a envolver as pessoas e ter sensibilidade para entender que não sabe tudo e nem precisa saber todas as soluções técnicas.
  • O papel fundamental do arquiteto é compartilhar abstrações com o time e envolvê-lo no processo, por isso é importante ter habilidades de comunicação eficazes.

Conclusão

O palestrante conclui que se tornar um arquiteto de software requer experiência em implementação de diferentes padrões arquiteturais, estudo de padrões arquiteturais, habilidades de comunicação eficazes e sensibilidade para envolver as pessoas no processo. É importante ajustar o vocabulário e discurso do arquiteto ao público que está sendo tratado, criando visões diferentes para explicar a mesma solução arquitetural para públicos técnicos ou não-técnicos.

Video description

Qual o papel do arquiteto de software? Ele é sempre necessário? Ele programa? Ele é um "Dev Sênior-Sênior"? O que é necessário saber para ser um bom arquiteto? Respostas para essas e outras perguntas, nesse vídeo. ✌ ️Inscreva-se para saber tudo sobre Tecnologia aplicada do jeito certo! 👉 https://exco.me/3yzLAgt —----------- CAPACITAÇÃO EXIMIACO 📝 Mentoria in Company - Arquitetura de Software Práticas, padrões & técnicas para Arquitetura de Software, de maneira efetiva, com base em cenários reais para profissionais envolvidos no projeto e implantação de software. Contrate para sua empresa: 👉 Acesse: https://exco.me/3TG89K6 —----------- A EXIMIACO Conheça nossa metodologia de trabalho 👇 Site: https://eximia.co/ Livros Digitais: https://eximia.co/publicacoes/ Blog: https://eximia.co/blog/ —----------- REDES SOCIAIS Nos siga para ficar por dentro de tudo 👇 Linkedin: https://www.linkedin.com/company/exim... Instagram: https://www.instagram.com/eximia.co/ Twitter: https://twitter.com/eximiaco —----------- PODCASTS Confira outros podcast produzidos pela EximiaCo 👇 🎙️ Tech & Biz - https://technbiz.eximia.co/ 🎙️ Arquitetura de Software Online - https://arquiteturadesoftware.online/podcast/ 🎙️ Podcast Clube do Livro com Elemar Jr - https://clubedolivro.elemarjr.com/