Arquiteto de software? O que estudar?

Postado em Atualizado em

Já recebi muita essa pergunta nos fóruns, emails e cursos, hoje gostaria de separar um tempo e falar sobre. Aperte o cintos e vamos nessa. Objetivo de um arquiteto de software é projetar soluções. O que podemos fazer para aprender isso?  Participar de projetos reais, “colar” no arquiteto responsável da corporação, aprendendo com ele os contextos ai do dia a dia e suas decisões de design. E se eu não tiver acesso a um? Sem problemas, temos livros fantásticos no mercado que registram e documentam experiencias e contextos de projeto reais de software. Mesmo se tivesse acesso a um, seria necessario complementar o seu conhecimento, estudando os mesmos livros, potencializando seu know-how e experiências. Sendo assim, segue abaixo um lista completa e devidamente sequencial de livros que vão te encaminhar para a profissão de arquiteto de software:

1. Patterns of Enterprise Application Architecture – Autor Martin Fowler

Esse livro é o mais fundamental de todos, tratando ai de padrões, contexto e soluções básicas pontuadas na camada de visão, negócio e persistência. Esse seria o livro que todos deveriam começar. Quantas camadas eu devo fazer? Sessão de usuário, você persiste no cliente? No server? Ou no bando de dados? Regra negocio, procedural ou orientado a objetos? Persistência de dados? SQL ou ORM? Estes são alguns de muitos dos exemplos de coisas básicas respondidas nesse livro. Existe uma versão em português.

2. Domain-Driven Design: Tackling Complexity in the Heart of Software , autor Eric Evans

Ele oferece aos leitores uma abordagem sistemática com relação a como desenvolver uma solução completa usando realmente OOP, apresentando um conjunto abrangente de práticas, ideais de design, técnicas baseadas em experiências e princípios fundamentais que facilitam o desenvolvimento de projetos de software que enfrentam domínios complexos. Reunindo práticas de design e implementação, este livro incorpora vários exemplos baseados em projetos que ilustram a aplicação do design dirigido por domínios no desenvolvimento de softwares na vida real. Existe uma versão em português.

3. Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions – Autores Gregor Hohpe e Bobby Woolf.

Ao projetar uma solução, o arquiteto tem hoje uma outra dificuldade muito básica, integrar a nova solução com outras existentes, ou legadas e ou de parceiros de negócio. Dificilmente projetaremos um novo produto para funcionar sozinho de forma isolada. Nesse livro, teremos os cenários mais clássicos de integração, opções, prós e contras e muitas informações. Para ligar uma solução na outra, uso banco de dados? Arquivo? Web Services? Mensageria? Qual é melhor? Qual é mais cara?  Mais demorara? Nele você encontrara todas essas informações já mastigada e comprovada na prática. Outro motivo para ler esse livro é que ele se aprofunda especificamente no padrões de integração relacionado ao uso de servidores de mensageria. Não temos versão em português. Já fique sabendo que, sem inglês, como arquiteto, não da para chegar tão longe.

4. Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services, Autor Robert Daigneau

O uso de web services hoje tem sido um pilar fundamental para fazer integração de soluções, fazendo com os estilo SOAP e REST tenham seus próprios contextos, padrões, casos e soluções individualizadas. Nesse livro, você encontrará todos esses casos, padrões, e experiências relacionados com o uso efetivo de cada estilo de web services SOAP e REST. Não tem versão em português.

5. Building Microservices, Designing Fine-Grained Systems, Autor Sam Newman

O novo dilema de um arquiteto de software, na hora de projetar um solução é manter o uso de tipo de projeto monolítico ou usar o novo tipo de projeto conhecido com microservices. Nesse livro, você encontrara todas a informações necessárias para aprender oque é microservices, quando e se deve usar no seu projeto. Não tem versão em português.

5. Microservice Patterns, Autor Chris Richardson

Se o arquiteto decidir em usa o estilo de projeto microservices, muitos problemas surgiram na aplicação da filosofia. Como coordenar transação em projetos separados? Devo usa um banco de dados por serviço ou um para todos. Esse livro, que não esta pronto, trata contextos, padrões e experiencia relacionado o uso cotidiano de microservices. Até lá, consulte o site oficial do autor, que contem um boa documentação previa do assunto.

Conclusão

Bom pessoal, vou encerrar por aqui. Acredito que já temos livros ai para um “booooommmm” tempo de estudo, estou nessa jornada há um bom tempo, quase terminado todos eles. Te convido a entrar nessa jornada comigo. Vamos nessa? Precisando de ajuda, estou a disposição. Até a próxima!

“Por isso, não fiquem preocupados com o dia de amanhã, pois o dia de amanhã trará as suas próprias preocupações. Para cada dia bastam as suas próprias dificuldades.” Mateus 6:34

Anúncios