[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Arquitecto de Software



Hola,

Acabo de leer un artículo [1] titulado "Those Who Can, Code; Those Who Can't, 
Architect", que me ha llamado la atención.
Es una crítica al estereotipo de "nuevo arquitecto": pretencioso, inteligente, 
sabio, seguro, y sobre todo, experto.

Tengo que decir que el concepto de arquitecto me pilló de improviso. Nunca me 
molesté en averiguar qué se esperaba de ese rol. Simplemente lo vi como una 
variante a la carrera profesional por defecto de "programador 
(junior)->analista (senior)->jefe de proyecto->(..->)?gerente..".

No sé por qué lo de "arquitecto". Supongo que servía como reclamo para darle 
más repercusión, para ver si eso le añadiría más valor o más posibilidades al 
nuevo término en su evolución, hasta convertirse en lo que es hoy.

En cualquier caso, no me quejo. Creo que desarrollar software no es un proceso 
automatizable por el momento. En mi opinión, debería tener un enfoque 
científico, y no el de tener valor en función de cuánto satisfaga los 
requisitos del cliente.

Pero por ahora funciona así. Se rige por su utilidad práctica, y dicha 
utilidad depende de baremos y definiciones provinientes de las áreas 
de "negocio" o "cliente", en las cuales absolutamente nada es susceptible de 
ser modelado para ser reproducible, planificable, comparable ni tan siquiera 
medible.
Lo natural en formas de trabajo de este estilo es "hacer lo que se pide", 
aunque se haga la misma aplicación 3 o 4 veces, dependiendo de las personas 
que ocupen puestos con capacidad para decidir al respecto.

Y ese enfoque es extremadamente permeable al "tiene que estar hoy", que 
determina increíblemente las decisiones que toma el programador, y que van en 
contra de aprovechar los cambios para mejorar los sistemas.

Afortunadamente, la tecnología avanza y permite poco a poco solventar algunos 
de esos problemas, dentro de este contexto. Pero desafortunadamente, tiene 
que haber personas que estén al tanto de las novedades, vean cómo se podrían 
aplicar, y sean capaces de convencer por un lado a los "especificadores", y 
por otro a los programadores. Éstos últimos, que han llegado a cambiar el 
chip y predomina en ellos la inclinación por los cambios pequeños que no 
mejoran nada, que acometer cambios razonados más trabajosos.

Ésa es la visión que yo tengo de un arquitecto en entornos donde la producción 
de software no es una actividad científica en absoluto, sino que responde a 
las peticiones del mundo empresarial. Y parece que la capacidad para esconder 
valor en lugar de añadirlo se ha convertido en LA disciplina (Marketing), que 
determina en última instancia las decisiones de la organización.

No se puede luchar contra eso. Pero en otro contexto, ¿qué sería un arquitecto 
de software? ¿Una persona al día en su disciplina, que se motiva cuando 
persigue no sólo la satisfacción del usuario, sino también cuando aprende y 
su trabajo evoluciona con él, sin temor a tener que rehacerlo todo de nuevo?

¿Qué distingue al arquitecto de cualquier otro rol?

Actualmente, ser más "friki" que un programador, hasta el punto de no querer 
ser jefe de proyecto. Y aguantar, al encontrarte con compañeros de facultad, 
el "¿*todavía* programas?".

Un saludo,
Jose.

[1] http://jdj.sys-con.com/read/345637.htm