35 puntos por carnoxen 2025-02-13 | 5 comentarios | Compartir por WhatsApp

¿Qué es la amabilidad?

Kind is about being invested in other people, figuring out how to help them, meeting them where they are.

La amabilidad consiste en involucrarse con otras personas, encontrar cómo ayudarlas y encontrarlas donde están.

— Tanya Reilly, Continuous

La amabilidad, como dijo Tanya Reilly arriba, se trata de invertir en las personas. No es solo ser cordial, sino ponerse en el lugar de la otra persona y comprender sus emociones y su contexto. No es una solución universal para todas las situaciones, pero puede ayudar a resolver muchos problemas.

Consideración

  • Enfócate en tu trabajo más allá de simplemente ser "profesional".
  • Actúa con apertura y humanidad para construir confianza.
  • Trata a las personas directamente, pero cuídalas con consideración.
  • Las mentiras piadosas no son malas, pero no ayudan a que la gente crezca.
  • No pierdas la consideración; reconoce las buenas acciones y ofrece puntos de mejora.

Comunicación asíncrona (async)

  • Cuando haya cambios, procura entender más no solo el "¿qué?" y el "¿cómo?", sino también el "¿por qué?".
  • No asumas mala intención ni incompetencia.
  • En vez de hacer afirmaciones contundentes o polémicas, haz preguntas abiertas.
  • Antes de señalar algo, es importante que esté claramente etiquetado.
  • Señalar demasiadas cosas puede terminar interrumpiendo más el trabajo.
  • Si hay muchas opiniones, cambia la comunicación a un formato secuencial.

Seguridad psicológica

  • Sé la primera persona en pedir retroalimentación a tu equipo o a tus colegas.
  • La estructura de la retroalimentación es simple:
    • Qué salió bien
    • Qué salió mal
    • Qué hacer después
  • Acepta con apertura los contextos, la historia y las preferencias personales de la gente.
  • Observa a quienes no pueden contribuir mucho en reuniones o documentos y busca formas para que puedan hacer oír su voz.
  • Alza la voz para que las personas puedan expresarse de cualquier manera que sientan correcta.
  • A menudo, un fracaso individual en realidad puede revelar una falla del proceso, del entorno o del flujo de trabajo.
  • Triunfamos y fracasamos juntos.
  • Todo "fracaso" o incidente debe celebrarse como una oportunidad para crecer y aprender.
  • Para impulsar la innovación, hay que animar a las personas a asumir riesgos, desafiar y sentir que ese comportamiento es seguro.

Retroalimentación / crítica

  • Desde el principio, sé la persona que primero recibe la evaluación, no quien evalúa.
  • No lo conviertas en algo personal.
  • Cuando des retroalimentación o elogios, intenta ser lo más específico y minucioso posible.
  • Si le das retroalimentación crítica a alguien, intenta también proponer una solución.
  • Entiende tus propias preferencias respecto a la retroalimentación.
  • Escucha, comprende y luego agradece a quien te dio retroalimentación.
  • No reacciones de inmediato; tómate tiempo para ordenar tus ideas y procesar la retroalimentación.
  • Pide explicaciones o ejemplos.
  • Recuerda los tres elementos de dar retroalimentación:
    • Emoción
    • Credibilidad
    • Lógica
  • Considera las emociones de quien escucha, no las tuyas.
  • Demuestra profesionalismo y humildad.
  • Muestra tu forma de trabajar y cómo llegas a tus conclusiones.

5 comentarios

 
arfwene 2025-02-14

Es algo obvio, pero es difícil ponerlo en práctica..

 
aster 2025-02-13

Cómo podemos aplicar una ingeniería amable en el desarrollo basándonos en el material anterior
Intenté crear lo que se conoce como KDD (Kindness Driven Development) con ayuda de IA.

Escritura de código

  • Escribe comentarios y documentación con énfasis en el "¿por qué?". Es importante explicar la razón de existencia del código y su contexto.
  • En lógica compleja, usa nombres de variables y funciones con términos del dominio para que otros desarrolladores puedan entenderlos fácilmente.
  • Al introducir nuevas tecnologías o patrones, considera la curva de aprendizaje del equipo.
  • No critiques el código legacy. Seguramente existían limitaciones y un contexto en ese momento.
  • Documenta el manejo de casos límite y casos de fallo para quien tenga que dar mantenimiento en el futuro.
    Diseño de arquitectura
  • Al diseñar sistemas, considera también la perspectiva del equipo de operaciones y del equipo de QA.
  • Facilitar el monitoreo y la depuración también es parte de un diseño amable.
  • Un diseño escalable es una consideración hacia los miembros futuros del equipo.
  • Al gestionar deuda técnica, apunta a un "nivel manejable" en lugar de buscar eliminarla por completo.
  • Es importante crear una estructura que facilite agregar nuevas funcionalidades.
    Revisión de código
  • Al solicitar una revisión, explica con suficiente detalle el contexto de los cambios.
  • Usa retroalimentación en forma de sugerencia, como "¿Qué te parece si lo hacemos así?".
  • Asegúrate de mencionar también los aspectos positivos. "Esta parte quedó muy limpia"
  • Cuando propongas alternativas, explica también el motivo.
  • Registra por separado en un issue las mejoras que no sean urgentes, para respetar el alcance del PR actual.
    Código de pruebas
  • Proporciona mensajes de error claros cuando una prueba falle.
  • Los casos de prueba también cumplen una función de documentación. Escribe pruebas que expliquen bien las reglas de negocio.
  • Crea una estructura que permita a otros desarrolladores agregar pruebas fácilmente.
  • Usa ejemplos reales y fáciles de entender como datos de prueba.
  • Automatiza la configuración del entorno de pruebas para reducir la barrera de entrada.
    Despliegue y operación
  • Incluye explicaciones y guías suficientes en los scripts de despliegue.
  • Prepara de antemano logs que ayuden con la depuración cuando ocurra una incidencia.
  • Si se requieren cambios de configuración, documenta su impacto.
  • Al lanzar nuevas funcionalidades, prepara también un plan de rollback.
  • Escribe las guías de operación desde la perspectiva de un desarrollador nuevo.
    Compartir conocimiento
  • Documenta y comparte experiencias de troubleshooting.
  • Al introducir nuevas tecnologías, crea y comparte materiales de aprendizaje.
  • Las guías de escritura de código deben incluir "por qué decidimos hacerlo así".
  • Fomenta el crecimiento del equipo mediante espacios regulares para compartir conocimientos técnicos.
  • Crear un entorno donde sea fácil hacer preguntas ayuda al crecimiento de los desarrolladores junior.
 
bbulbum 2025-02-17

Es un contenido que da para escribir un texto aparte, jaja.

 
laeyoung 2025-02-16

¡Está genial!

 
aer0700 2025-02-14

Es un comentario realmente muy bueno.