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;