Tanto para ayudar a los desarrolladores a comprender de mejor forma el entorno en el que se desenvuelven, así como también para hacer este ejercicio a la inversa, acercando más al público hacia esta actividad, la empresa de análisis estadístico SlashData, con base en Londres, realiza un estudio titulado “El estado del mundo del desarrollador”, en el que se repasan las principales tendencias del área.
La última edición de este informe se basa en los datos recabados a través de su encuesta del segundo trimestre de 2019, en la cual participaron más de 17 mil desarrolladores de 155 países dedicados a diversas áreas, como lo son los entornos móviles, de escritorio, IoT, la nube, la web, juegos, realidad aumentada y virtual, Machine Learning y análisis de datos. La metodología aplicada se diseñó con el fin de evitar sesgos regionales o de otra índole.
Tras este estudio se encuentra un equipo de SlashData compuesto por Michael Carraz, Científico de datos y autor; Jo Stichbury, Analista sénior y escritora técnica autónoma; Stijn Schuermans, Analista empresarial sénior; Peter Crocker, Analista tecnológico y autor; y Christina Voskoglo, Directora de investigación y operaciones.
Las seis áreas de análisis comprendidas por este estudio son las siguientes:
Psicografía del desarrollador
Este apartado fue incluido por primera vez en la presente edición del estudio. La idea es conocer de qué forma los desarrolladores se comprenden a sí mismos. Para aquello, con el fin de aproximarse a un boceto de sus personalidades, los encuestados tuvieron que clasificarse entre uno y cinco adjetivos de una propuesta compuesta por 21 opciones.
Más de la mitad de los desarrolladores que contestó esta pregunta se clasificó bajo un perfil “lógico”, siendo su contraparte “extrovertido” una de las opciones que menos acaparó preferencias, marcándose una diferencia entre ambas alternativas en una escala de cuatro a uno.
En otros indicadores comparados, los participantes se autodefinieron como más “lectores” que “jugadores”, más trabajadores en equipo que solitarios, más trasnochadores que madrugadores, más polifacéticos que especialistas, considerablemente más lógicos que perceptivos y más creativos que “constructores de modelos de LEGO”.
Es importante señalar que estos indicadores, los cuales se compararon inicialmente a nivel macro, presentan diferencias si se segmentan según los diferentes sectores tecnológicos en los que se desenvuelven los encuestados. Por ejemplo, los desarrolladores de servicios backend son de un perfil considerablemente menos artístico que aquellos dedicados a los juegos, siendo estos últimos el único grupo en el que no prima el adjetivo “lógico”, pues, como era de esperarse, se definen más como “jugadores”.
Además, otras diferencias se patentan segmentando a la muestra bajo rangos etarios. Mientras los desarrolladores jóvenes son más asiduos a los juegos, los mayores son más aficionados a la lectura.
Comunidades de lenguajes de programación
El lenguaje de programación predilecto de un desarrollador define parte importante de su actividad profesional. El dinamismo propio de esta área conlleva la necesidad de mantenerse bajo constante actualización. Además, esta elección se asocia a un constante debate técnico y a la creación y fortalecimiento de comunidades.
Entre los lenguajes más usados se encuentra JavaScript en primer lugar, sumándoles sus derivados como TypeScript y CoffeeScript. Esta comunidad cuenta con alrededor de 11 millones de desarrolladores activos, teniendo representantes incluso en áreas donde no se considera una práctica común su aplicación, como es en el caso del desarrollo de código para dispositivos IoT.
Otras opciones ampliamente usadas son Java y Phyton, que superan el umbral de los 6 millones de usuarios y C# y PHP, que superan el umbral de los 5 millones.
Los lenguajes más de nicho son Objective C, Rust y Lua, los cuales se encuentran bajo el umbral del millón de usuarios.
Respecto a ediciones anteriores de este estudio, llama la atención que las comunidades en torno a Phyton y C (junto a C++) hayan disminuido su volumen, sobre todo en el caso del primero, el cual había presentado un alto crecimiento previamente. No obstante, al analizar las respuestas de encuestados que participaron también en sondeos previos, se observó que la deserción de sus lenguajes predilectos no fue significativa, razón que permite considerar que esta variación pudo deberse a cambios en la muestra consultada.
En cuanto a las proyecciones que se extraen de esta parte del sondeo, se considera a Kotlin como una gran promesa, al subir entre las preferencias desde el puesto 11 al 8 en solo un año. Se atribuye este crecimiento a la adopción de este lenguaje de programación por parte de Google como una opción de primera categoría para desarrollar en Android.
Otros lenguajes con un crecimiento destacable son Rust, Go, Scala y Dart.
Tecnologías emergentes
Esta parte de la consulta trata sobre la adopción de nuevas tecnologías por parte de los desarrolladores, y el interés que los mismos presentan por esta.
Cinco tecnologías presentaron un significativo aumento en cuanto a su adopción y el compromiso de los desarrolladores: DevOps, miniapps, visión artificial, criptomonedas y computación fog/edge.
DevOps al ser un proceso que amplía el alcance de las operaciones de desarrollo más que cualquier tipo de tecnología, tiene como palabra clave la innovación. Por esa razón el 70% de los desarrolladores manifestaron interés en esta tecnología.
Otra tecnología que acaparó gran parte de las preferencias fueron las miniapps, con más de un 60%. Sin embargo, sólo el 21% de los desarrolladores con algún interés en este campo se encuentra trabajando actualmente en el mismo.
La visión artificial escaló a una cifra cercana al 65% de las preferencias, cifra que se justifica en el presente de este campo laboral. En cuanto a adopción por real interés, el crecimiento fue ligero.
Las criptomonedas son parte importante del debate y desarrollo tecnológico de hoy. Eso se patentó en el incremento de un 49% a un 52% de desarrolladores involucrados e interesados. La utilidad de esta tecnología y su creciente adopción como método de pago son algunas de las causas tras este crecimiento.
La computación fog/edge, dedicada al análisis y procesamiento de datos, continúa siendo un nicho de interés bajo, pero creciente gracias a la consolidación del Internet de las cosas o la Inteligencia Artificial, tecnologías que se valen de este recurso. Vale resaltar que la falta de seguridad en torno a ella está dificultando su crecimiento.
Transmisión de partidas en directo
El streaming de partidas de videojuegos es un fenómeno que define a toda una nueva generación de gamers, gracias a la generación de nuevas instancias competitivas, como lo son los e-sports. Sin ir más lejos, se ejemplifica el impacto de esta área al comparar el número de espectadores en línea que tuvo la final 2018 del Campeonato Mundial de League of Legends con el Super Bowl del mismo año (los más recientes a la fecha de elaboración del estudio).
Factores como las partidas multijugador son fundamentales al momento de analizar su potencial y atractivo para una transmisión en línea. Ante esto, queda un largo camino por recorrer, ya que según las conclusiones de este estudio, el 16% de los desarrolladores profesionales de juegos y el 10% de los desarrolladores aficionados de juegos diseñan para la transmisión de partidas en directo.
En otros indicadores, el 25% de los desarrolladores dedicados a los servicios de streaming como Steam y el 20% de los desarrolladores de juegos para realidad aumentada o virtual diseñan para la transmisión de partidas en directo.
Buscando una justificación para estas preferencias, se concluyó que para los desarrolladores el hardware objetivo no es influyente al momento de diseñar para la transmisión de un juego. Sin embargo, en el caso de los ejemplares desarrollados para la web, ordenadores y teléfonos inteligentes, esto sí influye de mayor forma para dotar de visibilidad a sus plataformas.
Entre las categorías de juegos que más concentran la consideración de un diseño amigable con el streaming se encuentran, los de acción, aventura, arcade, rol y shooter (en orden decreciente).
Plataformas y ecosistemas de terceros
Esta categoría puede ejemplificarse con la experiencia de iOS y Android. Su amplio nivel de uso respecto a otros competidores fomentó la llegada de desarrolladores de apps que enriquecieron sus catálogos, para seguir presentando una oferta atractiva para sus presentes y nuevos usuarios, los que a su vez, en medio de un círculo vicioso, continúan atrayendo nuevos desarrolladores.
Una conclusión que patenta este ejemplo es que la mayoría de los desarrolladores crean apps para más de un tipo de ecosistema, según señala el informe de SlashData.
Respecto al perfil de los desarrolladores, este varía considerablemente según el área de actividad. Mientras los sistemas ERP, CRM y blockchain acaparan mayoritariamente desarrolladores profesionales, los Chatbots y sistemas para hogares inteligentes concentran más desarrolladores aficionados o estudiantes.
Otros campos, como las apps para autos, las plataformas de mensajería y las plataformas de voz presentan preferencias más equilibradas.
Clasificando regionalmente estas áreas de acrividad, en Asia prima el interés por las plataformas de mensajería y Chatbots; en Norteamérica y Europa Occidental es mayoritario el interés por aplicaciones misceláneas, seguidas por los sistemas CRM Y ERP; caso similar al del resto de las regiones del mundo, en el que se repiten las preferencias del grupo anterior, pero distribuidas de otra forma.
Entornos multiplataforma para móviles
El 40% de los desarrolladores consultados afirmó trabajar en el sector móvil. Una cifra que tiene sentido en medio de tiempos en los que los teléfonos inteligentes se han vuelto parte importante del día a día de muchos, gracias a la amplia gama de utilidades que ofrecen en su mayoría.
Gracias a este contexto, el cual está a la vista de todos nosotros, surgieron soluciones multiplataforma, las cuales permiten crear y mantener aplicaciones para distintos destinos, pero desde un mismo origen. Respecto a eso, el 34% de los desarrolladores móviles afirmó utilizar entornos multiplataforma en los últimos 12 meses (el 40% eran profesionales y el 33% aficionados y estudiantes). Las preferencias las acaparan principalmente React Native y Xamarin, con un 23% y 18%, respectivamente.
Respecto a los sistemas operativos de destino, Android concentra las preferencias de React Native, Xamarin y Flutter se encuentran casi equiparadas en porcentaje de elección. En iOS y navegadores móviles, parte mayoritaria de las elecciones se concentraron en React Native, desplazando por notorias diferencias a las otras opciones. En cuanto a Windows 8 y 10, Xamarin concentra la mayor parte de las preferencias.
Observaciones finales
Este informe, junto con presentar los resultados de la última edición de este estudio, correspondiente al segundo trimestre de 2019, colabora en la tarea de la elaboración de un perfil actualizado de los desarrolladores que se desenvuelven en el dinámico mundo de hoy.
El citado reporte y sus ediciones anteriores están disponibles para su consulta y descarga, tanto en sus ediciones en inglés y español, en el sitio web Developer Economics de SlashData.