Arquiteto de software: como esse profissional atua?
Essa é uma pergunta muito interessante. O que um arquiteto de software faz?
Muitas dúvidas sobre arquiteto de software (ou arquitetura de software) surgem ao longo dos anos. Ainda existe um não entendimento que diz que a evolução de uma carreira técnica é júnior->Pleno->Sênior->Arquiteto. Tal raciocínio demonstra uma mistura do papel de um arquiteto para um desenvolvedor. Traçar essa diferença não é impossível, mas os desdobramentos do que é a responsabilidade de um arquiteto ou não pode gerar um bom debate.
A primeira coisa que precisamos trabalhar é questão semântica. Arquiteto é um nome muito ruim. Primeiro que por trás deste nome existe uma pompa que enche o ego do profissional com um título chamativo. Segunda questão é que, hoje em dia, ele é atribuído a tantas coisas que se tornou quase uma entidade do desenvolvimento de software. Martin Fowler em seu famoso artigo, Who Needs an Architect, diz que “O motivo de seu título esquizofrênico é o fato de que, mesmo para os padrões de nossa indústria, “arquiteto” e “arquitetura” são palavras terrivelmente sobrecarregadas”.
Onde o arquiteto de software trabalha?
Um arquiteto trabalha no desenho de sistemas e o que muda, em comparação ao desenvolvedor é o nível de abstração. Enquanto um desenvolvedor está preocupado na melhor forma de nomear as funções e no desenho do fluxo de “ifs” mais otimizado um arquiteto de sistema pode estar preocupado com a escolha da linguagem ou framework, ou a estruturação das camadas. E temos diferentes níveis de abstração: um arquiteto corporativo, por exemplo, tem o dever de olhar para o todo, integrações entre sistemas e mais importante que isso integrações entre times, entre pessoas.
E repito aqui: entre pessoas. Esse é um grande diferencial. No momento que subimos o grau de abstração trabalhamos mais com objetivos coordenados pensando no todo do que em detalhes de implementação. Além disso, soma-se às habilidades técnicas habilidades de negociação, estratégia e planejamento. Kevin Hickey faz uma analogia perfeita ao descrever o papel do arquiteto corporativo: sua função é de construir pontes entre os times para permitir a criação de novas ideias, sem abandonar a qualidade.
Arquitetura de software e o valor da entrega
Fora o fator humano, existe uma necessidade constante de lembrar o porquê fazemos software. Além disso, há uma proposição de valor por trás de toda entrega. E essa proposição de valor, em geral, não é um complexo arcabouço de micros serviços usando uma mensageria em Kafka para atualizar em tempo real banco de dados baseados em stream, ou qualquer outra arquitetura complexa e, muitas vezes, obtusa. Em uma entrevista, Linus Torvalds, que dispensa qualquer apresentação, afirmou que todo programa é tão bom quanto é útil.
Ou seja, por mais que tenhamos uma arquitetura, resiliente, segura, robusta, se ela for inútil de nada vale. Atualmente, um bom arquiteto precisa, mais do nunca, de menos ego e mais simplicidade nas soluções, além de reforçar e aprimorar a maestria técnica de maneira contínua.
Desenvolvimento de Software
Confira outros artigos
WhatsApp Business na sua estratégia: muito além de um chatbot
Podemos dizer adeus a conversas monótonas com chatbots limitados e sem personalidade. Daqui em diante, veremos interfaces conversacionais oferecendo experiências digitais cada vez mais sofisticadas. Em outro artigo, abordamos como mais experiências estão sendo convertidas, progressivamente, em conversas e como essa tendência é potencializada pelos avanços nos modelos de Inteligência Artificial e nos canais de […]
Desenvolvimento de Software
A Inteligência Artificial (IA) e otimização operacional nas empresas
Sumário1 Como a Inteligência Artificial (IA) pode otimizar operações empresariais e aumentar a eficiência? Descubra aqui! 2 Automatização de tarefas repetitivas e demoradas 2.1 Exemplos de IA para economia de tempo2.2 10 exemplos de como utilizar a Inteligência Artificial (IA) para automatizar tarefas repetitivas e/ou demoradas: 3 Melhoria da eficiência e redução de custos com Inteligência Artificial (IA)3.1 […]
Desenvolvimento de Software
Desenvolvimento Android x iOS: 10 recomendações para o desenvolvimento produtivo
Entre agosto de 2022 e junho de 2023, o mercado de aplicativos móveis experimentou um crescimento notável, projetando um aumento anual de 13,4% até 2030, alcançando um mercado estimado em US$ 187,58 bilhões. E, certamente, a tendência é que essa expansão continue exponencialmente nos próximos anos. Portanto, agora é a hora de explorar as oportunidades […]
Desenvolvimento de Software