A fondo: ¿Cuáles son las tendencias en lenguajes de programación? (II)

¿Qué impacto tiene en los lenguajes de programación la tendencia a la nube nativa o el desarrollo de herramientas ‘No Code’ y ‘Low Code’? ¿Y cuáles son los programadores mejor pagados? En este reportaje intentamos despejar estas dudas.

Si en la primera entrega de esta serie de reportajes hablábamos de los lenguajes de programación más usados, los más pujantes y aquellos en declive, en esta segunda parte vamos a ver cómo influyen en el sector tendencias como la transición a la nube nativa, el auge de las herramientas ‘No Code’ y ‘Low Code’ o la resistencia de un lenguaje casi de otra época como es COBOL. Además, señalamos cuáles son los programadores mejor pagados y la horquilla salarial en la que se mueven estos profesionales.

Hacia la nube nativa

La migración a la nube está modificando los procesos habituales en los entornos tecnológicos, incidiendo también en la programación. “Con el salto a la nube surgen términos como Platform-as-a-Services (PaaS) y Sosftware-as-a-Service (SaaS), que ofrecen capas de abstracción que facilitan el desarrollo y despliegue de software. Nos ayudan a centrarnos en el producto, sin tener que preocuparnos de los detalles de la infraestructura”, afirma Álvaro San Juan, coordinador académico del CFGS del área de Tecnología en la U-tad.

Sin embargo, considera que “esto no supone un gran cambio para los lenguajes de programación”. “Los roles más afectados por este cambio son los de DevOps, administradores de sistemas o arquitectos de sistemas”, especifica.

Sara Álvarez, manager de Spring Professional, consultora de selección del Grupo Adecco, recuerda que “la adaptación a la nube nativa persigue unificar, en esencia, todas las tendencias del ciclo de vida de software con nuevas funcionalidades, como puede ser el Internet de las Cosas (IoT, por sus siglas en inglés) o la inteligencia artificial (IA)”. Cree que este salto a la nube puede tener consecuencias. “Las implicaciones pueden llegar a tener un impacto alto en costes de desarrollo en ciertos escenarios, como la decisión de Microsoft Azure, con aplicaciones de lenguajes de programación de la casa, en lugar de una mayor flexibilidad”.

Sin embargo, opina que la repercusión será limitada. “Consideramos que la transición sólo puede aportar creatividad y optimización a los equipos de desarrollo, a través de implementación de la arquitectura de microservicios, lo que dotará de una mayor eficiencia y aportación de valor a la capa técnica. Asimismo, el asentamiento del stack perteneciente al entorno DevOps puede incidir en aquellos entornos no tan actualizados”, declara.

Davide Cortellino. senior marketing data insights analyst de SAS España, apunta que “cada vez más, la puesta en producción de modelos de datos se relaciona con implementaciones realizadas con proveedores de cloud como Microsoft Azure, Amazon Web Services (AWS) o Google AI Platform, debido al hecho de que estos servicios permiten la gestión end-to-end de todo el ciclo de vida analítico en pipeline, casi totalmente automatizadas”.

En este sentido, explica que “el hecho de que la mayoría de estas tecnologías ya integren los lenguajes de programación más populares facilita la transición de soluciones on-premise a la nube, sin depender de las herramientas y lenguajes que el científico de datos utiliza”.

Igualmente, Pablo Caselas Pedreira, head of Technology, Product & Marketing de TramitApp, no cree que está tendencia a la nube nativa afecte demasiado a los lenguajes de programación, “ya que los sistemas que se despliegan en la nube utilizan los mismos lenguajes que si se desplegase on-premise”. Además, reseña que “incluso para servicios serverless, como puede ser Amazon Lambda o Azure Functions, los lenguajes que se pueden utilizar para este propósito son buena parte de los más utilizados: Java, Go, JavaScript, C#, F#, PowerShell, TypeScript, Python,  Ruby, etc.”.

Asimismo, Daniel Pérez, director de IT de Michael Page, señala que muchos de los lenguajes que ya se usan están “orientados a la nube nativa, porque hay una orientación cada vez mayor a microservicios, se trabaja por contenedores -dockers- y todas las aplicaciones se están alojando, cada vez más, en Amazon Web Services, Microsoft Azure o Google Cloud”.

De este modo, Alberto Grande, responsable del equipo de Digital Enablers de Paradigma Digital, reseña que “todos los lenguajes se están viendo impactados por esta tendencia, principalmente en forma de librerías disponibles para la construcción de software con esta orientación, que habilitan los servicios necesarios en este tipo de arquitecturas”. “Java fue pionero en este sentido, siendo uno de los lenguajes de programación más adaptados actualmente. Y en algunos casos, el que va marcando el camino”, añade.

‘No Code’ y ‘Low Code’: ¿software sin programación?

En los últimos años también han ido apareciendo herramientas ‘No Code’ o ‘Low Code’, que facilitan el desarrollo de software y dan respuesta a uno de los grandes problemas del sector: la brecha entre la oferta y la demanda de programadores. “Hay una absoluta falta de profesionales en el mundo de la programación, que se va a extender 5 años más”, asegura el director de IT de Michael Page.

Así pues, señala que se está trabajando en el desarrollo de “herramientas, plataformas o incluso robots que puedan programar automáticamente, sin requerir un programador”. Sin embargo, cree que el impacto que tienen actualmente es mínimo.

San Juan explica que estas herramientas “ofrecen una forma sencilla de desarrollar software sin tener conocimientos de programación”. Sin embargo, esta solución tiene inconvenientes. “Pierdes control sobre qué hace tu programa o cómo lo hace. Dependes de qué opciones te ofrezcan o cómo hayan implementado la lógica que hay detrás de ellas. Las veo más como puerta de entrada a la programación, ya que el producto generado carece de la mantenibilidad y escalabilidad necesarias para un proyecto software”, valora.

Grande también destaca el considerable incremento de este tipo de herramientas, “tanto en número como en calidad”, como respuesta a la “alta demanda de software y la escasez de profesionales que pudieran implementarlo”. “En algunos casos, estas soluciones vienen abanderadas por los propios proveedores de cloud, que ven una oportunidad de poder vender sus servicios eliminando la barrera inicial de la codificación de una solución. En otros, provienen de una generalización del trabajo que hacían empresas especializadas en la construcción de soluciones software”, detalla.

No obstante, opina que “el target de estas herramientas no se solapa con las soluciones software hechas a medida, sino que las complementa”, por lo que no se pueden considerar que sean competencia. “Estas herramientas permiten generar soluciones -que incluso pueden tener una cierta complejidad- de una forma rápida y barata, ideal para pruebas de concepto o soluciones de bajo coste basadas en elementos estándar, permitiendo cubrir un mercado que hasta ahora no cubren los desarrollos a medida, por tiempo y coste”, puntualiza.

Por su parte, Cortellino apunta que “en el campo de la ciencia de datos, las herramientas ‘No Code’ y ‘Low Code’ impactan en la integración de datos por parte de perfiles no puramente técnicos o de negocio”. “Esto lleva a la democratización de las decisiones data-driven, y favorece la aparición de perfiles de citizens data scientists”, indica.

Por ejemplo, afirma que “la difusión de las herramientas de AutoML está permitiendo que los perfiles no técnicos puedan realizar tareas de predicción/clasificación, extrayendo valor de las grandes bases de datos empresarial, utilizando puramente sus conocimientos de negocio”. Por otra parte, recalca que su uso “libera a los data scientists de tareas más rutinarias, permitiéndoles focalizarse en las tareas donde sus altos conocimientos técnicos crean más valor añadido para las empresas”.

COBOL resiste

Según GitHub, COBOL no está ni siquiera entre los 50 lenguajes de programación más usados actualmente. Sin embargo, no podemos darlo por muerto. Ni mucho menos. La explicación está en la vigencia de los sistemas mainframe que dan soporte a las operaciones de grandes organizaciones, tanto entidades financieras como administraciones públicas. Y los datos que manejan estos sistemas son procesados por programas creados en COBOL.

Por ejemplo, hace algunos meses contábamos que el estado de Nueva Jersey se encontraba en un apuro. En el punto álgido de la pandemia, necesitaba expertos en este lenguaje de programación para reparar ciertos sistemas empleados en el pago de prestaciones de desempleo, tan necesarias en aquel momento.

Rodrigo Méndez, CEO de Tecnoempleo.com, señala que “hay una demanda estable de profesionales COBOL, sobre todo derivada de aquellos sistemas ‘legacy’, que por ser críticos, no son migrados a nuevas tecnologías, como los bancarios, por ejemplo”.

La responsable de Spring Professional opina que este lenguaje de programación es “justo y necesario”. “Aunque los avances en materia de desarrollo hayan producido maravillas en términos de funcionalidad, automatización, creatividad o escalabilidad, COBOL supuso un antes y un después en el avance técnico de ciertos entornos y sectores y, por lo tanto, es imprescindible”.

Sin embargo, reconoce que “la oferta y la demanda de este talento se ve descompensada con el tiempo ante el paso de los años”, encontrándonos con “entornos a los que dar continuidad por la robustez y seguridad del mismo”, pero que se enfrentan a “la poca adaptabilidad o atractivo que ha tenido para el mercado en el futuro de la programación, donde los nuevos perfiles se rinden ante tendencias mejor posicionadas”.

Así pues, señala que si COBOL resiste se explica porque da respuesta a las necesidades de “estabilidad y continuidad”, aunque recalca que “no podemos descartar la idea de las nuevas aplicaciones que COBOL pueda tener en el futuro”.

Los programadores mejor pagados

La escasez de suficientes programadores para atender la creciente demanda del mercado está provocando el aumento salarial de estos profesionales. “Es uno de los pocos sectores que puede presumir de un crecimiento salarial entre un 10% y 15% anual”, asegura Pérez. Incluso señala que hay casos en los que un programador que cobraba 25.000 euros ha pasado a cobrar 50.000 euros en su siguiente trabajo. “Hay una lucha encarnizada entre las compañías por contratar talento”, declara.

El CEO de Tecnoempleo.com reseña que “los salarios varían mucho según la experiencia y el perfil buscado -frontend, backend o fullstack-, pero con carácter general podemos hablar de salarios de entre 18.000 y 30.000 euros/año para desarrolladores web; de entre 27.000 y 36.000 euros para programadores Python; y de entre 24.000 y 39.000 euros para programadores Java, aunque esta cifra incluye el efecto que produce el hecho de que suelen buscarse profesionales más experimentados”.

El responsable de IT Michael Page hace hincapié en que “los mejores pagados serán aquellos que sean los mejores en su tecnología”, aunque admite que los salarios suelen estar muy condicionados por la experiencia. “Si están recién graduados y hasta los 2 años, pueden acceder al mercado con un salario que ronda los 30.000 euros. De 2 a 4 años de experiencia, se mueven en una horquilla de los 30.000 a 50.000 euros. Y a partir de los 4 años, pueden alcanzar salarios de más de 50.000 euros”, especifica.

En cuanto a los lenguajes de programación mejor remunerados, indica que “Java y .NET están muy bien pagados, porque son tecnologías que usan grandes multinacionales, con infraestructuras muy grandes, lo que conlleva mucha inversión en tecnología y profesionales muy bien pagados”. Sin embargo, explica que “la tecnología PHP, al ser menos completa y más accesible, está peor remunerada. Así, precisa que un programador PHP con 7 años de experiencia puede cobrar 8.000-10.000 euros menos que un experto en Java con una trayectoria similar.

El auge de Python también está impulsando los sueldos de estos programadores. “Los perfiles más juniors con experiencia en Python pueden estar ubicados en 34.000 euros brutos anuales, mientras que los seniors se sitúan de 40.000 euros en adelante”, detalla la especialista de Spring Professional.

Además, señala que los programadores de Ruby On Rails y React se encuentran entre los mejor pagados del mercado. “Ruby On Rails es una tecnología que ha revolucionado el desarrollo backend de las aplicaciones web. Además, gracias a la herramienta RubyMotion se pueden desarrollar aplicaciones móviles en iOS y Android nativo basadas en Ruby. Grandes empresas como Airbnb tienen su aplicación web basada en esta tecnología, siendo tendencia desde hace varios años en Estados Unidos, desde donde se ha ido expandiendo a nivel mundial. Estos programadores pueden situarse en 45.000 euros brutos anuales con 4-5 años de experiencia”, especifica.

Asimismo, explica que “los perfiles frontend que tengan experiencia y estén especializados en desarrollo con React serán de los mejores cotizados”. “Es una tecnología que permite tanto crear aplicaciones web como móviles a través de React Native. Empresas como Netflix tienen React como core tecnológico. También es utilizada por muchas startups. Perfiles juniors pueden estar entre 35.000 y 38.000 euros brutos anuales”, precisa.

Pérez también reseña que cotizan al alza los perfiles fullstack, ya que “permiten que la empresa tenga en una sola persona un perfil que desarrolle tanto la parte frontend como la parte backend”. Además, incide en que la capacidad del programador y, por ende, el salario que percibirá, no depende sólo de su destreza en la programación, sino también del manejo de otras herramientas, como bases de datos no relacionales, cloud computing, infraestructuras, microservicios, etc. “Cuanto más completo sea el perfil, será mejor retribuido”, afirma.

Por otro lado, Grande recalca “en el mundo del desarrollo no sólo se tiene en cuenta el factor económico, sino que una vez alcanzado cierto umbral que cubre las necesidades, se busca trabajar con tecnologías y proyectos atractivos y en entornos que potencien el desarrollo personal y profesional”.