Read in English · Lire en français · Auf Deutsch lesen
Sección 1.4 de 1.8 · Principiante · 18 min de lectura
Qué hace un arquitecto: responsabilidades, habilidades y tipos de arquitecto
Videolección
5 min · narrado en inglés, con subtítulosSolo escuchar (audio)
Leer la transcripción
¿Qué hace realmente un arquitecto de software? El cargo significa cosas distintas en empresas distintas, pero detrás de esa variedad hay un núcleo común. Vamos a encontrarlo.
En una obra, el arquitecto no coloca cada ladrillo. Pero decide las cosas que serían ruinosas si salieran mal. Explica esas decisiones a los constructores y a los clientes. Y comprueba en la obra que se siguen los planos, y hace ajustes cuando el terreno resulta más blando de lo esperado. Un arquitecto de software hace lo mismo con un sistema de software.
Así que aquí va una definición de trabajo. El arquitecto es quien asume la responsabilidad de que las decisiones significativas se tomen bien, los demás las entiendan y se mantengan vigentes a medida que cambia el sistema. Fíjate en la palabra quien. La arquitectura es un rol antes que un cargo. En muchos equipos nadie tiene el cargo de arquitecto, y el trabajo lo hacen los líderes técnicos o los ingenieros sénior. Lo que importa es que alguien sea claramente responsable de ello. Cuando nadie lo es, la arquitectura sigue ocurriendo, pero por accidente.
Mark Richards y Neal Ford describen ocho expectativas de un arquitecto. Tomar decisiones de arquitectura, y seguir analizando si la arquitectura sigue encajando a medida que cambian las cosas. Mantenerse al día de las tendencias, y tener una exposición diversa, para poder comparar muchas tecnologías. Asegurarse de que las decisiones acordadas se siguen realmente, idealmente con comprobaciones automáticas. Conocer el dominio de negocio lo bastante bien como para hablar con las partes interesadas en sus propios términos. Y tener habilidades interpersonales, y entender la política. Pocas de las ocho son puramente técnicas. Casi todas las decisiones serán cuestionadas, así que la negociación y la persuasión son habilidades centrales, no extras.
El International Software Architecture Qualification Board, o iSAQB, describe las tareas del arquitecto como un ciclo. Empieza por aclarar los requisitos y las restricciones. Después, diseñar las estructuras y los conceptos transversales, como la persistencia y la comunicación. A continuación, comunicar y documentar la arquitectura, y acompañar su implementación junto a las personas que la construyen. Después, evaluarla, sobre todo en cuanto a los riesgos para cumplir los requisitos, lo que lleva de nuevo a aclarar. En el centro están las decisiones. Cada tarea las alimenta y las revisa, y el ciclo se repite durante toda la vida del sistema.
¿Qué habilidades requiere esto? Richards y Ford describen una pirámide del conocimiento con tres capas: lo que sabes, lo que sabes que no sabes y lo que no sabes que no sabes. A un desarrollador típico se le recompensa por la profundidad. La capa superior, la verdadera experiencia, es alta, y la capa intermedia es una franja fina. En un arquitecto, la capa intermedia es mucho más ancha: cosas que sabes que existen pero que no dominas. Saber que existen cinco formas de resolver un problema, y en qué es buena y mala cada una, es lo que te permite comparar opciones. Un arquitecto que solo conoce una base de datos la recomendará siempre.
Este es el ciclo para una necesidad: el sistema de reservas de un hospital debe enviar recordatorios por mensaje de texto. Primero, el arquitecto aclara: unos veinte mil al día, qué ocurre si el proveedor de mensajes no está disponible y nada de datos clínicos, por privacidad. El diseño: el servicio de reservas publica eventos, y un componente de notificaciones independiente envía los mensajes desde una cola. Así, una caída de los mensajes de texto nunca bloquea las reservas. Después, el arquitecto redacta un registro de decisiones de una página con las opciones y los motivos, y lo presenta al equipo y al responsable de gobernanza de la información. Mientras se construye, el arquitecto trabaja en pareja con un desarrollador, revisa la lógica de reintentos y añade una comprobación automática que impide incluir campos clínicos en la plantilla del mensaje. Tres meses después, el arquitecto comprueba: durante una caída del proveedor, los recordatorios se quedan en cola treinta minutos, y el personal clínico confirma que es aceptable. La mayor parte del esfuerzo se dedicó a aclarar, comunicar y comprobar, no a dibujar.
¿Deberían escribir código los arquitectos? La mayoría de las voces experimentadas dicen que hay que seguir implicado en el código, pero fuera de la ruta crítica. Construye una prueba de concepto para probar una opción arriesgada antes de que el equipo se comprometa con ella. Escribe funciones de aptitud: comprobaciones automáticas de reglas arquitectónicas, como que el código de dominio nunca dependa del framework web. Corrige bugs, haz pequeñas tareas de deuda y revisa código con regularidad, lo que muestra cómo se están implementando realmente las decisiones. Y vigila las trampas clásicas: la torre de marfil, cuyos diseños los equipos esquivan discretamente; el cuello de botella por el que tiene que pasar toda decisión; y el experto congelado, cuyo criterio sigue anclado años atrás.
Ese es el papel del arquitecto. La sección completa trata los distintos tipos de arquitecto, una semana en la vida de un arquitecto y un ejemplo de función de aptitud. A continuación, en la Sección uno punto cinco, conocemos a las personas a las que sirve una arquitectura. Nos vemos allí.
Lo que necesitas saber
- Los arquitectos asumen la responsabilidad de que las decisiones significativas se tomen bien, se entiendan y se mantengan vigentes a medida que cambia un sistema; la arquitectura es un rol antes que un cargo.
- Richards y Ford describen ocho expectativas: tomar decisiones, analizar continuamente, mantenerse al día, asegurar el cumplimiento, tener una exposición diversa, conocer el dominio de negocio, tener habilidades interpersonales y saber moverse en la política.
- El plan de estudios de iSAQB enumera las tareas de los arquitectos: aclarar los requisitos, diseñar estructuras y conceptos transversales, comunicar, acompañar la implementación y evaluar, de forma iterativa.
- Entre los tipos de arquitecto están el empresarial, el de soluciones, el de software o de aplicaciones, el de datos, el de seguridad y el de nube o infraestructura; los staff engineers y los principal engineers suelen asumir las mismas responsabilidades.
- Los arquitectos valoran la amplitud técnica (conocer muchas opciones y sus compromisos) por encima de la experiencia profunda en unas pocas, como muestra la pirámide del conocimiento.
- Por lo general, los arquitectos deberían seguir implicados en el código sin hacerse cargo del código de la ruta crítica: pruebas de concepto, funciones de aptitud, corrección de bugs y revisiones de código.
Para qué sirven los arquitectos
Si la arquitectura es el conjunto de decisiones y estructuras significativas de un sistema (Sección 1.1), el arquitecto es quien asume la responsabilidad de que esas decisiones se tomen bien, los demás las entiendan y se mantengan vigentes a medida que cambia el sistema. Parece sencillo, pero el rol es uno de los que se definen de forma menos coherente en el software. En una empresa, un arquitecto es un ingeniero sénior que sigue escribiendo código a diario; en otra, un miembro de un equipo central que revisa diseños y mantiene estándares; en una tercera, una persona que sobre todo habla con los líderes de negocio y los proveedores.
Detrás de esta variedad hay un núcleo común. Los arquitectos toman o guían decisiones costosas de revertir, cuidan las cualidades del sistema completo y no de una sola parte, y conectan las decisiones técnicas con los objetivos de negocio. El resto de esta sección describe lo que eso implica, qué habilidades requiere y cómo se organiza el rol.
Ocho expectativas de un arquitecto
Mark Richards y Neal Ford, en Fundamentals of Software Architecture (O'Reilly, 1.ª edición 2020, 2.ª edición 2025), describen ocho expectativas fundamentales de un arquitecto, sea cual sea el cargo o la empresa. A continuación se parafrasean, con un ejemplo de cada una tomado de una empresa de reparto de comida.
Las ocho expectativas (según Richards y Ford)
| Expectativa | Qué significa | Ejemplo |
|---|---|---|
| Tomar decisiones de arquitectura | Definir decisiones y principios que orienten las elecciones tecnológicas, normalmente guiando al equipo en lugar de imponer productos concretos. | Decidir que las integraciones con restaurantes pasen por una única capa de adaptadores, en lugar de elegir la biblioteca de cada restaurante. |
| Analizar continuamente la arquitectura | Reevaluar si la arquitectura sigue encajando a medida que cambian la tecnología y el negocio, y buscar signos de deterioro. | Darse cuenta de que el servicio de asignación de repartidores acumula ahora el 40% de todos los fallos de despliegue y preguntar por qué. |
| Mantenerse al día de las tendencias | Seguir la evolución de la tecnología y de la práctica, porque las decisiones arquitectónicas son duraderas. | Entender las nuevas ofertas de bases de datos gestionadas antes de la próxima revisión de capacidad. |
| Asegurar el cumplimiento de las decisiones | Comprobar que las decisiones y los principios acordados se siguen realmente, idealmente con comprobaciones automáticas. | Añadir una comprobación en la compilación que falle cuando la app llame directamente al proveedor de pagos. |
| Tener una exposición y una experiencia diversas | Conocer una amplia variedad de tecnologías, frameworks y plataformas lo bastante bien como para compararlas. | Comparar intermediarios de mensajes (message brokers) según el orden, la durabilidad y el costo de operación. |
| Conocer el dominio de negocio | Entender el negocio lo bastante bien como para hablar con las partes interesadas en sus propios términos. | Saber cómo funcionan los pagos a los restaurantes y los reembolsos antes de rediseñar los pagos. |
| Tener habilidades interpersonales | Liderar, colaborar, hacer de mentor y resolver desacuerdos; la mayor parte del trabajo de arquitectura se hace a través de otras personas. | Facilitar una sesión en la que dos equipos acuerdan un contrato de eventos. |
| Entender la política y saber moverse en ella | Conseguir apoyo para las decisiones en una organización donde los presupuestos, las prioridades y la propiedad están en disputa. | Lograr el acuerdo de finanzas y de operaciones antes de retirar un antiguo sistema de informes. |
Fíjate en qué pocas de las ocho son puramente técnicas. Richards y Ford insisten en que casi todas las decisiones que toma un arquitecto serán cuestionadas por alguien (desarrolladores, otros arquitectos, propietarios del producto, jefes de proyecto), así que la negociación y la persuasión son habilidades centrales, no extras. Una arquitectura correcta sobre el papel, pero que no se entiende ni se acepta, no se construirá como se pretendía.
La visión de iSAQB sobre las tareas de los arquitectos
El International Software Architecture Qualification Board (iSAQB), cuyo plan de estudios de nivel Foundation (CPSA-F) se usa ampliamente en Europa, describe las tareas y responsabilidades de los arquitectos de forma parecida. En resumen, los arquitectos: aclaran y examinan a fondo los requisitos y las restricciones; deciden cómo descomponer el sistema en bloques de construcción con sus dependencias e interfaces; deciden sobre inquietudes transversales (cross-cutting concerns) como la persistencia, la comunicación y la interfaz de usuario; comunican y documentan la arquitectura; acompañan su realización e implementación; la analizan y evalúan, sobre todo en cuanto a los riesgos para cumplir los requisitos; y explican las consecuencias de las decisiones arquitectónicas a otras partes interesadas.
El plan de estudios también insiste en que estas tareas son iterativas: los arquitectos trabajan en ciclos y revisan los requisitos y las decisiones a medida que llega la retroalimentación, en lugar de diseñar una vez y pasar el trabajo a otros. La Sección 1.8 examina cómo encaja esto en la entrega iterativa y continua.
El trabajo del arquitecto como ciclo
Tipos de arquitecto
Los cargos siguen los niveles de arquitectura descritos en la Sección 1.2. Las responsabilidades exactas varían mucho entre organizaciones, así que considera la tabla siguiente como típica más que definitiva.
| Tipo | Enfoque | Resultados típicos |
|---|---|---|
| Arquitecto empresarial | Toda la organización: capacidades, cartera de aplicaciones, estándares tecnológicos, alineación con la estrategia | Mapas de capacidades, hojas de ruta del estado objetivo, estándares, asesoramiento sobre inversiones |
| Arquitecto de soluciones | Un problema de negocio o un programa que abarca varios sistemas, proveedores y equipos | Diseños de soluciones, diseños de integración, evaluaciones de proveedores |
| Arquitecto de software o de aplicaciones | La estructura y las cualidades de un sistema o de un grupo de sistemas estrechamente relacionados | Estructuras de componentes, registros de decisiones, escenarios de calidad, orientación técnica a los equipos |
| Arquitecto de datos | Cómo se modelan los datos, a quién pertenecen y cómo se almacenan, mueven, gobiernan y analizan | Modelos de datos, mapas de propiedad de los datos, diseños de pipelines y de plataformas |
| Arquitecto de seguridad | Identidad, acceso, protección de los datos y ubicación de los controles de seguridad | Modelos de amenazas, patrones de seguridad, requisitos de control |
| Arquitecto de nube o de infraestructura | Cómputo, red, almacenamiento, entornos y plataformas | Landing zones (zonas de aterrizaje), diseños de red, estándares de plataforma, modelos de costos |
¿Un rol o un cargo?
La arquitectura es un conjunto de responsabilidades antes que un cargo. En muchas organizaciones, sobre todo en las más pequeñas y en las organizadas en torno a equipos de producto autónomos, nadie tiene el cargo de "arquitecto". El trabajo arquitectónico se sigue haciendo, a cargo de los líderes técnicos, de los ingenieros sénior o del equipo en su conjunto. Lo que importa es que alguien sea claramente responsable de las decisiones significativas y de las cualidades de todo el sistema. Cuando nadie lo es, se sigue produciendo arquitectura, pero por accidente.
Muchas empresas tecnológicas ofrecen una carrera técnica para los contribuidores individuales sénior, con niveles como staff engineer y principal engineer. Staff Engineer (2021), de Will Larson, describe cuatro arquetipos habituales de estos roles, uno de los cuales se llama explícitamente Architect (arquitecto): una persona responsable de la dirección y la calidad de un área técnica crítica. Los demás (Tech Lead, Solver y Right Hand) también asumen una responsabilidad arquitectónica considerable. En estas organizaciones, el trabajo del arquitecto lo hacen personas que también son ingenieros.
El artículo de Martin Fowler de 2003 Who Needs an Architect? contrapone dos caricaturas: un arquitecto que toma en solitario todas las decisiones importantes y otro que trabaja codo con codo con el equipo, hace de mentor de los desarrolladores y les ayuda a tomar buenas decisiones por sí mismos. Fowler defendió con firmeza el segundo. Hoy la mayoría de los profesionales coincide en que los arquitectos que dictan desde lejos suelen producir diseños que los equipos esquivan discretamente.
Amplitud técnica frente a profundidad
A los desarrolladores se les suele recompensar por la profundidad: conocer extremadamente bien un lenguaje, un framework o una plataforma. Los arquitectos necesitan un perfil distinto. Richards y Ford describen una pirámide del conocimiento con tres capas: lo que sabes (donde tienes verdadera experiencia), lo que sabes que no sabes (sabes que existe y, a grandes rasgos, para qué sirve, pero hoy no podrías construir nada con ello) y lo que no sabes que no sabes. La experiencia de la capa superior hay que mantenerla, y eso lleva tiempo. La capa intermedia es barata de ampliar y es la que te permite reconocer opciones.
El valor de un arquitecto reside en gran medida en la amplitud técnica: saber que existen cinco formas de resolver un problema, en qué es buena y en qué es mala cada una y cuál merece un análisis más detenido. Un arquitecto que solo conoce una base de datos la recomendará siempre. La amplitud tiene un precio, porque el tiempo dedicado a ensanchar la capa intermedia no se dedica a profundizar en la superior; por eso los arquitectos dejan deliberadamente que se desvanezca parte de su antigua experiencia e invierten en saber de más cosas. Richards y Ford advierten del fallo contrario: el arquitecto cuyas opiniones se formaron a partir de una mala experiencia de hace años y que rechaza toda opción que se le parezca.
La pirámide del conocimiento
¿Deberían escribir código los arquitectos?
Aquí los profesionales discrepan de verdad, y el desacuerdo es útil porque los dos lados tienen razón en algo.
Argumentos a favor de programar. Los arquitectos que programan entienden el costo real de sus decisiones, notan cuándo un principio resulta penoso en la práctica, mantienen al día su criterio técnico y conservan el respeto de los desarrolladores que deben implementar sus diseños. Los arquitectos que dejan de programar durante años corren el riesgo de diseñar sistemas elegantes en una pizarra y torpes en un editor.
Argumentos en contra. El tiempo de un arquitecto se reparte entre muchos equipos, reuniones y decisiones. Un arquitecto que se hace cargo de funcionalidades de la ruta crítica se convierte en un cuello de botella: el equipo espera un código que se retrasa por las otras obligaciones del arquitecto. Su atención también es necesaria en inquietudes que afectan a varios equipos y de las que ningún equipo se ocupará por sí solo.
La solución habitual. La mayoría de las voces experimentadas, entre ellas Richards y Ford, recomiendan que los arquitectos sigan implicados en el código de maneras que no los pongan en la ruta crítica. Por ejemplo: construir una prueba de concepto para probar una opción arriesgada antes de que el equipo se comprometa con ella; escribir funciones de aptitud (fitness functions), comprobaciones automáticas que verifican reglas arquitectónicas como "el módulo de dominio no debe depender del framework web"; corregir bugs y hacer pequeñas tareas de deuda técnica; crear herramientas y automatizaciones para el equipo; y revisar código con regularidad, lo que muestra cómo se están implementando realmente las decisiones.
import pathlib, re
FORBIDDEN = re.compile(r"^\s*(from|import)\s+flask\b", re.M)
def test_domain_does_not_depend_on_web_framework():
offenders = []
for path in pathlib.Path("shop/domain").rglob("*.py"):
if FORBIDDEN.search(path.read_text(encoding="utf-8")):
offenders.append(str(path))
assert not offenders, f"Domain code imports Flask: {offenders}"Una semana en la vida de un arquitecto de software (ilustrativa)
| Día | Actividades principales | Expectativa puesta en práctica |
|---|---|---|
| Lunes | Planificación con dos equipos de producto; detectar que una nueva funcionalidad de fidelización necesita datos que el servicio de pedidos no expone; redactar opciones | Tomar decisiones; conocer el dominio de negocio |
| Martes | Taller con el delegado de protección de datos y el equipo de seguridad sobre el almacenamiento de las direcciones de los clientes; redactar un registro de decisiones | Habilidades interpersonales; asegurar el cumplimiento |
| Miércoles | Prueba de concepto de dos días de un servicio gestionado de streaming de eventos para probar las garantías de orden bajo carga | Exposición diversa; mantenerse al día |
| Jueves | Revisiones de código en el equipo de pagos; añadir una función de aptitud tras detectar una dependencia prohibida; mentoría individual | Asegurar el cumplimiento; habilidades interpersonales |
| Viernes | Revisar informes de incidentes y métricas de tiempo de entrega en busca de signos de deterioro arquitectónico; reunión con finanzas sobre los costos de la nube; lectura | Analizar continuamente; moverse en la política; mantenerse al día |
Ejemplo práctico
Ejemplo práctico: una decisión, cinco tareas
El sistema de reserva de citas de un hospital debe enviar recordatorios por SMS. El arquitecto de software recorre las tareas de iSAQB para esta única necesidad.
| Aclarar requisitos | Pregunta cuántos recordatorios se envían al día (unos 20 000), con qué rapidez deben salir, qué ocurre si el proveedor de SMS no está disponible y si los mensajes pueden contener datos clínicos (no pueden, por privacidad). |
|---|---|
| Diseño | Propone que el servicio de reservas publique eventos de "cita reservada" y que un componente de notificaciones independiente envíe los mensajes desde una cola, para que una caída del SMS nunca bloquee las reservas. |
| Comunicar | Redacta un registro de decisiones de una página con las opciones consideradas (llamada directa frente a cola) y los motivos; lo presenta al equipo y al responsable de gobernanza de la información. |
| Acompañar la implementación | Trabaja en pareja con un desarrollador en la primera versión, revisa la lógica de reintentos y añade una función de aptitud que impide incluir campos clínicos en la plantilla del mensaje. |
| Evaluar | Tres meses después comprueba los tiempos de entrega y las tasas de fallo; descubre que los recordatorios se quedan 30 minutos en cola durante una caída del proveedor y confirma con el personal clínico que es aceptable. |
La mayor parte del esfuerzo del arquitecto se dedicó a aclarar, comunicar y comprobar, no a dibujar el diseño.
La decisión se registró con sus motivos, para que un equipo futuro pueda revisarla si cambia el contexto.
Preguntas frecuentes
¿Cómo me convierto en arquitecto?
Normalmente, haciendo trabajo arquitectónico antes de tener el cargo: asumir las decisiones transversales de tu equipo, redactar registros de decisiones, ampliar deliberadamente tu amplitud técnica, aprender el dominio de negocio y practicar cómo explicar compromisos a personas no técnicas. Certificaciones como la CPSA-F de iSAQB pueden estructurar ese aprendizaje, pero no sustituyen a la experiencia.
¿Todo equipo necesita un arquitecto?
Todo equipo necesita que la responsabilidad arquitectónica tenga un dueño claro, pero no necesariamente una persona dedicada. Los equipos pequeños suelen asignarla a un líder técnico; las organizaciones más grandes pueden tener arquitectos que dan apoyo cada uno a varios equipos.
¿Cuál es la diferencia entre un líder técnico y un arquitecto?
Un líder técnico suele ser responsable de la entrega técnica de un equipo y dedica gran parte de su tiempo a programar; un arquitecto suele ser responsable de decisiones y cualidades que abarcan varios equipos o sistemas. Los roles se solapan mucho, y en muchas organizaciones el líder técnico es el arquitecto del sistema de ese equipo.
¿Cuánto tiempo debería pasar un arquitecto en reuniones?
No hay una cifra correcta, pero una prueba útil es si las reuniones producen decisiones, entendimiento compartido u obstáculos eliminados. La imagen de Gregor Hohpe del arquitecto que viaja en ascensor entre la sala de juntas y la sala de máquinas recuerda que hay que visitar ambos extremos con regularidad.
Comprueba lo que has entendido
¿Por qué incluyen Richards y Ford la política entre las expectativas de un arquitecto?
Porque casi todas las decisiones arquitectónicas serán cuestionadas por alguien, y una decisión que no consiga apoyo entre presupuestos, prioridades y equipos no se implementará como se pretendía.
¿Qué capa de la pirámide del conocimiento debería ampliar deliberadamente un arquitecto, y por qué?
La capa intermedia, lo que sabes que no sabes, porque saber que existen opciones y para qué sirven permite a un arquitecto comparar soluciones.
Nombra dos formas en que un arquitecto puede seguir implicado en el código sin convertirse en un cuello de botella.
Dos cualesquiera de las siguientes: construir pruebas de concepto, escribir funciones de aptitud, corregir bugs o pequeñas tareas de deuda, crear herramientas y automatizaciones, y revisar código.
Fuentes y lecturas recomendadas
¿Tienes una pregunta sobre esta sección? ArchitectBot, el asistente de estudio con IA del curso, responde primero a partir del curso.
Pregunta: “Soy desarrollador sénior y me acaban de pedir que actúe como arquitecto de mi equipo. ¿Qué debería empezar a hacer de otra manera y qué debería dejar de hacer?”