El desarrollo de software, una profesión vocacional.

La programación, desarrollo de aplicaciones informáticas en todas sus variantes. Plasmada en el profesional por excelencia: el pica código. Personaje profundamente desconocido e incomprendido por el resto de la sociedad, que no encuentra la causa de la complejidad y capacidad que requiere todo aquel que haga programas pero se lamenta profusamente cuando se rompe el ordenador o hay un fallo informático.

En este post quiero compartir años de experiencia con aquellos que desean iniciarse en esta fascinante profesión, para intentar plasmar de una forma clara las ventajas y desventajas que este trabajo implica. Y con ello ayudar a los que aún estén tomando decisiones que afecten a su carrera laboral.

Qué no es un programador

Lo primero que tienes que tener muy en cuenta es que la palabra informático debiera ser reconstruida y volverse a definir para eliminar el lastre que esta imponiendo su erróneo significado, a todo un cúmulo de profesiones y especializaciones. Dentro de este palabro la sociedad iguala a los compañeros de sistemas, a los de telecomunicaciones, a los electricistas, a los de servicio técnico y a los usuarios de fotocopiadoras. Todos somos informáticos. Y se extrañan mucho cuando les dices que no sabes programar el blue ray o que un gestor de pedidos no cuesta 200€ y dos días para hacerlo.

Un programador no es el que sabe instalar un sistema operativo desde cero y dejar configurado todo el software. No es el que puede montar el hardware de un equipo con una brazo atado y en la oscuridad. No es quien puede hacer un diseño a la página web de una multinacional. No es el hacker que entra en los ordenadores de la NASA mientras tira a AlaMuerte en 25H. No es quien consigue el software pirateado en la empresa o en la familia. Y no es Steve Jobs. Si que lo fué Bill Gates.

Entonces, qué es un programador

Un desarrollador es un trabajador puramente intelectual que partiendo desde un básico lenguaje binario, que es lo que entiende el procesador de cualquier dispositivo informático, va creando abstracciones cada vez más profundas para hacer que los ordenadores hagan lo que se espera obtener de ellos.

Osea, es tan programador el ingeniero que diseña las puertas lógicas físicas de un microprocesador, como el que ha programado la Bios, como el que ha desarrollado el Sistema Operativo, como el que ha desarrollado un lenguaje de programación de alto nivel, como el que lo ha utilizado para hacer MAGIA. Que una máquina de turing corra una maravilla gráfica como Crysis 2 o almacenar y analizar los datos del Cern.

Básicamente, justo a partir de la capa física del hardware, el programador es la piedra angular sobre la que se ha construido la inmensa industria de la Informática. O, como dicen en el Estado, La Sociedad de la Información.

Que tengo que tener para ser programador

El desarrollo de aplicaciones informáticas es un profesión dura. No hay paños calientes para ello. Es una profesión en donde el estudio no se detiene nunca ya que la evolución tecnológica tanto del hardware como el propio desempeño de la programación, es simplemente vertiginosa.

Obviamente no es dura físicamente, pero si lo es a nivel intelectual. Todos los días te has de sentar durante horas para resolver los más complejos problemas lógicos y matemáticos. La capacidad de concentración, de intuición, de pensamiento lógico es imprescindible. Cada vez hay más ayuda por parte de aplicaciones, programadas por otros desarrolladores, para realizar estas labores. Pero al final solamente la lógica humana y su capacidad para interpretar las líneas de código y los resultados obtenidos, consiguen la respuesta adecuada.

Otro característica necesaria para ser desarrollador es la vocación, o pasión. Si no se disfruta programando, del reto de superar el reto intelectual que tenemos delante, de dedicar horas a ser mejor aprendiendo aquello que aún no sabemos, no vamos a ser programadores. Llegaremos a un equilibrio en donde cobraremos por el mínimo trabajo posible y nos perderemos lo más importante de esta profesión: el divertirte con tu trabajo, por lo cual deja de serlo. En eso nos asimilamos a los deportistas, artistas o a los empresarios/emprendedores.

Se podría señalar como un tercer requisito el talento. Pero yo pienso que eso solamente marca la diferencia a partir de un punto en donde el conocimiento adquirido ya es muy alto. Eso sí, entonces las diferencias son abismales. Pero como sería de esperar en un cualquier deportista de élite.

Qué estudios debo tener

Peliaguda cuestión. Cuando estuve en la facultad, sin duda los mejores desarrolladores se autoformaban y casi no tenian importancia los estudios reglados. El gran ejemplo, Bill Gates, que no necesito de una carrera para hacer un enorme trabajo como desarrollador y luego como el magnate de Microsoft.

Actualmente, el no tener una titulación mínima como puede ser un módulo superior es un handicap. Y más en estos tiempos de crisis. La titulación universitaria sigue teniendo poco valor ya que los temarios siguen muy alejados de las necesidades de las empresas, y de formar estudiantes que puedan competir con una persona que ha utilizado esos años en programar en el mundo real. Sobre la función de la universidad como motor del I+D en desarrollo en nuestro país, a los hechos me remito.

En cambio si trabajas para el estado de forma directa o indirecta, es importante la titulación. Ya que funciona por un sistema de títulitis en donde no importa tanto lo que sepas si no lo que hayas estudiado. También en las grandes empresas privadas se mira el título en la progresión que se entiende en España de lo que debe ser la carrera de un desarrollador: junior, programador, senior, analista-programador, analista funcional, jefe de equipo/proyecto y de allí a puestos de gestión o comerciales.

Los estudios realmente importantes son los que te imponen el programar. Si picas código todos los días, si atiendes a eventos, si escuchas podcast, si sigues foros, blogs, si ves webcast y si estudias el 1% de la literatura existente, serás cada día mejor. Y te será más fácil el desarrollar y obtendras código de más calidad.

Que esperan de tí

La mayoría de las empresas ven a los desarrolladores como un mal necesario. Realmente no se han dado cuenta aún que el motor del negocio de la construcción y mantenimiento de las aplicaciones informáticas es dependiente en exclusiva de la calidad de los programadores. Y muchas te pedirán horarios interminables o mentirle a los clientes para que muestres una experiencia que aún no tienes. Sobre todo en las grandes cárnicas. Eso se plasma en el terrible término de recurso, que se ha impuesto en el lenguaje empresarial de nuestro sector y que nos asimila a las impresoras o a los teléfonos.

También es importante para la empresa que no seas un autista social o el típico perro verde. Y nadie soporta mucho tiempo a los prepotentes, cosa en la que los desarrolladores caemos con mucha frecuencia ya que la sensación de superioridad intelectual que embarga al programador es muy poderosa al compararse con la inmensa mayoría de los usuarios; y que ha de ser contrarrestada con humildad y deseo permanente de aprender, siendo consciente que siempre hay alguien mejor que tu y casi siempre muchos mucho mejores.

Conclusión

El desarrollador informático, también llamado pica código, es una profesión vocacional, con poco reconocimiento social y sueldos bajos en este país para el esfuerzo formativo que se debe de mantener de buen gusto para mantenerse actualizado y en la búsqueda constante de la mejora. Pero con una demanda constante por parte del mercado, con un desempleo relativo muy bajo en comparación con la mayoría de los demás sectores, y con un grado de satisfacción personal y profesional tan grande que hace que merezca la pena dejarse las pestañas en conseguir que la maldita función pinte en la pantalla “Hola Mundo”.

Portada de Genbeta