La programación entraña una serie de formas y guías generales que son la base de lo que se conoce como arquitectura de software y la persona encargada de desarrollar todo ello es el arquitecto de software. Es muy habitual que la gente desconozca este perfil o que confunda las tareas de un arquitecto de software con las de un desarrollador.
Sin embargo, son distintas y es importante conocerlas para determinar los puestos correctamente dentro del organigrama de una empresa o para conocer cuál de ellos puede cubrir según qué necesidades. Pero empecemos por el principio.
¿QUE ES LA ARQUITECTURA DE SOFTWARE?
Para poder determinar cuáles son las funciones de un arquitecto de software es vital acercarnos a esta metodología de trabajo o disciplina. La arquitectura de software compone una forma de trabajar a través de los medios que se utilizan para realizar dicho trabajo.
Si la comparásemos con la arquitectura propiamente dicha, vendría a ser algo así como la encargada de, utilizando un boceto o un plano de un edificio, conseguir que podamos percibir o intuir el tipo de edificio del se está proyectando su construcción.
¿QUE ES UN ARQUITECTO DE SOFTWARE?
Una vez tenemos claro qué es la arquitectura de software podemos determinar más fácilmente qué es y cuáles son las funciones de un arquitecto de software. Podemos decir entonces que es la persona encargada de pensar todos los aspectos de la arquitectura, de todas las directrices, principios y desarrollo de los aspectos técnicos de un proyecto de software.
Debe ser la persona que conozca cómo implementar una determinada arquitectura y a la vez estar preparada para aceptar otras vías a través de las cuales se pueden conseguir los mismos objetivos.
ARQUITECTO VS DESARROLLADOR DE SOFTWARE
Como te decíamos al principio, mucha gente confunde la figura del arquitecto de software con la del desarrollador, por eso es primordial descubrir qué es lo que los diferencia.
El arquitecto de software se encarga de seleccionar qué tecnología se va a utilizar en la creación de un determinado software, de realizar continuos procesos de evaluación para determinar si cumple las expectativas de los usuarios y de estar abierto a modificar la arquitectura utilizando para ello el feedback de otros miembros del equipo o de los propios usuarios.
El desarrollador de software, también denominado analista-programador, es un especialista en informática capaz de crear los sistemas (paquetes de software), implementarlos y hacer una puesta a punto para que puedan ser funcionales, todo ello a través de determinados lenguajes de programación.