Friday, April 5, 2019

Resultados de la encuesta Go 2018 – The Go Blog

Resultados de la encuesta de Go 2018

28 de marzo de 2019

Gracias

Esta publicación resume los resultados de nuestra encuesta de usuarios de 2018 y establece comparaciones entre los resultados de nuestras encuestas anteriores de 2016 y 2017 .
  

Este año tuvimos 5,883 encuestados de 103 países diferentes. Agradecemos a todos los que brindaron sus comentarios a través de esta encuesta para ayudar a dar forma al futuro de Go. ¡Gracias!
  

Resumen de hallazgos

  • Por primera vez, la mitad de los encuestados ahora usan Go como parte de su rutina diaria . Este año también se observaron aumentos significativos en el número de encuestados que se desarrollan en Go como parte de sus trabajos y usan las responsabilidades de Go fuera del trabajo.
  • La mayoría de los usos comunes para los servicios API / RPC de Go permanecen y las herramientas de CLI . Las tareas de automatización, aunque no son tan comunes como las herramientas de CLI y los servicios de API, son un área de rápido crecimiento para Go.
  • El desarrollo web sigue siendo el dominio más común en el que trabajan los encuestados, pero DevOps mostró el mayor crecimiento interanual y ahora es el segundo dominio más común.
  • Una gran mayoría de los encuestados dijo que Go es su lenguaje de programación más preferido a pesar de sentirse generalmente menos competente
  • VS Code y GoLand están ganando popularidad y ahora son los editores de códigos más populares entre los encuestados.
  • Resaltando la naturaleza portátil de Go, muchos desarrolladores de Go usan más de un sistema operativo principal para el desarrollo. Linux y macOS son particularmente populares, ya que una gran mayoría de los encuestados utilizan uno o ambos de estos sistemas operativos para escribir el código Go.
  • Los encuestados parecen estar alejándose de las implementaciones locales de Go y
  • La mayoría de los encuestados se sienten bienvenidos en la comunidad Go, y la mayoría de las ideas para mejorar la comunidad Go se centran específicamente en mejorando la experiencia de los recién llegados .

Siga leyendo para todos los detalles.
  

Antecedentes de la programación

Los resultados de este año muestran un aumento significativo en el número de encuestados a los que se les paga para escribir Go como parte de sus trabajos (68% → 72%), continuando una tendencia año tras año que ha Hemos estado creciendo desde nuestra primera encuesta en 2016. También vemos un aumento en el número de encuestados que programan en Ir fuera del trabajo (64% → 70%). Por primera vez, el número de encuestados que escriben en Go como parte de su rutina diaria alcanzó el 50% (frente al 44% en 2016). Estos hallazgos sugieren que las compañías continúan adoptando Go para el desarrollo profesional de software a un ritmo constante, y que la popularidad general de Go entre los desarrolladores sigue siendo sólida.
  

Para comprender mejor dónde usan Go los desarrolladores, dividimos las respuestas en tres grupos: 1) personas que usan Go tanto dentro como fuera del trabajo, 2) personas que usan Go profesionalmente pero no fuera del trabajo, y 3) personas Quien solo escribe Vaya fuera de sus responsabilidades laborales. Casi la mitad (46%) de los encuestados escriben el código de Go tanto profesionalmente como en su propio tiempo (un aumento de 10 puntos desde 2017), mientras que los encuestados restantes están divididos estrechamente entre escribir solo Ir al trabajo o solo Escribir Ir fuera del trabajo . El gran porcentaje de encuestados que usan Ir al trabajo y eligen usarlo fuera del trabajo sugiere que el lenguaje atrae a los desarrolladores que no ven la ingeniería de software como un trabajo de día: también eligen piratear el código fuera de las responsabilidades del trabajo, y (como lo demuestra el 85% de los encuestados que dicen que preferirían Go para su próximo proyecto, consulte la sección Actitudes hacia Go a continuación) Go es el lenguaje principal que prefieren usar para estos no relacionados con el trabajo proyectos
  

Cuando se les pregunta cuánto tiempo han estado usando Go, las respuestas de los participantes tienen una fuerte tendencia al alza con el tiempo, con un mayor porcentaje de respuestas en los grupos de 2 a 4 y más de 4 años cada año. Esto se espera para un lenguaje de programación más nuevo, y nos complace ver que el porcentaje de encuestados que son nuevos en Go está disminuyendo más lentamente que el porcentaje de encuestados que ha estado usando Go por más de 2 años, como lo sugiere que los desarrolladores no están abandonando el ecosistema después de aprender el idioma inicialmente.
  

Como en años anteriores, Go se ubica entre los idiomas preferidos de los encuestados e idiomas en los que tiene experiencia. La mayoría de los encuestados (69%) afirmó tener experiencia en 5 idiomas diferentes, destacando que sus actitudes hacia Go están influenciadas por las experiencias con otras pilas de programación. Las tablas a continuación están ordenadas por el número de encuestados que clasificaron cada idioma como el más preferido / comprendido (las barras azules más oscuras), lo que destaca tres partes interesantes:
  

  • Mientras que aproximadamente ⅓ de los encuestados consideran que Go es el lenguaje en el que tienen más experiencia, el doble de lo que muchos encuestados lo consideran su lenguaje de programación preferido. Entonces, aunque muchos de los encuestados sienten que no se han vuelto tan competentes con Go como con algún otro idioma, con frecuencia prefieren desarrollarse con Go.
  • Pocos encuestados califican a Rust como un idioma en el que tienen experiencia (6.8%) , sin embargo, el 19% lo clasifica como el idioma preferido, lo que indica un alto nivel de interés en Rust entre esta audiencia.
  • Solo tres idiomas tienen más encuestados que dicen que prefieren el idioma que dicen que tienen experiencia con él: Rust (2.41 : 1 proporción de preferencia: experiencia), Kotlin (1.95: 1) y Go (1.02: 1). Una preferencia más alta que la experiencia implica interés, pero poca experiencia directa en un idioma, mientras que una preferencia más baja que la experiencia sugiere barreras para un uso competente. Las proporciones cercanas a 1.0 sugieren que la mayoría de los desarrolladores pueden trabajar de manera eficaz y de manera agradable con un idioma determinado. Estos datos son corroborados por la encuesta de desarrolladores 2018 de Stack Overflow que también encontró a Rust, Kotlin y Go como uno de los lenguajes de programación más preferidos.

Lectura de los datos : Los participantes podrían clasificar 5 idiomas. La codificación de colores comienza con azul oscuro para el rango superior y se aclara para cada rango sucesivo. Estas tablas están ordenadas por el porcentaje de participantes que clasificaron cada idioma como su mejor opción.

Dominios de desarrollo

Los encuestados informaron que trabajaron en una mediana de tres dominios diferentes, con una gran mayoría (72%) trabajando en 2 a 5 áreas diferentes. El desarrollo web es el más frecuente con un 65%, y aumentó su dominio a medida que los encuestados de la zona principal trabajan (hasta un 61% el año pasado): el desarrollo web ha sido el dominio más común para el desarrollo de Go desde 2016. Este año, DevOps notablemente aumentó, del 36% al 41% de los encuestados, tomando el lugar número dos de la Programación de Sistemas. No encontramos ningún dominio con menor uso en 2018 que en 2017, lo que sugiere que los encuestados están adoptando Go para una variedad más amplia de proyectos, en lugar de cambiar el uso de un dominio a otro.
  

Desde 2016, los dos usos principales de Go han sido escribir servicios API / RPC y desarrollar aplicaciones CLI. Si bien el uso de CLI se mantuvo estable en 63% durante tres años, el uso de API / RPC aumentó de 60% en 2016 a 65% en 2017 a 73% en la actualidad. Estos dominios cumplen con las fortalezas centrales de Go y son centrales para el desarrollo de software nativo de la nube, por lo que esperamos que sigan siendo dos de los escenarios principales para los desarrolladores de Go en el futuro. El porcentaje de encuestados que escriben servicios web que devuelven HTML directamente ha disminuido constantemente, mientras que el uso de API / RPC ha aumentado, lo que sugiere cierta migración al modelo API / RPC para servicios web. Otra tendencia año tras año sugiere que la automatización también es un área en crecimiento para Go, ya que el 38% de los encuestados ahora usa Go para los scripts y las tareas de automatización (frente al 31% en 2016).
  

Para comprender mejor los contextos en los que los desarrolladores utilizan Go, agregamos una pregunta sobre la adopción de Go en diferentes industrias. Tal vez no sea sorprendente que para un lenguaje relativamente nuevo, más de la mitad de los encuestados trabajan en compañías en las categorías Internet / web y Software (es decir, compañías tecnológicas). Las únicas otras industrias con> 3% de respuestas fueron Finanzas, banca o seguros y Medios, publicidad, publicaciones o entretenimiento . (En la siguiente tabla, hemos condensado todas las categorías con tasas de respuesta inferiores al 3% en la categoría "Otros"). Continuaremos el seguimiento de la adopción de Go en todas las industrias para comprender mejor las necesidades de los desarrolladores fuera de las compañías de tecnología.
  

Actitudes hacia Go

Este año agregamos una pregunta que pregunta "¿Qué tan probable es que recomiendes ir a un amigo o colega?" para calcular nuestra Net Promoter Score . Este puntaje intenta medir cuántos "promotores" más tiene un producto que "detractores" y oscila entre -100 y 100; un valor positivo sugiere que es probable que la mayoría de las personas recomienden el uso de un producto, mientras que los valores negativos sugieren que la mayoría de las personas probablemente recomienden no usarlo. Nuestra puntuación de 2018 es de 61 (68% de promotores, 7% de detractores) y servirá como base para ayudarnos a medir el sentimiento de la comunidad hacia el ecosistema Go a lo largo del tiempo.
  

Además de NPS, hicimos varias preguntas sobre la satisfacción del desarrollador con Go. En general, los encuestados indicaron un alto nivel de satisfacción, consistente con años anteriores. Las grandes mayorías dicen que están felices con Go (89%), preferirían usar Go para su próximo proyecto (85%), y sienten que está funcionando bien para su equipo (66%), mientras que una pluralidad siente que Go está en Al menos algo crítico para el éxito de su empresa (44%). Si bien todas estas métricas mostraron un aumento en 2017, se mantuvieron estables en su mayoría este año. (La redacción de la primera pregunta cambió en 2018 de " Recomendaría usar Ir a otros " a " En general, estoy feliz con Go ", por lo que los resultados no son directamente comparable.)
  

Dado el fuerte sentimiento hacia preferir Ir para el desarrollo futuro, queremos entender qué impide que los desarrolladores lo hagan. Estos permanecieron prácticamente sin cambios desde el año pasado: aproximadamente la mitad de los encuestados trabajan en proyectos existentes escritos en otros idiomas, y trabajan en un equipo o proyecto que prefiere usar un idioma diferente. Las bibliotecas y las características de lenguaje faltantes completan las razones más comunes por las que los encuestados no usaron Ir más. También preguntamos sobre los mayores desafíos que enfrentan los desarrolladores al usar Go; a diferencia de la mayoría de nuestras preguntas de la encuesta, los encuestados pueden escribir cualquier cosa que deseen responder a esta pregunta. Analizamos los resultados a través del aprendizaje automático para identificar temas comunes y contando el número de respuestas que apoyaron cada tema. Los tres principales desafíos principales que identificamos son:
  

  • Administración de paquetes (por ejemplo, "Mantenerse al día con la venta", "dependencia / paquete [sic] Administración / venta no unificada")
  • Diferencias con lenguajes de programación más conocidos (por ejemplo, "sintaxis cercana a los lenguajes C con ligeramente diferentes semánticas me hacen buscar referencias un poco más de lo que me gustaría "," compañeros de trabajo que provienen de fondos que no son de Go que intentan usar Go como una versión de su idioma anterior pero con canales y Goroutines ")
  • Falta de genéricos ( por ejemplo, "La falta de genéricos hace que sea difícil persuadir a las personas que no han intentado ir a Go de que lo encontrarían eficiente", "Es difícil construir abstracciones más ricas (quiero genéricos)")

Este año agregamos varias preguntas sobre la satisfacción del desarrollador Con diferentes aspectos del Go. Los encuestados estaban muy satisfechos con el rendimiento de la CPU de las aplicaciones Go (46: 1, lo que significa que 46 encuestados dijeron que estaban satisfechos por cada 1 encuestado que dijo que no estaban satisfechos), la velocidad de compilación (37: 1) y la utilización de la memoria de la aplicación (32: 1). Las respuestas para la capacidad de depuración de aplicaciones (3.2: 1) y el tamaño binario (6.4: 1), sin embargo, sugieren un margen de mejora.
  

La insatisfacción con el tamaño binario proviene en gran parte de los desarrolladores que crean CLI, de los cuales solo el 30% está satisfecho con el tamaño de los binarios generados por Go. Sin embargo, para todos los demás tipos de aplicaciones, la satisfacción del desarrollador fue> 50%, y el tamaño binario se clasificó consistentemente al final de la lista de factores importantes.
  

La debilidad, a la inversa, se destaca cuando observamos cómo los encuestados clasificaron la importancia de cada aspecto; El 44% de los encuestados calificaron la capacidad de depuración como su aspecto más importante o el segundo más importante, pero solo el 36% estaba satisfecho con el estado actual de la depuración de Go. La capacidad de depuración se calificó como tan importante como el uso de memoria y la velocidad de construcción, pero con niveles de satisfacción significativamente más bajos, y este patrón se mantuvo sin importar el tipo de software que los encuestados estaban construyendo. Las dos versiones más recientes de Go, Go 1.11 y 1.12, contenían mejoras significativas en la capacidad de depuración. Planeamos investigar cómo los desarrolladores depuran las aplicaciones de Go con mayor profundidad este año, con el objetivo de mejorar la experiencia general de depuración para los desarrolladores de Go.
  

Entornos de desarrollo

Le preguntamos a los encuestados qué sistemas operativos utilizan principalmente al escribir el código Go. La mayoría (65%) de los encuestados dijo que usa Linux, el 50% usa macOS y el 18% usa Windows, de manera consistente con el año pasado. Este año también observamos cuántos encuestados se desarrollan en sistemas operativos múltiples en comparación con un solo sistema operativo. Linux y macOS siguen siendo los líderes claros, con el 81% de los encuestados desarrollando alguna combinación de estos dos sistemas. Solo el 3% de los encuestados divide su tiempo entre los tres sistemas operativos. En general, el 41% de los encuestados utiliza múltiples sistemas operativos para el desarrollo de Go, destacando la naturaleza multiplataforma de Go.
  

El año pasado, VS Code superó a Vim como el editor Go más popular entre los encuestados. Este año, amplió significativamente su liderazgo para convertirse en el editor preferido de más de de los encuestados (un aumento del 27% el año pasado). GoLand también experimentó un fuerte crecimiento y ahora es el segundo editor preferido con un 22%, intercambiando lugares con Vim (hasta un 17%). La creciente popularidad de VS Code y GoLand parece venir a expensas de Sublime Text and Atom. Vim también vio que la cantidad de encuestados que lo clasificaron como su mejor opción cayó, pero sigue siendo el editor de segunda opción más popular con un 14%. Curiosamente, no encontramos diferencias en el nivel de satisfacción que los encuestados informaron sobre los editores de su elección.
  

También les preguntamos a los encuestados qué es lo que mejoraría más el soporte de Go en su editor preferido. Al igual que en la pregunta anterior del "mayor desafío", los participantes podrían escribir su propia respuesta en lugar de seleccionarla de una lista de opciones múltiples. Un análisis temático sobre las respuestas reveló que mejoró el soporte de depuración (por ejemplo, "Depuración en vivo", "Depuración integrada", "Incluso mejor depuración") fue la solicitud más común, seguida de código mejorado finalización (por ejemplo, "autocompletar rendimiento y calidad", "autocompletar más inteligente"). Otras solicitudes incluyen una mejor integración con la cadena de herramientas de la CLI de Go, mejor soporte para módulos / paquetes y mejoras generales de rendimiento.
  

Este año también agregamos una pregunta sobre qué arquitecturas de implementación son las más importantes para los desarrolladores de Go. Como era de esperar, los encuestados consideran que x86 / x86-64 es su principal plataforma de implementación (el 76% de los encuestados lo calificaron como su arquitectura de implementación más importante, y el 84% lo tenía en su top 3). Sin embargo, la clasificación de las arquitecturas de segunda y tercera opción es informativa: existe un interés significativo en ARM64 (45%), WebAssembly (30%) y ARM (22%), pero muy poco interés en otras plataformas.
  

Implementaciones y servicios

Para 2018, vemos una continuación de la tendencia del hospedaje local a la nube para las implementaciones Go y no Go. El porcentaje de encuestados que implementan aplicaciones de Go en servidores locales se redujo de 43% a 32%, lo que refleja la caída de 46% a 36% reportada para implementaciones que no son de Go. Los servicios en la nube que registraron el mayor crecimiento interanual incluyen AWS Lambda (4% → 11% para Go, 10% → 15% no Go) y Google Kubernetes Engine (8% → 12% para Go, 5% → 10% de no uso (Go), lo que sugiere que los contenedores y los servidores sin servidor se están convirtiendo en plataformas de implementación cada vez más populares. Sin embargo, este crecimiento del servicio parece ser impulsado por los encuestados que ya habían adoptado servicios en la nube, ya que no encontramos un crecimiento significativo en el porcentaje de encuestados que implementan al menos un servicio en la nube este año (55% → 56%). También vemos un crecimiento constante en las implementaciones de Go en GCP desde 2016, que aumenta de 12% a 19% de los encuestados.
  

Quizás relacionado con la disminución de las implementaciones locales, este año vimos que el almacenamiento en la nube se convirtió en el segundo servicio más utilizado por los encuestados, con un aumento del 32% → 44%. Los servicios de autenticación y federación también experimentaron un aumento significativo (26% → 33%). El acceso de los encuestados del servicio principal desde Go sigue siendo bases de datos relacionales de código abierto, que aumentaron de 61% a 65% de los encuestados. Como muestra el siguiente cuadro, el uso del servicio aumentó en todos los ámbitos.
  

Go community

Las principales fuentes de la comunidad para encontrar respuestas a las preguntas de Go continúan siendo Stack Overflow (23% de los encuestados lo marcaron como su fuente principal), sitios web de Go (18% para godoc.org, 14% para golang.org), y leer el código fuente (8% para el código fuente en general, 4% para GitHub específicamente). El orden sigue siendo en gran medida consistente con años anteriores. Las fuentes principales para las noticias Go son el blog Go, r / golang, Twitter y Hacker News de Reddit. Sin embargo, estos fueron también los principales métodos de distribución para esta encuesta, por lo que es probable que haya algún sesgo en este resultado. En los dos cuadros a continuación, agrupamos las fuentes utilizadas por menos del <5% de los encuestados en la categoría "Otro".
  

Este año, el 55% de los encuestados dijeron que tienen o están interesados ​​en contribuir a la comunidad Go, ligeramente por debajo del 59% del año pasado. Debido a que las dos áreas más comunes para la contribución (la biblioteca estándar y las herramientas oficiales de Go) requieren la interacción con el equipo central de Go, sospechamos que esta disminución puede estar relacionada con una disminución en el porcentaje de participantes que estuvieron de acuerdo con las afirmaciones "Me siento cómodo al acercarme El liderazgo del proyecto Go con preguntas y comentarios "(30% → 25%) y" Tengo confianza en el liderazgo de Go (54% → 46%).
  

Un aspecto importante de la comunidad es ayudar a todos a sentirse bienvenidos, especialmente a las personas de grupos demográficos tradicionalmente poco representados. Para comprender mejor esto, hicimos una pregunta opcional sobre la identificación en varios grupos subrepresentados. En 2017, vimos incrementos interanuales en todos los ámbitos. Para 2018, vimos un porcentaje similar de encuestados (12%) que se identificaron como parte de un grupo con poca representación, y esto se combinó con una disminución significativa en el porcentaje de encuestados que no se identificaron como parte de un grupo subrepresentado. En 2017, para cada persona que se identificó como parte de un grupo con poca representación, 3,5 personas fueron identificadas como que no formaban parte de un grupo con poca representación (proporción de 3.5: 1). En 2018 esa relación mejoró a 3.08: 1. Esto sugiere que la comunidad Go está al menos reteniendo las mismas proporciones de miembros con poca representación, e incluso puede estar aumentando.
  

Mantener una comunidad saludable es extremadamente importante para el proyecto Go, por lo que durante los últimos tres años hemos estado midiendo hasta qué punto los desarrolladores se sienten bienvenidos en la comunidad Go. Este año vimos una caída en el porcentaje de encuestados que están de acuerdo con la declaración "Me siento bienvenido en la comunidad Go", de 66% a 59%.
  

Para comprender mejor esta disminución, observamos más de cerca a quienes informaron sentirse menos bienvenidos. Entre los grupos tradicionalmente subrepresentados, menos personas informaron sentirse poco bienvenidos en 2018, lo que sugiere que el alcance en esa área ha sido útil. En cambio, encontramos una relación lineal entre la cantidad de tiempo que alguien ha usado Go y lo bienvenidos que se sienten: los nuevos desarrolladores de Go se sintieron significativamente menos bienvenidos (al 50%) que los desarrolladores con 1-2 años de experiencia (62%), quienes en Turn se sintió menos bienvenido que los desarrolladores con unos pocos años de experiencia (73%). Esta interpretación de los datos está respaldada por las respuestas a la pregunta "¿Qué cambios harían que la comunidad de Go fuera más acogedora?". Los comentarios de los encuestados se pueden agrupar en cuatro categorías:
  

  • Reduzca la percepción del elitismo, especialmente para los recién llegados a Go (por ejemplo, "menos desinterés", "Menos actitud defensiva y arrogancia")
  • Aumente la transparencia en el nivel de liderazgo (por ejemplo, "Dirección futura y discusiones de planificación", " Menos liderazgo de arriba hacia abajo "," Más democrático ")
  • Aumente los recursos introductorios (por ejemplo," Una introducción más clara para los contribuyentes "," Desafíos divertidos para aprender las mejores prácticas ")
  • Más eventos y reuniones, con un enfoque en cubriendo un área geográfica más grande (por ejemplo, "Más reuniones y eventos sociales", "Eventos en más ciudades")

Este comentario es muy útil y nos brinda áreas concretas en las que podemos centrarnos para mejorar la experiencia de ser un desarrollador de Go. Si bien no representa un gran porcentaje de nuestra base de usuarios, nos tomamos muy en serio estos comentarios y estamos trabajando para mejorar cada área.
  

Conclusión

Esperamos que hayas disfrutado viendo los resultados de nuestra encuesta de desarrolladores de 2018. Estos resultados están afectando nuestra planificación para 2019, y en los próximos meses compartiremos algunas ideas con usted para abordar problemas y necesidades específicas que la comunidad ha destacado para nosotros. Una vez más, ¡gracias a todos los que contribuyeron a esta encuesta!
  

Por Todd Kulesza, Steve Francia


READ MORE – CLICK HERE

www.Down.co.ve


No comments:

Post a Comment

Como crear tarjetas Virtuales Visa o MasterCard con tu divisa y las ventajas que ofrecen

Hoy día, gracias al creciente mundo del Internet se le ha permitido a cada persona poder acceder a muchos productos o servicios. Y en estos ...