H emos escuchado muy frecuentemente sobre el rol del arquitecto puesto que en cualquier organización le refiere sin embargo debido a los cambios tan incesantes en la construcción de software, ha sido complejo establecer una definición de lo que el rol involucra, cruzándolo con roles de Manager, de Desarrollador, Ingeniero o Desarrollador, dejando espacio para interpretaciones y dejando de lado aspectos importantes sin tener en cuenta.
Lo anterior como común denominador, en diversos ámbitos donde se rehúsa a definir la arquitectura de software y en cambio recurrir a la famosa cita:
La arquitectura se trata de las cosas importantes … sea lo que sea.
Ralph Johnson
Sin embargo hagamos un espacio para tratar de resumir lo solicitado por las organizaciones al buscar un arquitecto de software
¿Para quién es este rol?
*Tienes algún background en el desarrollo: Por ejemplo eres o fuiste desarrollador, eres o fuiste líder de algún equipo de desarrollo, fuiste administrador de la construcción de las soluciones
*Preferentemente con algunos años de experiencia
*Preferentemente con algún grado de experiencia en el desarrollo de sistemas
¿Porqué alguien querría ser arquitecto de software?
- Es interesante
- Tu carrera profesional podría generar más amplitud
- Estás listo para adquirir mayor responsabilidad
De modo que de lo anterior en general las expectativas de un arquitecto se resumen en:
Expectativas de un arquitecto
- Establecer las decisiones de arquitectura
- Continuamente analizar la arquitectura
- Mantenerse al día con las últimas tendencias
- Asegurar cumplimiento con las decisiones tomadas
- Experiencia y exposición diversa
- Tener conocimiento en el dominio del negocio
- Poseer habilidades interpersonales
- Entender y manejarse en la política de la organización
¿Qué es la arquitectura de software?
La arquitectura de software es la combinación estructurada de las características de arquitectura, decisiones de arquitectura y principios de diseño.
Lo anterior puesto que cuando sobre un sistema se solicita describir su arquitectura y se responde con solamente
"Es una arquitectura de microservicios"
En realidad se habla de la estructura del sistema, mas no de su arquitectura.
Cada uno de ellos con su propia dimensión y contexto, veamos:
- Estructura del sistema: El estilo de arquitectura
- Características de arquitectura: Aquellos atributos de calidad de los sistemas.
- Decisiones de arquitectura: Reglas de la construcción de sistemas.
- Principios de diseño: Líneas guía para la construcción de sistemas.
Con lo anterior llegamos a un punto donde la teoría encuentra a la práctica puesto que para poder llevar lo anterior a cabo necesitamos pensamiento arquitectónico. Veamos:
Pensamiento arquitectónico
El pensamiento arquitectónico comprende los siguientes aspectos
Diferenciación del proceso de arquitectura y el de diseño: Para hacer que la arquitectura se desempeñe correctamente, es necesario una relación bidireccional entre la construcción y la definición de la solución, por lo que en este caso el diseño es sólo una etapa de la arquitectura.
- Holgura técnica: La búsqueda insistente de la reducción de aspectos desconocidos en la tecnología, manteniendo así la holgura necesaria para realizar las tareas de arquitectura.
- Análisis de ponderaciones: Generar conclusiones fundamentadas y basadas en el contexto de la empresa, conductores, y cualquier factor competente al proyecto en cuestión.
- Entender los conductores comerciales: Es necesario entender los orígenes de la necesidad y aquello esperado por áreas comerciales para lograr el éxito del sistema.
- Oscilación entre arquitectura y construcción en práctica: En ocasiones se piensa que un arquitecto no debería construir o escribir código, sin embargo creo que para mantener cierto nivel de entendimiento de la complejidad técnica, es necesario escribir código pos supuesto sin llegar a hacerse responsable de la práctica de construcción
De lo anterior, ¿Sigues interesado en ser arquitecto?
En la segunda parte de esta serie de posts hablaremos de algunos estilos de arquitectura. ¡Estad atentos!
Top comments (0)