Programador
Para otros usos de este término, véase Programador (desambiguación).
Un programador es aquella persona que escribe, depura y mantiene el código fuente de un programa informático, es decir, del conjunto de instrucciones que ejecuta el hardware de una computadora para realizar una tarea determinada. La programación es una de las principales disciplinas dentro de la informática. En la mayoría de los países, programador es también una categoría profesional reconocida.
Los programadores también reciben el nombre de desarrolladores de software,
aunque estrictamente forman parte de un equipo de personas de distintas
especialidades (mayormente informáticas), y siendo que el equipo es propiamente el desarrollador.
Breve reseña histórica
Ada Lovelace, hija del prestigioso poeta Lord Byron,
es considerada la primera programadora de la historia. Su contribución
más notable consistió en elaborar un método para calcular los números de Bernoulli en la máquina analítica de Charles Babbage. En homenaje a ella fue puesto el nombre al lenguaje de programación Ada.
Descripción
El programador se encarga de la implementación de prototipos mediante un lenguaje de programación, que compilados pueda entender la computadora.
Inicialmente, la profesión se formalizó desde el enfoque Tayloriano de la especialización de funciones en la empresa. Así, el proceso de producción de software
se concibe como un conjunto de tareas altamente especializadas donde
está claramente definido el papel de cada categoría profesional:
- El analista, tiene como cometido analizar un problema y describirlo con el propósito de ser solucionado mediante un sistema de información.
- El programador cuya única función consistía en trasladar las especificaciones del analista en código ejecutable para la computadora. Dichas especificaciones se recogen en un documento denominado cuaderno de carga, medio de comunicación entre ambos. Esto se consideraba un trabajo mecánico y de baja cualificación.
Hoy día se reconoce que este enfoque no es válido para organizar
tareas de tipo intelectual, como es el desarrollo de software. De manera
que la profesión de programador ha ido evolucionando. Las dificultades
de comunicación entre analistas y programadores (un mero documento no
basta para describir lo que se quiere hacer) dio origen a una categoría
de profesional intermedia, denominada analista-programador. La
concepción original del programador ha desaparecido siendo sustituida
por la de un profesional mucho más formado y con unas funciones menos
"mecánicas".
La profesión de analista también ha evolucionado, surgiendo el concepto diseñador (de software). Esto se debe a los avances de la ingeniería del software
donde se reconoce que el análisis es una actividad compleja y distinta
del diseño. Escuetamente, el análisis describe el problema (es decir qué hacer) mientras que el diseño describe la solución (cómo hacerlo).
En la mayoría de países industrializados esto ha dado lugar a la categoría profesional del diseñador o arquitecto del software.
Especialidades
Estrictamente hablando, la profesión de programador si conoce
especialidades. No obstante, existen diversas ramas por las que se
decantan los propios profesionales y que se ven reflejadas en la oferta
de empleo. Así, es posible mencionar algunas:
- Programadores de mainframe.
Aunque se cree extinta la actividad en los viejos grandes sistemas
informáticos, lo cierto es que aún existen muchos en funcionamiento que
requieren mantenimiento. La tecnología que manejan estos, programadores
es radicalmente distinta a la del resto, motivo por el que se puede
considerar ésta como la rama más especializada. Entre sus conocimientos
se cuenta COBOL, RPG, JCL, base de datos jerárquicas, etc.
- Programadores de "Nuevas Tecnologías". Esta es una rama que gira en torno a Internet, los nuevos servicios como la Web 2.0 y los negocios por medios electrónicos o e-commerce. Entre sus conocimientos destacan lenguajes del lado del servidor como Java, ASP, .NET, JSP, PHP, Ruby, Python o Perl, y lenguajes del lado de cliente como HTML, XHTML, CSS, Javascript ó AJAX (conjunto de tecnologías existentes como XML y Javascript).
- Programadores de Firmware y videojuegos. Destacan sus conocimientos de hardware, Microprocesadores, ensamblador y C.
- Programadores de sistemas abiertos. Rama asociada a la Arquitectura Cliente-Servidor. Requiere conocimientos de C, Pascal, etc.
Fuente http://es.wikipedia.org