El Arquitecto de Software es visto hoy en día como un integrante fundamental de los equipos de desarrollo de software empresarial. Ante esta situación, es interesante conocer que se requiere para ser un buen arquitecto de software, por lo cual, basado en una petición de Oscar Galicia y una solicitud de linkedin, presento este artículo dinámico en base a mis experiencias y a las de otros arquitectos:
Lo primero que se requiere para ser un arquitecto de software es querer ser un buen arquitecto de software. Esto puede parecer obvio o irónico, pero para nada es así. Estoy siendo sincero y me baso en artículos de prestigiadas revistas e instituciones (véase mi post “Como ser el mejor programador del mundo”).
- Haber participado directamente en al menos 2 proyectos de software grandes, donde existan requerimientos conflictivos entre si de parte de varios participantes (Stakeholders). Esto implica mas de 5 años de experiencia profesional, el buen vino toma su tiempo.
- Amplio conocimiento de alguna de las plataformas empresariales (.Net, J2EE o ahora Ruby on Rails)
- Conocimiento profundo de las características de los atributos de calidad y lo que implica conseguirlos y balancearlos (Escalabilidad contra sencillez por ejemplo)
- Experiencia en todo el ciclo de vida del desarrollo de software (véase el peligro del non coding architect, aunque esto no significa que tenga que continuar codificando en una base diaria)
- Saber trabajar en equipo, Habilidad para convencer y guiar al equipo.
- Habilidad para mantenerse constantemente actualizado en los aspectos tecnológicos y de negocios de su industria.
- Intensa empatía hacia los interesados en los proyectos en que participa, si solo piensa en su área esta frito. Debe de poder ponerse en los pies del resto de los participantes y entender sus preocupaciones. No existe arquitectura que sea buena si no es en función de las necesidades de sus interesados (stakeholders).
Archivado bajo: Arquitectura de software, Desarrollo Profesional, Metodos agiles, software architecture

Hola Jorge, muy interesante tu artículo. Me gustaría hacerte una pregunta para saber tu opinión. ¿Consideras que un buen arquitecto tiene que tener conocimiento amplio sobre los diversos patrones de diseño de software que existen?.
Saludos.
Sin duda el conocer soluciones ya probadas puede facilitarte el trabajo. Lo importante es evitar la paralisis de forzar las soluciones para que apliquen a los problemas.