[feedback] Minha evolução como profissional e talvez para você que está perdido um ponto de começo.
Atualmente venho estudando muito sobre arquitetura de software que é uma das matérias abordadas dentro da Engenharia, minha trajetória até esse momento está em uma curva crescente contínua e me sinto realizado com isso.
Durante minha graduação em ciências da computação eu não ligava muito para a matéria de Engenharia de software, mas hoje percebo que ela provavelmente é mais importante do que codificar algo (posso estar muito errado nisso). Ela nos mostra um lado que muitos dos desenvolvedores ignoram, o lado "maçante" do corporativo, fornecendo uma perspectiva que muda totalmente como nós escrevemos um software. Não é simplesmente cuspir código e fazer com que funcione, cada linha, cada lógica pensada de forma proposital tem um peso na solução final.
O processo de arquitetar uma solução requer um certo domínio do negócio, o arquiteto como profissional responsável por este processo tem o papel fundamental de analisar o negócio como um todo de forma externa, ou seja, entender o domínio em que o negócio atua bem como o mercado concorrente, mas, também deve analisar o contexto interno da empresa.
Todo o ecossistema corporativo é composto por uma sociedade multicultural com visões diferentes sobre um mesmo termo, por exemplo, um cliente da empresa, que para o setor financeiro é visto como entrada de caixa e recursos, para o setor de marketing pode ser visto como meio de comunicação e propaganda externa, e a partir destas duas perspectivas podemos ter processos totalmente distintos para tratamento de uma mesma entidade (o cliente), e a solução proposta deve levar ambas as visões em consideração, um exemplo claro dessa “ilógica de negócios” pode ser descrito com um pequeno trecho do livro escrito por Martin Fowler - “Padrões de Arquitetura de Aplicações Corporativas, Pg. 27”
"A seguir, temos a questão do que está por trás do termo “lógica de negócio.” Acho este um termo curioso porque existem poucas coisas que são menos lógicas do que a lógica de negócio. Quando você cria um sistema operacional, esforça-se para manter toda a coisa lógica. No entanto, as regras de negócio são simplesmente impostas a você e, sem um grande esforço político, não há nada que você possa fazer para alterá-las. Você tem que lidar com um conjunto aleatório de condições estranhas que muitas vezes interagem umas com as outras de formas surpreendentes. É claro que elas são assim por alguma razão: algum vendedor negociou receber uma prestação anual dois dias mais tarde do que o usual porque isso se ajustava ao fluxo de caixa do cliente e, assim, ele conseguiu ganhar alguns milhões de dólares no negócio.
Alguns poucos milhares desses casos especiais é o que leva à complexa “ilógica” de negócio, que torna tão difícil o software de negócios. Nesta situação você tem que organizar a lógica de negócio tão eficazmente quanto puder, porque a única coisa certa é que ela mudará com o decorrer do tempo."
Utilizar de múltiplas perspectivas e entender como elas se complementam é algo fundamental para o arquiteto de software, pois isso unifica as diversas linguagens dentro do ecossistema empresarial, dando assim aos envolvidos uma abstração completa sobre como a solução atuará dentro dos diversos setores, e como ela irá complementar o fluxo de trabalho dos mesmos.
Se você leu até aqui, gostaria de saber sobre sua opinião, vivência, e sobre suas conclusões a respeito do tema. Além disso deixe um feedback construtivo, o conhecimento é algo que fundamenta nossa sociedade, e nos aprimora continuamente.
Essa minha conclusão foi feita com base no curso "MBA - Arquitetura Full Cycle", juntamente com a leitura dos livros "Padrões de Arquitetura de Aplicações Corporativas, Martin Fowler", "Fundamentos da Arquitetura de Software: Uma Abordagem de Engenharia, Neal Ford e Mark Richards".