sábado, 15 de agosto de 2015

6 Profesiones para un informático que no son la de programador

Cuando comencé las clases de la Universidad, el primer día de clase, suelen preguntar lo siguiente: “cuándo terminéis la carrera, ¿a qué queréis dedicaros? Porque el área del software hoy es muy amplia y engloba muchas profesiones” Vamos, un “de mayor qué quieres ser”.
Curiosamente, la repuesta mayoritaria suele ser un “no lo he pensado”. Las otras respuestas, las de aquellos que si lo han pensado, suelen ser dos: “dedicarme a la seguridad” (que parece estar de moda) o “programar”.
Ni que decir tiene que la respuesta “programar”, en si misma, puede englobar fácilmente decenas de dedicaciones, que pueden venir de combinar las respuestas a las siguientes: ¿Programar en algún, o varios, lenguaje especifico (Java, C#, Ruby, C++… en el ABAP de Mordor, etc.)? ¿Especializarte en programar para algún entorno específico (sistemas empotrados, críticos, web, tiempo real, movilidad, BBDD… no sé, ¿Big Data?, videojuegos –bueno lo de los videojuegos alguno siempre lo dice- etc.)? ¿Algún paradigma específico (funcional, imperativa)?
Así que pregunto… “Pero concretamente ¿en qué tipo de programación te quieres especializar?” Y no suelo sacar más de dos tipos de respuestas: “programar para Web” o “Programar para dispositivos móviles (Android, mayoritariamente)”.
Así que, resumiendo, en mi encuesta, para aquellos que están estudiando una carrera informática, salvando excepciones puntuales, parece haber sólo 4 dedicaciones posibles en el futuro: “la ni idea, lo que toque”, “la seguridad”, “la programación web (sin más concreciones)” o “programar dispositivos móviles”.

Saber programar es imprescindible para ejercer correctamente otras profesiones dentro de la informática… pero programar no es la única profesión

Pasando por alto que con exactitud casi nadie tiene claro exactamente, yo soy de la opinión de que si no has estado un tiempo programando… difícilmente vas a entender por qué de muchas cosas en un proyecto software, y difícilmente podrás desarrollar eficientemente otras dedicaciones dentro de la informática.
Podemos dejar para otro debate si hace falta haber estado muchos años programado, pocos, seguir haciéndolo siempre o basta con haber sido aplicado cuando estudiaste y haber comprendido muy bien la programación. Como digo, este debate para otra, pero por ahora, mi opinión es que es imprescindible saber programar para dedicarte correctamente a otras profesiones.
Dicho esto, también hay que decir una obviedad: hay otras dedicaciones más allá de la programación. Sí, aunque alguno no lo quiera creer… así es.
Profesiones a las que te puedes dedicar si te gustan más, a las que te puedes acabar dedicando con el tiempo, la experiencia y la preparación. Si quieres, o sino no, también te puedes dedicar a programar toda tu vida, que es algo apasionante y bonito (y de paso ayudemos todos a desterrar esa visión casposa de que un programador veterano, con años, ya no es bueno, cuando la realidad, si ha cuidado su carrera, es al revés).
Pero si quieres ver otras opciones, aquí te dejo unas cuantas….

6 profesiones para un informático que no son la de programador

1 – Tester técnico. Figura con muchos, pero muchos, conocimientos técnicos, que no se dedica específicamente a programar, aunque en su día a día tenga que hacerlo (para automatizar pruebas, crear scripts, etc.) Ayer mismamente, salió este tema en el blog, mira los comentarios del post de ayer si quieres conocer más este rol. Figura muy necesaria, con demanda creciente y difícil de encontrar (te lo aseguro, que día sí y día no alguien me dice “no conoceras a un tester…”). El señor Lobo de las pruebas, el que soluciona problemas y le da velocidad al asunto.
2 – Tester de carga, rendimiento y relacionados. Como se deduce del nombre, y sin perdernos en detalles, es el rol que se dedica a comprobar los tiempos de respuesta de las aplicaciones, la carga que aguantan (por ejemplo cuantos usuarios concurrentes), detectar los cuellos de botella, recomendar soluciones, etc. ElSherlock Holmes que te sabe decir por qué una aplicación va lenta, o no pasa de x usuarios, y dónde se encuentra el problema.
3 – Perito informático. Normalmente, su tarea principal es asesorar aun juez (o actores relacionados) en un tema informático. Son los que proporciona datos, evidencias, pruebas en juicios. No te quiero contar los conocimientos técnicos que debe tener un perito informático, más los propios de esta profesión, más algunos conocimientos legales. El Perry Mason de la informática.
4 – Devops Engineer. Lo pongo en inglés porque es cómo se le conoce, y la traducción queda muy rara. Como te decía con el Tester Técnico, otra figura con muchos, pero muchos, conocimientos técnicos, en este caso más cercana a operaciones (producción, sistemas). Es una dedicación, en los tiempos que corren (que nadie quiere demorar los pasos a producción) muy necesaria, con demanda creciente y difícil de encontrar. DevOps, continuous delivery, continuous deployment, etc.,  son temas esenciales de conocer aquí. Aquel con la responsabilidad de romper el muro entre desarrollo y operaciones, la Kitty Pryde de un proyecto.
5 – Auditor. Realmente esta profesión son decenas, ya que en tecnología hay auditores para decenas de temas, desde datos, procesos, calidad software, etc. Pero como tal es una dedicación más. Resumidamente, sacan “una foto” independiente de la situación en la cual se encuentra un equipo o sistema software, proporcionan esas pruebas, o evidencias, sobre la situación actual. El CSI Grissom que saca pruebas sobre cómo está la situación.
6 – Arquitecto software. Haciendo ahora mismo una breve búsqueda en el portal de empleo indeed, en los USA me salen más de 26500 ofertas sobre el término arquitecto software. Aunque aquí la he puesto como una profesión, realmente son decenas, hay muchas especializaciones diferentes para un arquitecto software. Sin entrar en decisiones de mucho detalle, el arquitecto software es el que toma las decisiones de alto nivel de cómo debe construirse un sistema: qué framework, qué módulos, qué arquitectura software, qué arquitectura hardware, cómo hacer que el sistema escale, qué tecnología, qué balanceador, respaldos, etc.

Concluyendo…

Claro que el agudo lector, más aún si está estudiando una carrera informática y ha caído en este post, estará pensando “todo lo anterior no me lo enseñan en la Universidad”. Lógico, porque en la Universidad te enseñan la base para que posteriormente tú te especialices.
Así que, salvo que quieras quedarte mal programando sistemas mal programados a los que solo se le añaden los parches necesarios para que no se hundan (que hasta cierto punto puede ser una vida cómoda), tanto si quieres dedicarte a alguna de las anteriores ,sus derivadas o si quieres ser un buen programador dedicado a cosas interesantes… desde ya hay que ir poniéndose las pilas, preparándose constantemente y especializándote. Sin conformarse solo con lo que te cuentan en la Universidad.

No hay comentarios:

Publicar un comentario