Blog

¿Qué es un desarrollador de software? Todo lo que necesitas saber sobre el rol de programador y cómo está cambiando

¿Qué es un desarrollador de software? Todo lo que necesitas saber sobre el rol de programador y cómo está cambiando 1

Los desarrolladores con talento están muy solicitados, por lo que los técnicos de software que se centran en el aprendizaje de los lenguajes de programación adecuados y los conjuntos de habilidades blandas pueden orientar su profesión en varias direcciones.

¿Qué es un desarrollador de software?

Un desarrollador -también conocido como programador, codificador o ingeniero de software- es un profesional de la informática que utiliza lenguajes de programación para crear software informático.

¿Qué hacen los desarrolladores de software?

Los desarrolladores escriben, prueban, depuran y mantienen las aplicaciones. Las funciones de los desarrolladores pueden variar mucho según el tipo de organización.

Suelen ser contratados por empresas tecnológicas que crean programas informáticos estándar o por organizaciones de usuarios finales -tanto del sector público como del privado- que desarrollan aplicaciones a medida.

Pero la programación, como veremos a continuación, es sólo un elemento importante de una labor cada vez más amplia.

¿Qué habilidades necesitas para convertirte en desarrollador de software?

Los desarrolladores necesitan una gran aptitud técnica. Algunos puestos de programador requerirán una titulación en un campo relevante como la informática, la tecnología de la información, las matemáticas o la ingeniería.

Aunque la formación es importante, la naturaleza de rápida evolución del desarrollo de software significa que la experiencia en el trabajo será la clave para el éxito de la carrera.

¿Qué lenguajes de programación utilizan los desarrolladores de software?

El desarrollo de software es un trabajo constante en progreso. La Encuesta Tecnológica de Harvey Nash de 2020 reveló que un tercio de los desarrolladores cree que sus habilidades actuales sólo serán relevantes durante los próximos tres años.

Ahora mismo, JavaScript es el lenguaje de programación más popular, con 13,8 millones de desarrolladores, según SlashData. La empresa británica estima que la comunidad de JavaScript representa una gran parte de los 24,3 millones de desarrolladores activos en todo el mundo.

SlashData dice que la segunda población más grande de 10,1 millones de desarrolladores son usuarios de Python, que es popular entre los especialistas en aprendizaje automático, mientras que ahora hay 9,4 millones de desarrolladores de Java. Estos tres lenguajes de programación principales coinciden con la clasificación de la empresa de análisis de desarrolladores RedMonk, que se basa en datos de GitHub y Stack Overflow.

Otros lenguajes de programación populares son C/C++, C#, PHP, Kotlin, Swift, Go, Ruby, Objective C, Rust y Lua. La popularidad de los lenguajes puede ser cíclica. Por ejemplo, la reciente reaparición de Fortran en el índice de programación de Tiobe en la 20ª posición, desde el puesto 34 de hace un año. Fortran surgió de IBM en la década de 1950, pero sigue siendo popular en la informática científica.

¿Qué hace a un buen desarrollador de software?

Rob Grimsey, director de la empresa de selección de personal Harvey Nash, dice que hay muchos atributos en un buen desarrollador, e inevitablemente «bueno» significa cosas diferentes para las distintas organizaciones.

«Lo que todo el mundo buscará como requisito básico, por supuesto, es un alto grado de capacidad técnica, basada en sólidos principios de codificación y la capacidad de trabajar bien en diversos entornos de desarrollo», dice.

Sin embargo, hay una dimensión adicional para ser un buen desarrollador que va más allá de un sólido dominio de los lenguajes de codificación. Grimsey dice que un buen desarrollador forma parte de un equipo, especialmente con el enfoque moderno del desarrollo de software ágil. Agile es un conjunto de métodos y prácticas de colaboración para producir código de software de forma más rápida y eficiente.

«Los desarrolladores pueden participar en un stand-up diario y en otras interacciones. La capacidad de comunicación, de aportar ideas y de comprender el contexto empresarial más amplio de los requisitos de la organización, todo ello es crucial. Los desarrolladores tienen que desempeñar un papel más interactivo y ayudar a dar vida a las ideas», dice Grimsey.

¿Cuál es la demanda de desarrolladores de software?

La respuesta sencilla es alta. La escasez de competencias ya era bastante grave antes de la pandemia, y Harvey Nash informa de que la demanda sigue superando a la oferta hoy en día, especialmente en el desarrollo de software, la ciberseguridad y los datos. «Hay una gran demanda de desarrolladores y parece que cada vez es mayor», confirma Grimsey.

Tomemos como ejemplo los listados de trabajo para PHP, que es un lenguaje de programación de uso común pero no especialmente querido. El número de puestos de desarrollador de PHP de nivel básico ha aumentado un enorme 834% desde enero de 2020, lo que lo convierte en el trabajo tecnológico de más rápido crecimiento en el sector, según los datos de Indeed.

Cuando comenzó el primer bloqueo en el Reino Unido en marzo, Harvey Nash vio una pausa en la contratación para muchos tipos de puestos, pero no para los desarrolladores. Según Grimsey, los desarrolladores eran esenciales para permitir a las empresas una rápida transformación digital. Las empresas utilizaron las tecnologías colaborativas para aprovechar una mayor reserva de talento de todo el mundo. Sin embargo, la batalla por el talento sigue siendo feroz.

«Las empresas se han dado cuenta, gracias al COVID y al nuevo modelo de trabajo a distancia, de que pueden contratar a personas de una extensión geográfica mucho mayor, lo cual es positivo. Pero aun así, eso no resuelve el problema. Si eres un buen desarrollador que busca trabajo, no deberías estar buscando mucho tiempo», afirma.

¿Cómo es la demanda de formación en desarrollo de software?

Una vez más, la respuesta es alta. La programación informática y el desarrollo de software fueron las principales opciones para las personas que buscaban mejorar sus oportunidades de empleo en 2020, según la empresa tecnológica Red Hat, y casi uno de cada 20 adultos realizó cursos de programación o algún tipo de formación en desarrollo de software el año pasado.

Es de esperar que la demanda siga aumentando a medida que salgamos del bloqueo. La nueva normalidad laboral traerá muchos cambios, pero un tema permanente será la actualización de conocimientos y el aprendizaje de nuevos trucos de lenguaje de programación, con muchos de los cursos más populares -de especialistas como CampusMVP, Coursera, Udemy, Pluralsight y Udacity- disponibles de forma gratuita o con una suscripción.

Los expertos del sector sugieren que ya hay pruebas de que los conocimientos de desarrollo de software se están extendiendo más allá de la comunidad de programadores. Warren Breakstone, director general y jefe de producto de las soluciones de gestión de datos de S&P Global Market Intelligence, cree que los conocimientos técnicos son ahora más accesibles.

«La próxima generación de clientes que tenemos sale de la escuela y ya conoce Python y R. En lugar de limitarse a saber utilizar los productos de Microsoft, salen con experiencia y conocimientos en torno a estas nuevas metodologías de desarrollo, como Python, lo que hace que los datos, el análisis de datos y la ciencia de los datos sean mucho más accesibles», afirma.

¿Hasta qué punto es una amenaza el desarrollo low-code/no-code para los desarrolladores de software?

La democratización de los conocimientos de desarrollo de software no es la única amenaza para los programadores de toda la vida. La tecnología emergente podría ayudar a cubrir parte de la brecha de conocimientos informáticos en forma de herramientas de desarrollo low-code/sin código.

Estas herramientas reducen, en la medida de lo posible, los conocimientos prácticos necesarios para crear software. La empresa de análisis tecnológico Forrester predice que el mercado de bajo código crecerá un 40% anualmente hasta alcanzar los 21.000 millones de dólares en 2022, mientras que el analista Gartner prevé que las plataformas de bajo código representarán el 65% de todo el desarrollo de aplicaciones en 2024.

Sin embargo, es importante afirmar que el fin del desarrollo práctico está lejos de ser cierto. Las aplicaciones sofisticadas siempre requerirán las habilidades de un programador profesional. Y hay cierta esperanza de que las herramientas de poco código puedan liberar a los desarrolladores para que trabajen en algunas de esas tareas de compromiso empresarial de más alto nivel que los altos directivos están tan interesados en que los programadores asuman.

«El low-code no acabará con la demanda de desarrolladores, sino que significará que necesitan múltiples habilidades», dice Grimsey, de Harvey Nash. «Se les buscará como solucionadores de problemas con capacidades full-stack. Así que no sólo participarán en la escritura de código para la construcción de la aplicación principal, sino, en última instancia, en todo el recorrido de una pieza de software o aplicación».

¿Cuál es la clave para ser un desarrollador de software de éxito?

Tarah Lourens, jefa de producto y tecnología del especialista inmobiliario Rightmove, es una antigua desarrolladora, por lo que entiende el tipo de habilidades que ayudarán a los ingenieros de software con talento a destacar entre la multitud. Al igual que otros autores, sugiere que la programación es sólo un punto de partida crucial para los desarrolladores de éxito.

«Siempre me ha apasionado la idea de que la mentalidad correcta tiene que ver menos con la programación y más con lo que estamos tratando de aplicar esta tecnología», dice. «Necesitamos personas que puedan encontrar el equilibrio adecuado entre la construcción de una gran programación y la obtención de resultados empresariales. Cuanto más puedas hacer eso, más lejos vas a llegar».

Este es un sentimiento que resuena en el CIO de Boots, Rich Corbridge, que dice que tener un ojo en la innovación -y usar tus ideas creativas para ayudar a resolver los retos empresariales- es probablemente un marcador clave para el éxito del desarrollo de software a largo plazo. Eso es ciertamente algo que ha visto durante la pandemia de coronavirus en Boots.

«Algunas de las mejores cosas que hemos visto salir en los últimos 12 meses han sido inspiradas por ingenieros que se sentaron a pensar: «¿Y si hacemos esto? Y eso va desde la verdadera programación de cosas nuevas hasta la implementación de una herramienta como Adobe Audience Manager y la consideración de ‘¿qué pasaría si hiciéramos algo diferente; qué pasa con la velocidad del sitio o la capacidad de realizar transacciones?'»

¿Qué funciones pueden desempeñar los desarrolladores de software?

El paso más obvio es el de programador senior. Además de la programación y las pruebas, los desarrolladores senior empezarán a trabajar más estrechamente con la empresa para identificar sus requisitos empresariales a partir del software. Este tipo de compromiso lleva a algunos desarrolladores a desempeñar funciones de analista de negocio y, posiblemente, de arquitecto empresarial, en las que se hace hincapié en la investigación y el desarrollo de una estrategia de aplicación global para la empresa.

Los desarrolladores que adquieren el gusto por dirigir a otros pueden pasar a desempeñar funciones de liderazgo de equipos. Aquellos que quieran ascender aún más en su carrera pueden explorar los puestos de gestión de proyectos, donde su experiencia en el desarrollo de software puede utilizarse para ayudar a dirigir iniciativas tecnológicas específicas. Además, el creciente uso de los principios de desarrollo de software ágil en toda la empresa significa que los desarrolladores experimentados con buenas habilidades de compromiso probablemente estén muy solicitados.

¿Cómo pueden los desarrolladores de software ascender a puestos más altos?

La clave para ascender es ir más allá de la programación. Los desarrolladores modernos deben pensar en cómo sus conocimientos pueden ayudar a la empresa a crear valor a partir de la tecnología. Corbridge, de Boots, dice que su organización encarga a sus desarrolladores senior que se aseguren de que la empresa saca el máximo partido de sus socios proveedores, como Cognizant, TCS e IBM.

«Solemos tener un papel más de ingeniero principal que dirige a esos socios en lo que hacen», explica. «Nuestro conjunto de habilidades gira en torno a ser capaces de tocar y ver lo que ocurre en el desarrollo de sus productos. Las personas que tienen la capacidad de estar cerca del negocio y entender lo que éste necesita, y hacia dónde se dirige el producto para mantenernos al día».

Sacar el máximo partido de los socios no siempre es una tarea sencilla. Al igual que muchas otras organizaciones modernas, Boots está dispuesta a utilizar técnicas de desarrollo de software ágiles. Corbridge afirma que el papel de sus desarrolladores senior es garantizar que el software que producen su equipo y sus socios pueda adaptarse con flexibilidad a medida que cambian los requisitos del negocio.

«Si hacemos entregas a precio fijo en un mundo ágil, ambas cosas no son fáciles de combinar. Así que intentar gestionar a cualquiera de nuestros socios con un contrato de tiempo fijo -pero con un marco de trabajo ágil, estando al tanto de hacia dónde se dirige y cómo funciona- ha sido una gran función de tipo ingeniero jefe en los últimos 12 meses más o menos», dice.

¿Cuál es el sueldo de un desarrollador de software?

Glassdoor sugiere que el salario medio de un desarrollador en el Reino Unido es de unas 40.000 libras, aunque las tarifas y el salario varían significativamente según la experiencia, la habilidad y la geografía. La plataforma de formación de habilidades CodinGame sugiere que los desarrolladores de EE.UU. son los que tienen el salario más alto, con un ingeniero de software medio que gana 95.744 dólares al año.

El especialista en programación Stack Overflow informa de que Scala es el lenguaje de programación asociado a la mayor remuneración en EE.UU., con un salario medio de 150.000 dólares. Otros lenguajes con un salario de al menos 120.000 dólares son Go, Objective-C, Kotlin, Perl, Ruby, Rust, C, Swift, Haskell, Assembly, Bash/Shell/PowerShell, C++, Java, Python y TypeScript.

¿Cuál es el futuro del desarrollador de software?

A pesar de la continua evolución de las técnicas de programación y el auge del desarrollo sin código, el papel del desarrollador de software no está amenazado, pero sí está cambiando. Grimsey, de Harvey Nash, dice que el papel se está volviendo más consultivo, con más énfasis en las partes interesadas.

«Es un cambio que ya ha comenzado: el papel será mucho más que escribir líneas de código, con muchas habilidades complementarias», dice. «Los desarrolladores pueden implicarse más en la discusión del briefing con su cliente, dándole forma e iterando ideas».

Lourens, de Rightmove, también reconoce este cambio. Dice que el éxito de la ingeniería de software ya no tiene que ver con los lenguajes que se conocen, sino con la forma en que los desarrolladores pueden aplicar su mentalidad y aptitudes a los retos a los que se enfrenta la empresa.

«Las cosas se mueven tan rápido ahora que en el momento en que evalúas a alguien en un lenguaje, éste ya ha cambiado: hay una nueva versión. Creo que, con el tiempo, el éxito de la ingeniería de software se basará cada vez más en la mentalidad de alguien, y luego en las habilidades técnicas específicas que tenga», dice.

«Creo que eso también debería abrir el sector. Durante mucho tiempo, el éxito en la industria tecnológica ha tenido que ver con la exposición que has tenido y con los sistemas que has construido en qué lenguaje, lo cual cierra inmediatamente las oportunidades para la gente. Así que, desde el punto de vista de la diversidad, creo que el cambio de mentalidad es también un potencial facilitador».

Nota: este post es una traducción de este artículo.

¿Qué es Velneo?

Velneo es una plataforma low-code que cubre el ciclo completo: está diseñada para hacer más rentable el desarrollo, implantación y mantenimiento, en la que los programadores disponen de código empresarial abierto reutilizable y personalizable, como el vERP. Y además la plataforma, el código y todos los recursos formativos están en español.

 

Artículos relacionadosPlataforma low-code: ¿es para programadores?¿Qué es una plataforma low-code?Guía para elegir una tecnología de desarrollo low-codeDesarrolladores de software de gestión comparten su experiencia programando con el entorno de desarrollo VelneoCómo desarrollar software sin programar códigoPor qué los desarrolladores no deberían descartar las plataformas de poco código

 

Dejar un comentario