Arquitectura de Software: Debe el arquitecto programar?

El arquitecto de software, tiene una gran responsabilidad sobre el sistema, debe diseñarlo para que durante su ciclo de vida sea capaz de ser resistente a los cambios, sin que su mantenibilidad y también su performance se vean afectados. En tiempos de agilidad, la arquitectura de software se torna aún más importante pues los componentes deben ser cada vez más livianos, mantenibles de manera independiente, pero sin perder la capacidad de conectarse con el resto de los componentes,  y desde luego de separarse del resto sin romper el flujo operacional.

Dentro de toda esa responsabilidad también al arquitecto le competen las normativas de desarrollo, estándares de codificación, selección de patrones de diseño, arquetipos, normas de desarrollo seguro y selección de lenguajes (que por cierto mientras más agnóstico mejor) , pero debe también programar?

A mí modo de pensar, sí, el arquitecto siempre debe programar, quizás no el 100% del proyecto, pero al menos los arquetipos, debe también programar en los lenguajes que propone pues es necesario que se forme una idea/impresión de las capacidades , ventajas y desventajas de ellos, para así decidir que piezas de software construye con qué o cual lenguaje, para así proveer del mejor stack de soluciones a su equipo. Debe también programar para poder revisar si sus políticas se están utilizando de forma correcta y validar si son efectivas o si debe modificarlas. Hacer inspecciones de código que le permitan corroborar todo lo que planificó en el diseño se cumple y es efectivo.

El arquitecto no puede dejar de aprender, investigar y probar, así y sólo así podrá aportar de buena forma a su organización. Es quien debe tener la visión tecnológica y si deja de hacerlo se volverá cada vez menos agnóstico a la tecnología dejando a la organización cada vez más dependiente y menos resistente a los cambios, transformándose él en un riesgo para ella.

Comments

Comentarios

Buy me a coffee