• 83% de los desarrolladores de software sufren burnout

    Aunque a unos les cuesta más que a otros admitirlo, la pandemia nos ha afectado a todos.

    Me atrevería a decir que todos los que llevamos rato trabajando con software, tal vez de manera remota, hicimos menos los efectos que la emergencia sanitaria podría traer a nuestras vidas. “De todos modos ya no salía ni socializaba”. Seguro escuchaste a más de uno burlarse con esa frase.

    Sin embargo, no tardamos en darnos cuenta, después de unos meses de estar encerrados, que no estábamos preparados. Y que por más experiencia que tuviéramos trabajando remoto, no contábamos con lo difícil que sería mantener una relación sana con el trabajo en medio de una crisis mundial.

    Un estudio reciente de Haystack Analytics encontró que un 83% de desarrolladores de software están sufriendo de burnout (o como se dice comúnmente, “están quemados”) por los efectos de la pandemia. Aunque el estudio se hizo en un número bastante limitado de personas (258 personas mayores de 18 años, viviendo en Reino Unido), creo que lo que encontraron refleja la realidad que he visto platicando con otras personas en la industria: la estrategia de quedarnos encerrados a trabajar no está funcionando ni es sostenible.

    En muchos lugares del mundo las cosas parecen estar volviendo a la normalidad. Con esto, muchas personas, después de más de año y medio trabajando remoto, están considerando seriamente cambiar de trabajo a uno que les permita seguir trabajando desde su casa. Si tú te identificas con esta realidad, entonces es importante que tomes en cuenta lo siguiente, si es que no lo habías asimilado aún:

    • Trabajar de manera remota no significa estar disponible 24/7.
    • Tampoco es un pretexto para ser desorganizado.
    • Necesitas desarrollar tus habilidades de comunicación, y sentido de agencia.

    El trabajo remoto es un arma de doble filo. Desafortunadamente a muchas personas les tocó experimentarla en condiciones no ideales. Pero aún estás a tiempo de hacer cambios — si es que te interesa mantener tu salud y bienestar a largo plazo.

  • Cómo trazar tu futuro en el desarrollo de software y alcanzar tus objetivos

    Para las personas que pensamos de manera lógica es tan divertido programar, que tendemos a enfocarnos únicamente en ello.

    El prospecto de aprender una nueva tecnología o herramienta es suficiente para que la adrenalina nos mantenga despiertos hasta altas horas de la madrugada. Pero cuidado: no caigas en el shiny new toy syndrome.

    Es válido aprender por mera curiosidad. Después de todo, así es como muchos descubren sus verdaderas pasiones. Sin embargo, hay una delgada línea entre explorar ideas con el objetivo de ganar nuevas perspectivas y ser complacientes.

    Yo dibujaría esa línea en el punto en que el tiempo que pasas aprendiendo cierta tecnología se convierte en potencial y esfuerzo desperdiciado. Por ejemplo, yo sabía desde un inicio que quería trabajar haciendo iOS de bajo nivel. ¿Me habría servido ponerme a estudiar Kubernetes?

    Probablemente sí, para conocer la herramienta y entender las implicaciones. Pero no tanto como para haber buscado una certificación, o invertir tiempo y dinero en un curso para dominarlo.

    Para alguien con Cerebro de Programador™ puede resultar bastante complicado ver un poco más allá de la parte práctica y técnica — programar. La idea de definir qué es lo que quieres hacer probablemente te parezca completamente ajena. Y con razón — la industria te ha hecho creer que tu tarea es resolver tickets. No es hasta que te topas con la necesidad de poner los pies en la tierra y decidir qué es lo que realmente quieres hacer, que se comienza a poner interesante.

    Aunque no es sencillo, definir para qué quieres aprender tal o cual tecnología es un proceso asequible. Lo único que necesitas es un poco de dedicación, y autocompasión.

    La manera más sencilla que te puedo compartir para resolver este problema es que diseñes tu progresión de carrera — y lo hagas lo antes posible.

    Para comenzar, plantéate las siguientes preguntas:

    • ¿Qué tipo de problemas te gustaría resolver?
    • ¿En qué industria?
    • ¿Rodeado de qué tipo de personas?

    Una vez que tengas tus respuestas, tendrás una estrella norte para seguir. Ahora tu tarea es hacer ingeniería inversa, y buscar las herramientas, experiencias y contactos que necesitarás para llegar a ella.

    Haz este ejercicio cada 3 o 5 años.

  • GitHub Copilot: si solamente sabes programar, tu carrera tiene fecha de caducidad

    Hay personas en esta industria que reducen su trabajo a algo meramente mecánico: escribir código.

    Lo que uno como desarrollador de software está buscando constantemente es la automatización de tareas mecánicas y manuales. La ironía es que, en sí, programar también es una tarea mecánica y manual. Y como tal, eventualmente también será automatizada.

    Hace unos días GitHub presentó Copilot — un servicio que prácticamente programa por ti. Lo único que tienes que hacer es describir a grandes rasgos qué es lo que quieres hacer. Copilot genera el código que tú habrías escrito.

    Naturalmente, los memes no se hicieron esperar. Tampoco las discusiones sobre si el código que está generando esta herramienta cumple con licencias de distribución adecuadas. Pero muy pocas personas se pusieron a ver lo que acababa de pasar: los soft skills en desarrolladores de software acaba de volverse mucho más valiosos.

    La tendencia es clara. La verdadera ventaja competitiva para un desarrollador de software no será la parte técnica, sino las habilidades interpersonales.

    Con el aspecto técnico resuelto (parcialmente) por inteligencias artificiales, las discusiones técnicas dejarán de ser la parte más importante del desarrollo. Los “programadores” ahora se dedicarán a tener discusiones sobre la ética y seguridad del código generado por la computadora. Las tareas técnicas serán resueltas, en su mayoría, gracias a la ley de Moore. Desarrollar software ya no se tratará de programar.

    Aún habrá trabajos para escribir código, pero requerirán una alta especialización. Las personas que sigan escribiendo código lo harán para crear la infraestructura que soportará al resto del ecosistema: compiladores, IA, generadores de código, redes, etc.

    Si estás en la industria del software y piensas que tu único trabajo es programar, heads up. Le acaban de poner fecha de caducidad a tu carrera. Y tienes de dos: o te pones a refinar tus soft skills, o comienzas a especializarte en tecnologías fundamentales.

  • Cómo hacer soporte te hace mejor ingeniero

    Si tomas tu carrera en software en serio, deberías de buscar hacer soporte de usuario regularmente.

    Como ingenieros tendemos a creer que hacer soporte no nos corresponde. Que nosotros ya cumplimos escribiendo el programa; lidiar con los clientes debería de hacerlo alguien contratado para eso. Pero hoy estoy aquí para decirte que podrías obtener muchísimos más beneficios si cambias tu actitud, y si en vez de evitar hacer soporte, lo buscas.

    Hacer soporte de usuario es parte integral del desarrollo profesional de cualquier ingeniero de software.

    A través de la exposición a comentarios, preguntas, frustraciones y retroalimentación en general de las personas usando tu producto, ganarás más empatía por tus usuarios. También tendrás una mejor actitud cuando estés intentando arreglar problemas en tu producto, porque tendrás mejor visibilidad de cómo tus decisiones afectan a otras personas — directa, o indirectamente.

    Además, afilas tus habilidades de comunicación a la hora de reportar bugs por tu cuenta. Algo cambia cuando parte de tu trabajo es intentar exprimir información de un cliente que solamente manda un “no funciona” con una captura de pantalla de un 404. Tu próximo reporte de un bug será mucho más claro, conciso y completo. Te lo garantizo.

    Hacer soporte no es sencillo. Tienes que aprender a leer entre líneas para entender qué es lo que realmente te están reportando. Pero los beneficios de desarrollar esas habilidades son tangibles. Después de cumplir un tiempo haciendo soporte, tendrás un mejor entendimiento de lo que realmente valoran tus usuarios. Así, cuando vuelvas a trabajar en crear tu producto, sabrás exactamente a qué ponerle atención y cómo darles más valor agregado.

    Ser un ingeniero de software encargado de hacer soporte es un ejercicio de humildad. Te darás cuenta de que tus preconcepciones sobre cómo se usaría tu producto son erróneas, y de que, por más que te cueste aceptarlo, no puedes predecir cómo alguien va a interpretar tus propuestas de solución. Eres humano, y hay cosas que ignoras. Esos espacios en tu conocimiento se hacen más obvios cuando te toca ayudar a otra a persona a desbloquearse.

    Haz soporte. Te conviene.

  • Por qué te cuesta aceptar nuevas ideas: el efecto Semmelweis

    En algún momento de la historia, los médicos no se lavaban las manos antes y después de atender pacientes. Como podrás imaginarte, esto daba como resultado muchísimos contagios y muertes innecesarias.

    En 2021 eso sería considerado negligencia médica. En el siglo 19 era simplemente como se hacían las cosas.

    Ignaz Semmelweis descubrió, por ahí de 1847, que la tasa de mortalidad se reduciría 10 veces si los médicos se lavaran las manos después de atender un paciente, y antes de atender a otro. Sugirió que los cirujanos usaran una solución clórica para limpiarse.

    Él comenzó a realizar esta práctica, y sus pacientes dejaron de enfermar. Aunque aún no había “una ciencia” que avalara su propuesta (la teoría bacteriana de la enfermedad no se descubriría por otros 20 años), sí había suficiente evidencia empírica para soportar su teoría: lavarse las manos entre pacientes salvaba vidas.

    A pesar de esto, miembros del gremio médico decidieron ignorarlo. No solo eso, sino que lo rechazaron y buscaron desacreditarlo públicamente. En ocasiones, las justificaciones de su rechazo eran por ideas que ni siquiera tenían que ver con la medicina.˙ Por ejemplo, algunos genuinamente creían que “las manos de un caballero no podrían transmitir enfermedades”.

    A este fenómeno social se le conoce hoy en día como el efecto Semmelweis. Es la reacción involuntaria de rechazar nuevas ideas, datos o evidencia que no concuerde con nuestro sistema de creencias — por más evidencias o pruebas que existan.

    Todos en alguna ocasión hemos rechazado una idea al instante, solamente para darnos cuenta, para infortunio de nuestro ego, de que era completamente válida. Ganar conciencia del efecto Semmelweis es importante — especialmente para nosotras, las personas con Cerebro de Programador™, que pensamos que todo en esta vida se trata de lógica y relaciones lineales. Creemos que nuestra vida se basa en evidencia y hechos, cuando la realidad es que muchas de las decisiones que tomamos en el día a día vienen desde nuestro sistema de creencias.

    La próxima vez que sientas el impulso de rechazar una idea, pregúntate: ¿la estás rechazando porque no hay suficiente evidencia? ¿O porque esa idea no cabe dentro de tu sistema de creencias?

Ayudo a personas que trabajan con software a mejorar sus carreras profesionales.

Los miembros tienen acceso a Pathways, pueden comentar en las publicaciones, interactuar con la comunidad, y muchos otros beneficios. Conoce más.

Agrégame a tu lector RSS, o suscríbete a mi newsletter para recibir los nuevos artículos que publique.