Stack Overflow es una de las comunidades para desarrolladores más grandes del mundo, en la que participan en el planteamiento de problemas y soluciones. Su diferencia respecto a otras redes sociales y comunidades, es que la moderación de la información descarta preguntas spam y duplicadas, inclusive las preguntas absurdas, como "si un lenguaje es mejor que otro" o "si algún lenguaje está muriendo", de esta manera se mantiene la información más confiable y profesional.
Esta comunidad realiza anualmente la Encuesta Stack Overflow. En este artículo hablaré sobre la encuesta de este año (2020), en la que participaron cerca de 65,000 desarrolladores.
Como un pequeño preámbulo, quiero acotar que la encuesta se realizó durante el mes de febrero, de manera que los resultados reflejan una situación un tanto distinta a la que estamos viviendo hoy con el trabajo remoto a causa de la pandemia de covid-19.
Otra particularidad de la encuesta de este año respecto a las anteriores, es que no se centró únicamente en aspectos tecnológicos, este año se complementa con una perspectiva social, puesto que incluye aspectos demográficos como orientación sexual, datos étnicos y cuestiones de aprendizaje. La encuesta se dividió en cinco categorías: resumen, perfil de los desarrolladores, tecnología y comunidad.
Es importante tener en cuenta, que el término "developers" o "desarrolladores" hace referencia a todas las personas que desarrollan tecnología y no solo a los programadores.
Resumen
En esta parte aclaran que esta encuesta estuvo enfocada en buscar representación diversa, preguntando información sobre tecnologías y comportamientos que les ayuden a mejorar la comunidad de Stack Overflow. Aclaran que la encuesta fue hecha antes de la pandemia. En esta parte presentan los resultados "clave", mismos que puedes revisar directamente en la encuesta.
Perfil de los desarrolladores
Este apartado inicia con un mapa en el que representan la nacionalidad de los desarrolladores que participaron en la encuesta; claramente la participación más amplia es de Estados Unidos, seguida de Europa, en el caso de América Latina, se empieza a notar un poco más de participación.
Enseguida presentan los roles de desarrollo, en donde desarrollo de back-end, full-stack y front-end, en ese orden, ocupan los primeros tres lugares, es decir, es a lo que más se dedican los desarrolladores que participaron en la encuesta. Esto significa que el desarrollo web se está manteniendo, si miramos la gráfica, el cuarto y quinto lugar están ocupados por aplicaciones de escritorio y desarrollo móvil, respectivamente; aquí hay que recordar que desde el desarrollo web se puede generar desarrollo móvil, de escritorio y de videojuegos, por eso no es extraño que a lo que más se dedican sea al desarrollo web.
La mayoría de los participantes escriben código como hobbie, casi todos los programadores tienen proyectos personales y de este tipo de proyectos es de donde muchas veces se alimenta el open source.
En cuanto a la experiencia en términos globales, la mayoría tiene entre menos de 5 y 14 años de experiencia programando, aunque hay desarrolladores con más de 50 años de experiencia. Aunado a esto, la mayoría escribió su primera línea de código entre los 14 y 15 años de edad, esto nos indica que los programadores inician en este mundo siendo muy jóvenes.
Educación
La mayoría de los desarrolladores tienen grado de licenciatura (46.2%), en segundo lugar grado de maestría (22.8%) y en tercer lugar personas con estudios universitarios sin haber obtenido un grado (12.6%). Un dato interesante es que el 0.9% nunca han completado ningún tipo de educación formal.
Cuando se les preguntó a los desarrolladores acerca de la importancia de la educación formal, la mayoría, con un 26.2%, respondió que es más o menos importante y a su vez el 16.1% respondió que no es realmente necesaria. Esto es una manera de decir que la educación formal no es el único camino para dedicarnos al desarrollo.
Edad
El 26.5% tienen entre 25 y 29 años, 20.3% entre 20 y 24 años y 19.4% entre 30 y 34 años. Esto reafirma que la mayoría de las personas que se dedican al desarrollo son jóvenes, sin embargo, hay desarrolladores de todas las edades.
Tecnologías más populares
Lenguajes de programación, scripting y de marcado.
El primer lugar lo ocupa JavaScript con un 67%, seguido de HTML/CSS con un 63.1% y en tercer lugar SQL con el 54.7%. Si te preguntas por qué HTML y CSS se encuentran en el segundo lugar, la respuesta es muy sencilla: es web y en el apartado anterior, vimos que es lo que más se hace.
El cuarto lugar lo ocupa Python con el 44.1%, visto desde la perspectiva de los lenguajes de programación, JavaScript y Python siguen siendo los más importantes, seguidos de Java (40.2%), C# (26.2%) y PHP (26.2%). La gráfica continúa, te sugiero consultarla completa.
Frameworks para web
JQuery se encuentra en el primer lugar con 43.3%, aunque de hecho no es un framework, es una librería, pero se sobreentiende a lo que se refiere, a pesar de que no se explica en la encuesta, es muy probable que se encuentre en primer lugar porque hay muchos proyectos con jQuery, hay que tener en cuenta que lideró la web durante unos 10 años.
React.js ocupa el segundo lugar con el 35.9%, en tercer lugar tenemos a Angular con el 25.1%, seguido de ASP.NET con el 21.9% y Express con el 21.2%.
Frameworks, librerías y otras herramientas (general)
Microsfot ocupa los primeros lugares con Node.js (51.4%), .NET (35.1%) y .NET Core (26.7%), les siguen Pandas con el 15.5% y TensorFlow con el 11.5%.
Motores de Bases de Datos
El primer lugar es ocupado por MySQL con un 55.6%, en segundo lugar se encuentra PostgreSQL con 36.1% y Microsoft SQL Server con el 33.0%. Le siguen MongoDB (26.4%), Redis (18.3%) y MariaDB (16.8%).
Plataformas
Linux se encuentra en el primer lugar con el 55.0%, seguido de Windows con 53.1% y en tercer lugar se encuentra Docker con el 35.0%, este último es para hacer contenedores y tener entornos de desarrollo más estables y uniformes. A los tres primeros lugares les siguen AWS (26.7%), Android (26.2%), MacOS (24.0%), Raspberry Pi (14.9%), Microsoft Azure (14.5%) y WordPress (14.2%). Es interesante ver que WordPress se está utilizando como plataforma de desarrollo, además de ser utilizado como CMS.
Lenguajes más queridos, mas temidos y que más se quieren aprender.
Más amados
El primer lugar lo ocupa Rust, de Mozilla, con un 86.1%, en segundo lugar TypeScript con el 67.1% y Python con el 66.7%. Les siguen Kotlin (62.9%), Go (62.3%), Julia (62.2%), Dart (62.1%, C# (59.7%), y Swift (59.5%).
Más temidos
Los lenguajes con los que no se quieren meter los programadores son VBA con el 80.4%, Objetive-C con el 76.6% y Perl con el 71.4%. Les siguen Assembly (70.6%), C (66.9%), PHP (62.7%), Ruby (57.1%) y C++ (56.6%).
Más quieren aprender
El primer lugar se lo lleva Python con el 30.0%, seguido de JavaScript con el 18.5% y Go con el 17.9%. Los siguientes lugares los ocupan TypeScript (17.0%), Rust (14.6%), Kotlin (12.6%), Java(8.8%) y C++ (8.6).
Como dato, EDteam está construido completamente con Go. Si estás interesado en aprender a programar con Go, también contamos con uno de los cursos más completos en español.
Frameworks más queridos, más temidos y que más se quieren aprender.
Más amados
ASP.NET Core ocupa el primer lugar con el 70.7%, seguido de React.js con el 68.9% y en tercer lugar Vue.js con el 66.0%.
Más temidos
El primer lugar es para Angular.js con el 75.9%, en segundo lugar Drupal con el 74.5% y en tercer lugar se encuentra jQuery con el 63.5%.
Más quieren aprender
El que más se quiere aprender es React.js (22.4%), en segundo lugar Vue.js (16.4%) y en tercer lugar Angular (10.6%).
Tecnologías más pagadas
En el primer lugar se encuentran Perl ($76K USD), que se utiliza principalmente para la administración de sistemas, y Scala ($76K USD), seguidos de Go ($74K USD), Rust ($74K USD) y Ruby ($71K USD). Si te has preguntado si es posible generar dinero con HTML y CSS, aquí tienes la respuesta, aunque se encuentra debajo de muchas otras tecnologías, $52K USD al año no están mal.
¿Cómo están conectadas las tecnologías?
Hay un mapa en el que se ilustra cómo se da la conexión entre las tecnologías y es muy interesante. Por ejemplo, en el caso de Android, es una tecnología que se conecta con Java y esta a su vez se conecta con Spring, también se conecta con Flutter que a su ves se conecta con Dart, y tiene conexión con SQLite y Firebase, pero también se conecta con iOS, puesto que estamos hablando de desarrollo móvil, y a su vez iOS que se desarrolla con Swift y con Objetive-C.
En este artículo te he presentado solo algunos de los resultados de la encuesta, pero hay mucha más información muy interesante, por eso insisto en que consultes la Encuesta Stack Overflow tú mismo.
Si después de leer el blog o de ver nuestro video sobre la encuesta en Youtube te sientes motivado para dedicarte a la programación recuerda que en EDteam tenemos muchos cursos para aprender a programar desde cero.