segunda-feira, 4 de abril de 2022

Você sabe quais são as características técnicas e comportamentais de um arquiteto de software?

No post anterior, eu falei sobre as responsabilidades de um arquiteto de software.

Agora, você sabe quais são as características técnicas de um arquitero de software? (hard skills)

1) Sólido e profundo conhecimento em programação (escrita de código, qualidade, componentização, clean code, etc)

2) Ter forte conhecimento de pelo uma plataforma de desenvolvimento em conjunto com suas ferramentas, frameworks e modelagem (arquitetura de solução, visão macro de uma solução, classes, etc)

3) Ter amplo leque de padrões, soluções e abordagens para solucionar problemas;

4) Conhecer técnicas de bom design e qualidade de código-fonte, que contribua com legibilidade, manutenabilidade e testabilidade. (princípios SOLID, padrões de projetos, clean code, etc)


É válido lembrar que um arquiteto de software também precisa ter requisitos pesssoais, o  que chamamos de "soft skills".  Sabendo das responsabilidades e das características de um arquiteto de sofware, não faz sentido sem antes ter :

1) Liderança. Se o arquiteto não conseguir exercer um espírito de liderança, terá dificuldades na sua atuação perante à equipe. Além disso, é importante que tenha capacidade de dividir e delegar tarefas.

2) Comunicação. É importante ser compreendido, diante os liderados e dos respectivos gestores. Exercer o papel de arquiteto de software envolve ensinar, orientar, direcionar, defender pontos de vista seu e dos demais membros, saber questionar adequadamente, etc. E tudo isso, exige uma boa comunicação (suave, clara, didática, objetiva, inspiradora) a ponto de ter bom desempenho na condução de discussões e saber conversar com profissionais de nível hierárquico bem superior.

3) Iniciativa para se antecipar aos problemas, ou seja, Proatividade. Para isso, é necessário ter a coragem de sugerir algo antes que o pior aconteça.

4) Saber ouvir e ter humildade. Um skill importante para o arquiteto de software é ter a capacidade de ouvir a opinião dos outros e sempre exercer a humildade, não apenas porque sabemos que sempre estamos aptos a aprender/melhorar ou maduros para reconhecimento de falhas (erros de decisão sua ou da equipe), mas também porque sabemos que o time também pode sugerir algo que seja tão brilhante (ou até mais) quanto a sugestão do arquiteto.

5) Estar atualizado, buscando constante estudo/pesquisa, uma vez que sempre estão surgindo novas abordagens, filosofias, etc. Além disso, a equipe pode estar tecnicamente bem atualizada e o arquiteto precisar estar ao  menos sontonizado com os novos conceitos e estar aberto às novas tecnologias;

6) Equilíbrio nas tomadas de decisões, sendo ponderado e nunca precipitado;

Você sabe quais são as responsabilidades de um arquiteto de software?

Você sabe quais são as responsabilidades de um arquiteto de software?

1) Responsável pela qualidade técnica do que se está entregando.

2) Desenhar/projetar uma solução compatível com os recursos e requisitos atuais da empresa, e que esses desenhos/projetos tenham flexibilidade suficiente para comportar mudanças futuras e/ou novos requisitos.

3) Apoiar tecnicamente a equipe, formando novos sucessores e evoluindo o nível de cada dev.

4) Apoiar na fluidez da comunicação entre as pessoas do time, inclusive incentivando sempre o envolvimento do time nas decisões;

5) Apoiar a equipe na tomada e direcionamento das decisões técnicas necessárias;


Você sabe quais são as características técnicas e comportamentais de um arquiteto de software?

No post anterior, eu falei sobre as responsabilidades de um arquiteto de software. Agora, você sabe quais são as características técnicas de...