¿Qué diablos es un promotor de desarrollo?

TL; DR: ¡Un defensor de los desarrolladores es el mejor amigo de un desarrollador!

Durante los últimos tres años más o menos, he dedicado mi tiempo profesional y una gran cantidad de mi tiempo personal para ayudar a otros desarrolladores a tener éxito y ser productivos con las herramientas que aman y usan. Estas herramientas incluyen plataformas web, como JavaScript, PWA y Angular, Google Cloud Platform, Actions on Google y chatbots en general. He estado haciendo esto como defensora de desarrolladores.

Esta publicación de blog se basa en mi experiencia personal como defensora de desarrolladores. Cosas que he aprendido personalmente, pero también de otros promotores de desarrolladores de otras empresas con las que he trabajado.

Mi historia…

Hace trece años, cuando estaba en la universidad estudiando electrónica y luego informática, nos enseñaron toda la teoría sobre paradigmas informáticos y de programación, estructuras de datos, patrones de diseño, compiladores y lenguajes, etc. Básicamente, nos enseñaron todo lo que los ingenieros de software junior necesitan saber para comenzar su carrera.

Sin embargo, probablemente estaba demasiado apasionado por esto porque siempre estaba haciendo más que las tareas de clase requeridas. Quiero decir, aprender Java en la universidad estaba bien, pero me estaba aburriendo. Pasaba la mayor parte de mi tiempo libre aprendiendo nuevos paradigmas de programación de lenguajes como Python, PHP, Assembly 8086, oCaml y JavaScript. Fue entonces cuando descubrí y me enamoré de JavaScript y desde entonces decidí apostar siempre por JavaScript, y nunca me he arrepentido.

Tuve que aprender nuevos lenguajes construyendo herramientas, scripts, aplicaciones, cualquier cosa que pudiera ayudarme a comprender los aspectos internos del lenguaje, yendo más allá de la sintaxis. Por supuesto, todavía era un estudiante en ese entonces, y estaba tratando de averiguar cómo funcionaban las cosas y cómo corregir todos los errores que estaba creando.

Luego vino la comunidad de desarrolladores. Gracias a la Web, pude pedir y obtener ayuda de otros seres humanos: una comunidad de desarrolladores profesionales y experimentados. ¡Estaba impresionado! Aprendí mucho de los desarrolladores leyendo sus ideas en sus publicaciones de blog, viendo sus tutoriales en Youtube y discutiendo diferentes temas en muchos foros de tecnología e IRC (¡sí, todavía existe!).

Aprendí mucho de lo que otros desarrolladores compartían de forma gratuita, solo por ayudar a otros. Es por eso que simplemente decidí unirme a la comunidad y hacer todo lo posible para compartir lo que estaba aprendiendo. Para mí, esto fue lo correcto: otras personas me ayudaron a convertirme en un buen desarrollador, ahora era mi turno de retribuir y ayudar a otros desarrolladores. Y fue entonces cuando comencé a preocuparme por la productividad de otros desarrolladores, y la mía, por supuesto. Estamos todos en el mismo barco, ¿verdad?

A medida que iba creciendo profesionalmente, comencé a pensar en nuevas formas de ayudar a mis compañeros desarrolladores. Quiero decir, escribir artículos (aquí en Medium y para revistas en papel) es un gran comienzo, pero no pude medir el impacto que mis publicaciones estaban teniendo en mi público objetivo. Entonces decidí salir y conocer a esos desarrolladores, y esperaba compartir con ellos y aprender de ellos en la vida real. Como era de esperar, las reuniones, conferencias y eventos de desarrolladores son los lugares donde puedes encontrar a todos estos apasionados desarrolladores.

En una nota al margen: ser un apasionado de ayudar a otros desarrolladores también puede (con suerte) conseguir que te nominen para el programa de expertos en desarrolladores de Google (o programas similares). ¡Tuve tanta suerte de unirme al programa GDE hace tres años y poder ayudar e impactar a más compañeros desarrolladores! ¡Gracias Google!

Larga historia corta…

Aquí estoy hoy, todavía disfrutando de ayudar a mis compañeros desarrolladores. Y, lo creas o no, este se ha convertido en mi trabajo de tiempo completo en SFEIR como Senior Developer Advocate.

Entonces, ¿qué diablos es exactamente un promotor de desarrolladores? ¿Qué hace a un gran promotor de desarrolladores? ¿Y por qué contratar promotores de desarrolladores apasionados es la decisión correcta como organización? Déjame intentar responder estas preguntas.

¿Qué es un promotor de desarrolladores?

Lo primero es lo primero, dejémoslo claro para todos: los defensores de los desarrolladores también son ingenieros. Tienen una sólida formación técnica en sus campos, han creado y enviado aplicaciones a prod. Algunos de ellos incluso han interrumpido la producción o han eliminado accidentalmente las bases de datos de los clientes (historia real).

Dado este requisito, los promotores de desarrolladores no deben ser personal de marketing o ventas; hay roles más adecuados para esos empleados. Sin embargo, los promotores de desarrolladores deberían poder dar su opinión al marketing o ventas. Más importante, al menos para mí, dar retroalimentación a la gestión de productos, para influir en la hoja de ruta de los productos en función, por supuesto, de las necesidades de los desarrolladores.

Históricamente, muchas empresas de tecnología contrataron promotores de desarrolladores para defender sus plataformas ayudando a los desarrolladores finales a utilizar sus productos, y todavía lo hacen. Entonces, el verdadero significado de un promotor de desarrolladores es alguien cuyo trabajo es ayudar a los desarrolladores a tener éxito con una plataforma o tecnología . El papel de un promotor de desarrolladores también es actuar como puente entre el equipo de ingeniería y la comunidad de desarrolladores. Su trabajo es dar retroalimentación a ambas partes, por igual, en ambos sentidos.

Un promotor de desarrolladores es alguien que realmente aboga por los desarrolladores, no solo por una plataforma. Los desarrolladores deben ser la máxima prioridad de Developer Advocate.

¿Qué hace a un gran promotor de desarrolladores?

Creo que los ingenieros no pueden convertirse simplemente en defensores de los desarrolladores porque sus gerentes se lo pidieron. También creo que los promotores de desarrolladores son personas intrínsecamente apasionadas y altruistas. Estas características no se pueden simplemente enseñar o aprender.

Personalmente, intenté convencer a un par de desarrolladores para que comenzaran a compartir sus conocimientos, ¡pero me equivoqué! Descubrí que algunos ingenieros simplemente se sienten más cómodos escribiendo código (¿quién no?) Y están completamente dedicados a resolver problemas o crear productos. Compartir conocimientos con otros desarrolladores no es la principal prioridad de todos los ingenieros. Esto está totalmente bien y debe respetarse. Si es un gerente, no obligue a sus ingenieros a pretender ser lo que no son y hacer que se encuentren en situaciones incómodas. Nadie quiere estar en esta posición.

Entonces, ¿qué hace a un gran promotor de desarrolladores? He aprendido que muchos, si no todos, los defensores de los desarrolladores comparten las siguientes características.

Aprendizaje continuo

Como ingenieros, nunca dejamos de aprender, incluso después de graduarnos. Sin duda, el verdadero conocimiento está ahí fuera. Los defensores de los desarrolladores, como cualquier otro ingeniero, son ávidos aprendices. Buscan conocimiento en todas partes. Utilizan todos los medios que conocen para mantenerse actualizados. Los defensores de los desarrolladores que conozco abogan por una plataforma o un producto, y también prueban y usan otros productos, incluso los fabricados por la competencia. ¿Por qué? Porque los desarrolladores finales suelen tener que utilizar diferentes productos y herramientas para crear sus aplicaciones. ¡Un promotor de desarrolladores lo sabe!

pensar más allá

No vale la pena aprender cosas nuevas si no las desafía. Nunca doy por sentado algo que acabo de aprender. Siempre me hago las mismas preguntas: "¿Por qué ...?", "¿Y si ...?", "¿Cómo se puede mejorar esta función?", "¿Cómo funciona esto bajo el capó?" Por supuesto, cualquier ingeniero curioso naturalmente estaría haciendo estas preguntas.

Los defensores de los desarrolladores no son una excepción. Deben poder proporcionar una explicación de alto nivel sobre cómo funciona una función bajo el capó, o simplemente proporcionar algunas ideas técnicas sobre el producto o la plataforma que defienden. Muchos desarrolladores finales preguntarán sobre esto tarde o temprano, así que prepárate.

Construyendo aplicaciones del mundo real

No vale la pena aprender cosas nuevas y conocer la teoría detrás de ellas si no crea aplicaciones con ellas. Si va a abogar por los desarrolladores, lo mínimo que puede hacer es ponerse en el lugar del desarrollador final tratando de dominar el producto y la plataforma que está defendiendo. Este es el momento en el que sus habilidades de ingeniería serán útiles.

La creación de aplicaciones del mundo real con las herramientas que defiende también lo ayudará a comprender mejor sus limitaciones y, con suerte, le sugerirá algunas mejoras al equipo de ingeniería. El trabajo de un promotor de desarrolladores también es asegurarse de que la plataforma y las herramientas que defiende proporcionen la mejor experiencia de desarrollador.

Compartir y cuidar

La capacidad de "compartir" información con la comunidad de desarrolladores es una parte esencial del rol de Defensor de los desarrolladores. No puede desempeñar este papel si odia compartir o ayudar a los demás. Y está bien, ¡no todos somos altruistas! Pero entonces, pretender defender a los desarrolladores va a ser realmente, espere, ¡realmente desafiante!

Además, la mayoría de las empresas requieren, en la descripción de sus puestos, buenas habilidades de comunicación verbal y escrita para el rol de Promotor Desarrollador. Si bien estoy de acuerdo con este requisito, también creo que las “habilidades de comunicación” no deben sustituir ni confundirse con la habilidad de “compartir y cuidar”. Para reformular esto, contratar a un promotor de desarrolladores que realmente ame compartir y ayudar a los demás es mucho más importante que alguien que haya desarrollado buenas habilidades de comunicación. De hecho, ¡el primero es más difícil de desarrollar!

Entonces, para resumir: ¿quieres contratar a un excelente promotor de desarrolladores? Luego, contrate a un alumno curioso y ávido, que pueda pensar fuera de la caja, con buenas habilidades de ingeniería y habilidades genuinas de “compartir y empatía”.

Por favor, aplauda este artículo y déjame saber cuánto te gustó, en Twitter @manekinekko y asegúrate de seguirme para obtener más contenido .