Una colección de estadísticas sobre los principales problemas de los desarrolladores, recopiladas a partir de varias conversaciones individuales.
Hace unos meses, Paul Kinlan publicó una entrada sobre los principales problemas de los desarrolladores en 2021, por lo que nos parece adecuado comenzar este artículo con una actualización sobre los últimos 2 trimestres. Las cifras cambiaron un poco, pero la clasificación no.
Desafío | 1ᵉʳ trim. de 2021 | 2º trim. de 2021 | 3ᵉʳ trim. de 2021 | 4º trim. de 2021 |
---|---|---|---|---|
Mantenerse al día con los cambios en la plataforma web o los estándares web | 27% | 26% | 27% | 22% |
Mantenerse al día con una gran cantidad de herramientas o frameworks nuevos y existentes | 26% | 26% | 25% | 21% |
Hacer que un diseño o una experiencia funcionen de la misma manera en todos los navegadores | 26% | 28% | 24% | 21% |
Pruebas en varios navegadores | 23% | 24% | 20% | 20% |
Comprender e implementar medidas de seguridad | 23% | 25% | 20% | 19% |
Como se menciona en la entrada de blog de Paul, debemos abordar estos problemas. Como parte de un esfuerzo más amplio para hacerlo, mi colega Kadir Topal y yo entrevistamos a más de 18 desarrolladores. Nuestro objetivo es investigar y comenzar a comprender la ruta para solucionar los principales problemas de los desarrolladores.
Debates para desarrolladores
Renuncia de responsabilidad: Estas estadísticas se basan en una pequeña cantidad de conversaciones con los desarrolladores. Cuando se usa “todos” o “algunos”, se hace referencia a los desarrolladores entrevistados, no a toda la comunidad. Se necesita más investigación para extrapolar esas estadísticas de manera más amplia.
Estas conversaciones fueron un gran recordatorio de lo increíble y diversa que es la comunidad de desarrolladores web. Me gustaría agradecer a todos los desarrolladores que hablaron con nosotros. Algunos desarrolladores tenían más de 25 años de experiencia, mientras que otros comenzaron a trabajar en 2020. Algunos desarrolladores comenzaron su carrera con un título formal en Ciencias de la Computación, mientras que otros comenzaron de forma independiente. Algunos desarrolladores buscan activamente las novedades y se mantienen al tanto leyendo las notas de lanzamiento del navegador, mientras que otros se enteran de las novedades a través de colegas y amigos. Algunos piensan que la complejidad es parte del trabajo y disfrutan de los desafíos, mientras que otros solo quieren hacer su trabajo. Cuando pensamos en resolver esos problemas, es importante tener en cuenta esta diversidad.
Una de las características comunes entre todos los desarrolladores es que todos usan un CMS o un framework para realizar su trabajo. Se mencionaron WordPress, React, Bootstrap, Angular y Tailwind, y ninguno de los desarrolladores usaba la plataforma web estándar en producción. Elegir un framework cuando se inicia un proyecto es un desafío, y los desarrolladores suelen tener en cuenta los requisitos no técnicos. Por ejemplo, si será fácil contratar a un desarrollador para que trabaje con ese framework. No podemos mejorar los problemas de los desarrolladores si no se incluyen frameworks y CMS en la solución.
A propósito de la plataforma web, la mayoría de los desarrolladores la entienden como la base sobre la que desarrollan. Esto incluye no solo la definición clásica de la plataforma web, sino también los CMS, el framework, las herramientas y los polyfills. En muchos casos, mantenerse al día con ellos es donde se presentan las mayores dificultades. Esto cambió nuestra interpretación de esa pregunta y ahora sabemos que debemos actualizar nuestra encuesta para dividirla en diferentes partes menos ambiguas.
Otro área de ambigüedad es la definición de los estándares web. Cuando se les preguntó sobre ejemplos para mantenerse al día con los estándares, muchos desarrolladores señalaron dificultades para mantenerse al día con las prácticas recomendadas. Esta es otra área que debemos aclarar en la encuesta.
Los desarrolladores buscan prácticas recomendadas cuando implementan casos de uso y patrones específicos. Las publicaciones de blog y StackOverflow se mencionan como fuentes de prácticas recomendadas, pero los desarrolladores a menudo se preguntan si la información que leen es realmente la práctica recomendada y si está actualizada con las funciones y las APIs más recientes. Le gustaría leerlos en una fuente más oficial.
Mantenerse al día con las funciones y las APIs que habilitan nuevos casos de uso es un problema menor. Los desarrolladores tienen más dificultades con las funciones, las APIs y los cambios en la plataforma que generan un cambio en las prácticas recomendadas.
La mayoría de los desarrolladores coinciden en que la compatibilidad es uno de los mayores desafíos. La situación mejora gracias a iniciativas como Compatibilidad 2021 y Interoperabilidad 2022, pero está claro que los desarrolladores aún no lo ven como un problema resuelto.
La mayoría de los desarrolladores usan polyfills de una forma u otra. Sin embargo, en muchos casos, el uso es transparente para los desarrolladores, ya que una herramienta como Babel o un framework puede agregar automáticamente el polyfill. Para quienes administran sus propios polyfills, puede ser un problema determinar si un polyfill es "bueno". Los desarrolladores mencionaron el uso de la cantidad de instalaciones en NPM y el creador del polyfill como indicadores. Algunos desarrolladores mencionaron que trabajaron para quitar los polyfills que se volvieron innecesarios debido a que se dejó de admitir IE 11.
Los frameworks presentan problemas de fragmentación. Escuchamos informes en los que los desarrolladores estaban “atrapados” en una versión anterior de un framework y, por eso, tenían limitaciones en las funciones que podían usar, pero migrar a una versión más reciente del mismo framework podría ser costoso y difícil de justificar.
Conclusión
El desarrollo web moderno tiene muchos elementos móviles, incluidos estándares, navegadores, bibliotecas, polyfills, CMS, frameworks, prácticas recomendadas y herramientas. Esta diversidad es una de las mejores características de la Web, pero, en este momento, depende de cada desarrollador comprender cada elemento y cómo son compatibles entre sí.
Me pregunto si hay alguna manera de brindarles a los desarrolladores más claridad sobre cómo se vincula todo y más alineación entre todas las piezas, sin comprometer la diversidad. Es un problema grande y complejo, y es difícil hacerlo todo a la vez. Pero ¿por dónde empezar?
Si tienes puntos de vista y opiniones que quieras compartir. A mí también me encantaría hablar contigo. Estableceré una forma de reservar conversaciones directamente, pero, mientras tanto, mis mensajes directos están abiertos en Twitter. Comunícate con nosotros para que podamos chatear.