viernes, 27 de abril de 2012

¿Quién Construye un Software?


Publicado originalmente el jueves veintisiete de abril en la versión impresa del Diario Jaén.

En principio siempre hacen falta tres figuras fundamentales en este proceso. Por un lado están los analistas, encargados de tratar con los clientes y responsables de entender lo que realmente quieren así como de comunicárselo a las personas a su cargo. A cargo de los analistas e inmediatamente por debajo de ellos se encuentran los diseñadores, responsables de comunicarse con los analistas y de dar forma a sus indicaciones a base de diagramas. Finalmente existen los programadores, dedicados a codificar (programar) lo que los diseñadores les encargan con sus esquemas. Los programadores también tienen jerarquías, incluso se organizan jerárquicamente los diseñadores y los analistas (en función de la dimensión del proyecto). En una gran empresa existirán también jefes de proyecto, dedicados a dirigir uno o varios encargos, así como gerentes y demás cargos administrativos de alto rango.
La mayoría de la gente entiende que un software está formado por una serie de instrucciones escritas en lo que se denomina código de programación o código fuente. Existen muchos lenguajes de programación con los que escribir código fuente (véase Java, C, C#, Objective C, HTML, etc). Hay lenguajes más complejos y lenguajes más sencillos. Por lo general un software complejo necesita de un lenguaje de programación también complejo para programarlo. El caso es que el código no se programa sin que los diseñadores desarrollen complejos esquemas que representen la arquitectura de un software. Los diseñadores estudian las características de cada software solucionando y optimizando cada aspecto del mismo. El símil es bien sencillo, un diseñador hace los “planos” de una software tal y como los delineantes y los arquitectos técnicos lo hacen para los arquitectos. Siguiendo con el ejemplo anterior, un programador vendría a ser un albañil. Analistas son los menos, y se encargan de encauzar el trabajo de los diseñadores así como de valorar sus resultados. Volviendo al símil de antes, estos últimos serían los arquitectos.
Visto lo anterior es fácil explicar el hecho de que haya tanto trabajo para los informáticos. Supuestamente los ciclos formativos preparan programadores, la ingeniería técnica en informática (más o menos lo que ahora es un grado) forma por su parte a programadores de alto rango junto con diseñadores de baja cualificación, la ingeniería en informática (lo que se denomina ahora master) se encarga de preparar diseñadores de alta cualificación y analistas. El problema y a su vez la ventaja para los empleadores, es que mientras que un arquitecto se niega a trabajar como albañil no ocurre lo mismo en informática. Aunque a decir verdad quizás sobren aspirantes a analistas y falten programadores (tal y como también ocurre ahora con los arquitectos).
Espero que esta visión general muy simplificada os ayude a entender mejor el trabajo de los que tienen relación con el mundo de la informática.

No hay comentarios:

Publicar un comentario