Las pegas del teletrabajo

Ya no recuerdo cuando pude empezar a disfrutar del trabajo en remoto, pero el teletrabajo de verdad sé que me llegó cuando empecé a ser freelance. Hay mucha gente que idolatra ambos, cada uno busca lo que no tiene, pero todo tiene sus pegas (igual que sus virtudes) así que vamos a repasarlas para ser conscientes de lo que perseguimos.

macbook pro displaying group of people
Teletrabajo – Photo by Chris Montgomery

Durante la cuarentena del 2020 (nunca se sabe cuando un post será leído 🙂 la gente que se vio obligada a trabajar en remoto por no poder salir a la calle, tuvo que tratar de hacer malabares para cuidar de las personas a su cargo mientras hacía un amago de trabajar en remoto manteniendo las «viejas» costumbres: reuniones en directo, horarios fijos y una fuerte dependencia de los subordinados con sus responsables.

Algunas empresas vieron una oportunidad en la implantación del teletrabajo, principalmente por la reducción de costes.

Algunos empleados vieron una oportunidad en la implantación del teletrabajo, principalmente por permitirles vivir dónde quisieran.

No sé como evolucionará, hay mucha incertidumbre sobre cómo será la nueva normalidad, pero supongo que habrá algunas empresas que adopten realmente el teletrabajo y otras que vuelvan a ser exactamente como eran. Y sí, en este punto menciono sólo a las empresas, porque desde hace mucho tiempo creo que la posibilidad del teletrabajo depende más de los procesos de las empresas que de las capacidades de los trabajadores.

En cualquier caso, hay pegas para unos y para otros, así que veamos algunas:

Competencia salarial

No voy a profundizar mucho en este tema, ya que tuvimos un interesantísimo debate entre muchas personas que todos podéis ver en Twitter, pero decir que aunque el ideal es que el sueldo dependa de la valía (de lo que aportas) la realidad es que el sueldo depende de la oferta y la demanda.

El teletrabajo le da a las empresas acceso a más oferta de trabajadores y a los trabajadores acceso a más demanda de empleo… Sin embargo, lo contrario también es cierto: el teletrabajo da más competidores a las empresas, a quienes les costará luchar con otras empresas de zonas más ricas; y más competencia a los trabajadores, que tendrán a los 8 mil millones de personas del planeta como potenciales reemplazos.

Es un tema muy profundo y, si os interesa, de verdad creo que deberíais seguir ese debate en Twitter que fue tremendamente respetuoso y sensato, pero a la vez se plantearon muchísimos escenarios e hicieron pensar a más de uno… a mi lograron hacerme cambiar de idea, no digo más.

Costes

Lo del salario es un punto en el que se fija todo el mundo en un primer acercamiento, pero los costes totales a evaluar son muchos más.

white and red wooden house beside grey framed magnifying glass
Costes – Photo by Tierra Mallorca

La regulación del teletrabajo en España es más bien parca, pero es fácil entender que si una empresa tiene a su plantilla teletrabajando tiene un ahorro de costes por no necesitar disponer de unas instalaciones, por ejemplo.

Dado que los medios de producción los ha de proporcionar la empresa, hay elementos claros que deben correr a su cuenta. Si, por ejemplo, yo necesito un ordenador para realizar mis labores, nadie me discutirá que ese ordenador lo debe costear la empresa.

Ahora bien, ¿qué pasa con el techo bajo el que trabajo? ¿Y los suministros de agua, luz, o conexión a Internet? ¿Y mi teléfono móvil? Aquí ya empiezan las dudas, y siempre se puede optar por repartir los costes ¿verdad? Y claro, no basta con preguntarse si la empresa tiene que asumir todos o parte de esos costes, si no si el coste debería ser igual de cara a la empresa independientemente de dónde esté localizado el trabajador para evitar posibles discriminaciones en función de dónde vivas.

Pero sigamos profundizando. ¿Quién está a cargo de la limpieza de las instalaciones de trabajo? ¿Y de que se cumplan las normas de seguridad física? Las seguridad digital mejor ni la tratamos, porque el caos que puede ser el teletrabajo para un equipo de sistemas no me lo quiero ni imaginar…

¿Y la comida? Como el empleador tiene la obligación de proporcionarte un sitio dónde comer o pagarte la comida, es posible que tuvieses «tickets» para pagarte el menú del día en los restaurantes de la zona. Pero ¿ahora? Por un lado, el empleador no puede quitarte un derecho adquirido, y menos si remplaza parte del salario que probablemente te ofrecieron cuando te contrataron. Sin embargo, como trabajas desde donde quieres, bien podrías querer desde un sitio en el que puedas comer con normalidad. Incluso es posible que gracias al teletrabajo ya no necesites ni hacer horario partido. Entonces ¿qué sentido tienen los tickets más allá de ser un remplazo de parte de la retribución que a las empresas les salía barato?

Orden y comunicación

Los horarios son una gran complicación siempre, es muy difícil dar con algo que encaje a todo el mundo.

Siempre he sido muy partidario de la felxibilidad total. Creo que en general, la gente es responsable y cumplidora si les dejas. Ahora, si les tratas como a niños pequeños nunca lo serán.

Para tener una flexibilidad total, necesitas llegar a un alto grado de teletrabajo: el asincronismo.

No es necesario que todo el mundo esté trabajando a la vez si todo el mundo sabe cuales son sus objetivos y tiene a su alcance todo los recursos que necesita para conseguirlos.

Sin embargo, alcanzar ese punto de autonomía para los trabajadores no es fácil en muchas empresas.

Hay muchas que dependen del conocimiento o del trabajo duro de unos pocos que son los que tiran del carro y de los que depende el resto del personal.

Además, hay algunas personas que necesitan que se les establezca un horario concreto, ya sea porque no saben desconectar o porque no sepan conectar. Hay gente que no es suficientemente responsable para hacer su parte si no tiene una supervisión.

Formación, evaluación y promoción

Y con la supervisión hemos llegado a un punto muy interesante que es un gran problema para todo el mundo (como si los anteriores fuesen pequeños). Aunque en el título haya usado 3 palabras lo podríamos resumir en una: evolución.

three pupas
Evolución – Photo by Suzanne D. Williams

En una oficina, puedes entrar siendo programador junior y sentarte junto a un senior que te ayudará y enseñará lo que sabe (si no, no es senior). Además, el senior o algún otro responsable observará tu trabajo y decidirá si se te promociona.

Sí, ya sé que el ideal de la evaluación es usar criterios objetivos pero, al igual que ocurre con el tema de los salarios, la realidad es muy distinta. En la mayoría de las empresas la evaluación se hace con criterios completamente subjetivos y el desempeño se mide por poco más que la observación directa. ¿Cómo se adaptará eso en un entorno en el que no hay tal observación?

¿Cómo la empresa promocionará a la gente que vale para más de lo que está haciendo y aprovechará sus cualidades? ¿Cómo la gente que puede aportar más valor conseguirá una promoción en lugar de estancarse y frustrarse? ¿Será el cambio de empresa la única forma de promoción? ¿Querrán las empresas contratar a gente que nunca ha tenido las responsabilidades que tendrá si va a teletrabajar y será difícil de supervisar?

La evolución se complica mucho para todos cuando desaparece la cercanía, y es que la cercanía aporta mucho además de verse las caras.

Falta de cohesión

La desaparición de la cercanía puede ser mucho más problema de lo que parezca en un principio y puede desembocar en una falta de cohesión total.

Comer con compañeros, tomar un café, verles la cara de preocupación… puede ayudar mucho a empatizar. El no verles nunca puede hacer que los deshumanicemos, provocando que sólo nos preocupen nuestros objetivos y olvidando que formamos parte de un grupo en el que los objetivos de todos son importantes para que la máquina funcione.

A muchos empleados esto les parece una tontería, porque «ellos hacen su trabajo ¿no?». Pero es un arma de doble filo. ¿Qué pasa cuando la gente va a por lo suyo sin preocuparse de los demás? ¿Cómo se defienden los derechos de los trabajadores? ¿Dónde queda la organización y el preocuparse por lo de los demás tanto como por lo de uno mismo? Es algo que se lleva viendo años en el sector de la informática donde ese egocentrismo hace que un sector que podría tener la fuerza de parar el mundo no sea capaz de conseguir un triste convenio que regule sus condiciones de trabajo.

Reconocimiento

Esa falta de cohesión, es un alto riesgo y puede influir en muchos aspectos. Uno de los más importantes es el reconocimiento. No ese reconocimiento que se demuestra con ascensos, si no el reconocimiento del día a día, ese ACK de los protocolos de redes que sirven para verificar.

Este reconocimiento es algo transversal a todos los puntos que hemos tratado y es el que más me cuesta explicar.

La mayoría de las personas no son/somos muy directas. Además la mayoría de las personas son/somos un mar de dudas.

De la gente directa puedes esperar que te diga cuando algo está mal, por lo que si no te dice nada puedes asumir que todo está bien. Perfecto, siempre y cuando tus inseguridades no hagan mella y no te ahogues en ese mar de dudas que es el «¿qué pensará? ¿Verá bien lo que he hecho?».

Por este motivo, el teletrabajo precisa que todo el mundo se convierta en personas francas y directas que lanza mensajes explícitos siempre, estén las cosas mal o estén las cosas bien. Que pregunten «¿qué te parece? ¿Crees que esto está bien?» y/o, sin esperar a que les pregunten, digan: «esto no está bien»; pero también: «has hecho un genial trabajo».

Esto para algunas personas (las más expeditivas) es trivial, pero para muchas es realmente difícil de conseguir.

Impuestos

Aunque pierda este encadenamiento de temas que llevaban unos a otros, no puedo cerrar sin hacer una breve mención de un tema que tiene mucha tela que cortar.

En el apartado de costes hablábamos de los suministros, pero ¿y el impuesto de recogida de basuras? ¿Dónde deben ir todos los impuestos generados por el desarrollo de una actividad?

Impuestos – Photo by The New York Public Library

Para no complicarlo mucho mirémoslo sólo con el prisma del ámbito estatal. Si me voy a trabajar a un pueblecito perdido en una montaña de una comunidad periférica, el coste de alquiler presumíblemente será menor que si lo hago desde una gran capital de una de las comunidades más ricas. Pero… ¿y el acceso a la sanidad? (que ahora todos estamos convencidos que debe ser pública y universal ¿no?) o ¿el acceso a una conexión de fibra que me permita realizar mi trabajo? Probablemente, dependan en gran medida de la inversión que haya hecho la comunidad correspondiente pero si la empresa está localizada en otro sitio, los impuestos no le llegarán a dicha comunidad para que pueda invertir.

Conclusiones

Aunque el teletrabajo es algo que a primera vista pueda sonar muy interesante, no es un tema baladí.

Conste que yo soy muy partidario de él, ya que creo que mejora la productividad y la calidad de vida, pero también creo que conlleva una gran cantidad de cuestiones que hay que valorar.

Como hemos visto, algunos de los problemas que pueden surgir son:

  • la competencia
  • los costes
  • el orden
  • la evolución
  • la cohesión
  • el reconocimiento (tipo ACK 🙂
  • los impuestos

Eso sí, estos son puntos sobre los que pensar, porque nunca hay que olvidar los beneficios del teletrabajo ya sean la mejora de la productividad o que se acaben las discusiones sobre el termostato.

¿Qué pensáis?

¡Ojo! Cuidado en Firebase con el forEach de los Snapshots de la Realtime Database

Firebase es un PaaS de Google con un nivel de abstracción muy alto que te permite tener un completo backend serverless. Hacía años que no lo usaba y estoy encantado con él, pero hay que andarse con ojo porque ningún entorno ni tecnología llega a ser perfecto.

La semana pasada estaba programando una cosa en Javascript usando la librería de Firebase, para un proyecto en el que he usado su Realtime Database para montar un sistema de presencia que me diga en todo momento quién está on y quién está off.

En un momento dado, detecté un problema que no entendía de dónde podía venir:

Hacía una query a la base de datos, que me devolvía unos resultados que yo procesaba. Sin embargo, el resultado era un único dato cuando en la BBDD tenía que haber más. Tras unos cuantos tests, me di cuenta de que si lo mismo lo programaba de distintos modos (que deberían comportarse igual) ¡el resultado era distinto!

snapshot.forEach(s=> array.push(s.val()));
//vs
snapshot.forEach(s=>{array.push(s.val())});

Esas dos estructuras, daban resultados distintos ¿cómo podía ser?

Tras darle unas cuantas vueltas con cara de absoluta incredulidad llegué a la clave del asunto en el último sitio que me quedaba por mirar de la documentación de Firebase:

Último ejemplo de la documentación de Firebase
https://firebase.google.com/docs/reference/js/firebase.database.DataSnapshot#for-each

Se habían alineado Roma con Santiago:

  • Un desarrollador/diseñador había elegido usar un nombre habitual, dándole un comportamiento no habitual.
  • En Javascript todo lo que no sea falso/0/undefined se evalua como true.
  • La información referente a como funcionaba estaba en el último rincón de la documentación.

Todo habría sido distinto si el método se hubiese llamado cancellableForEach; o si al menos hubiesen comprobado que el valor recibido era verdadero comparándolo con el operador de igualdad estricta («=== true»); o si, ya cogiéndolo por los pelos, la ejecución del método cuando reciba algo que no sea booleano arrojase un warning…

En cualquier caso, tras un rato de frustración el problema quedó solucionado.

Valga este post tanto para recordar que hay que tener cuidado en Firebase con el forEach de los Snapshots de la Realtime Database, como para recordar la importancia de los nombres que ponemos a las cosas.

El nivel de acceso Archive en Azure

En las cuentas de Storage en Azure, disponemos de varios elementos de configuración que influyen directamente en la disponibilidad de la información que vamos a almacenar, el precio de tenerlo guardado, el de acceder a los datos y la latencia que tendremos hasta poder leer el primer byte de información. Entre esos elementos está el propio tipo de cuenta y el nivel de rendimiento, así como el tipo de replicación. Para simplificar todo y no desviarnos del objetivo de este artículo, nos centraremos en las cuentas de tipo propósito general V2 (StorageV2) con nivel de rendimiento estándar y replicación LRS (Locally-redundant storage). De este modo nos podremos centrar en el elemento que nos interesa explicar hoy: el nivel de acceso.

Nivel de acceso Azure

Seguir leyendo en CompartiMOSS.

Montar blobs de Azure en Windows

Tal y como hicimos hace unas semanas con Linux, vamos a montar blobs de Azure en Windows para poder usar un container como una unidad de almacenamiento barato.

La verdad es que con Azure CLI y usando el comando subst sería muy fácil montar algo. Sin embargo, todo buen programador ha de revisar si alguien antes que él ya se ha enfrentado al mismo problema. En este caso, así es.

La empresa Gladinet mantiene (o mantenía, ya que no parece muy actualizado y algunos conectores han dejado de funcionar) un software que te permite montar como una unidad virtual casi cualquier repositorio online que se os podáis imaginar.

La página de descargas es una locura, y sólo uno de los enlaces parece llevar a su última versión (la 4) que es la que incluye un conector a los blobs de Azure que funciona.

Una vez instalado y conectado con vuestro container, ya podréis acceder a su contenido y subir archivos como si de cualquier otra carpata de vuestro sistema se tratase.

Montar blobs de Azure en Linux

Si necesitas más espacio en un sistema, por ejemplo, para almacenar copias de seguridad, puedes montar un almacenamiento en la nube como los blobs de Azure en Linux para dotar a tu sistema de almacenamiento «infinito» a un precio muy competitivo aprovechando el Storage.

Se puede hacer con cualquiera, yo lo voy a hacer con Azure porque es con el que suelo trabajar por defecto, aunque haya trabajado con muchos otros.

Esto lo he hecho en Ubuntu 18.04 aunque debería de poderse hacer con más o menos complicaciones en cualquier versión de Linux.

  1. Actualizar repositorios
    wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
    dpkg -i packages-microsoft-prod.deb
    apt-get update
    
  2. Instalar paquetes
    apt-get install blobfuse fuse -y
    
  3. Crear directorio temporal
    mkdir /mnt/resource/blobfusetmp -p
    
  4. Crear archivo de configuración
    vi ~/fuse_connection.cfg
    #Hay que poner las siguientes líneas sin comentarios y con los valores de tu cuenta, tu key y tu container
    #accountName myaccount
    #accountKey storageaccesskey
    #containerName mycontainer
    chmod 600 fuse_connection.cfg
    
    
  5. Montar en un directorio
    mkdir ~/disks
    blobfuse /root/disks --tmp-path=/mnt/resource/blobfusetmp  --config-file=/root/fuse_connection.cfg -o attr_timeout=240 -o entry_timeout=240 -o negative_timeout=120
    

Si esta última llamada la metes en un script que se llame, por ejemplo, desde rc.local te asegurarás de que la «unidad cloud» que has creado en Azure se monte con cada arranque del sistema.

Con esto habrás conseguido tener una nueva unidad montada aprovechando los blobs de Azure en Linux que, aunque sí tendrá más latencia que las unidades físicas de las que dispongas, su precio será mucho menor.

El futuro es transparente

Algunos ven el futuro negro, otros quieren un futuro verde, pero cada vez estoy más convencido de que el futuro es transparente. Transparente en cuanto a que las cosas estén claras, transparente en cuanto a no esconder e ir con la verdad por delante. Vamos a ver algunos ejemplos.

Camino transparente

Históricamente en este país se ha guardado mucha información de manera celosa. En cuanto a salarios, facturación, procedimientos, etc.

Por ejemplo, en cuanto a salarios (que puede ser lo más evidente) las empresas no acostumbraban a transmitir la horquilla salarial a la hora de publicar una oferta de trabajo. ¡Es más! En algunas empresas era casi un tabú que los empleados comentasen entre ellos lo que ganaban. En contraposición, cada vez se ven más ofertas con todos los detalles relevantes, entre ellos el salario que se ofrece. Sin ir más lejos, hace un par de semanas que la empresa Corunet hacía públicos en su web los distintos perfiles y planes de carrera incluyendo no sólo lo que esperan recibir si no también lo que dan.

En el mundo técnico ya hace tiempo que es más habitual ver que la gente y las empresas comparte su modo de trabajar, de organizarse, etc. Todo el mundo comparte su adaptación de Scrum (o de su metodología en cuestión), cuenta lo que le funciona y lo que no le ha funcionado, o que arquitecturas montan y lo más importante: los porqués.

De hecho, algunos sistemas, como el OKR al que tanto tiempo le está dedicando últimamente Javier Martín en Futurizable, plantean la utilidad de exponerse. En el caso de OKR son los objetivos, el hecho de que sean públicos permite que todo el mundo los pueda conocer y que así sepan en qué estás. Además así pasarán de ser un compromiso contigo mismo a un compromiso con todos.

Pero hay gente que va más allá y muestra sus cartas en cuanto a negocio, muestran el camino que pretenden andar y los resultados de los caminos andados. Un gran exponente de este nudismo es David Bonilla quien cuenta todo sobre sus proyectos (ver La Bonilista o Manfred). También hay muchas startups que hacen gala de su desnudez y aportan una información brutal para cualquiera que pueda estar interesado en su negocio ya sea como competencia, inversión, empresas afines en busca de sinergias, etc.

Por mi parte, siempre he creído que la vida es más fácil cuando cuentas las cosas como son, con sus puntos buenos y sus puntos malos. Es algo que ya hacíamos en GPMESS y que intento hacer publicando claramente los precios de mis servicios o presupuestos de proyectos que he hecho.

¿Y vosotros y vuestras empresas? ¿Os desnudais a menudo? Cualquier dato ya sabéis que es bienvenido en los comentarios, twitter, LinkedIn, por correo o cualquier otro canal que os parezca. Saber cómo los demás trabajan, cuáles son sus sistemas, su modelo de negocio o su facturación, nos es útil a todos para no perder el tiempo y para saber cuales son los caminos adecuados permitiéndonos a todos caminar juntos.

Historias para CTOs y responsables de tecnología

Es duro y arduo el camino de los responsables de tecnología, ponga en su LinkedIn CTO o no.

CTO son sólo unas siglas sin importancia y lo que importa en realidad son las responsabilidades asociadas a ellas. La gente que acaba asumiéndolas suele tener un arranque poco planificado, al fin y al cabo no existe la carrera de CTO. Muchas veces se trata de una persona que se dedicaba a algún área de tecnología y que por circunstancias se ve obligada a tomar decisiones en cuanto a qué y cómo, crecer y gestionar equipos, estar al día, anticipar el futuro… A algunas les gusta y lo buscan, a otras no y se adaptan o lo sufren.

responsable de tecnología

Como siempre dice tía Azu: «cortando cojonitos, se aprende a capar». Es cierto que a base de tortas todos podemos llegar a aprender y cuanto más tiempo lleves en esto más aprendes, sin embargo, apoyándote en las historias y aprendizajes de otros puedes hacer que ese camino sea un poco menos solitario, un poco menos duro, darte menos contra paredes que no se van a mover.

Siempre puedes tomar un té o una caña con un colega (si no tienes un colega a mano te lo puedes tomar conmigo :P) para compartir opiniones y aprender de experiencias ajenas, pero vamos a ver algunos recursos que tenemos a mano en Internet para aprender de otros que ya han pasado por un camino similar:

De personas concretas
  • Empezamos por el blog de una mujer que no sólo ha aprendido mucho en su camino, si no que sabe explicarlo y compartirlo . Se trata de Camille Fournier que además escribió un libro buenísimo que puede servir de guía a quien tenga que hacer esa transición de técnico a manager: The Manager’s Path.
  • Hablando de libros, no puedo dejar pasar la oportunidad de recomendar The Phoenix Project que cuenta la historia ficticia de un tío al que de buenas a primeras le encaroman muchas responsabilidades y de cómo lidia con este hecho. Se centra mucho en DevOps pero aunque sea sólo por lo entretenido que es, te lo tienes que leer.
  • Los blogs de los fundadores de Stack Overflow no tienen ningún despedicio. Tanto Jeff como Joel escriben artículos de temas variados e interesantes que le vendrán genial a todos los responsables de tecnología.
  • Están los artículos de Paul Graham, uno de los fundadores de Y Combinator, que ha visto pasar por delante de él un montón de empresas tecnológicas y suele plantear temas que dan que pensar.
  • Otro Graham pero Graham-Cumming, tiene una seríe de artículos en los que explica como fue el camino desde entrar como programador en Cloudflare y acabar siendo CTO con todo lo que conlleva.
  • La sección Management 101 de James Stanier cubre de una manera muy concreta distintas situaciones a las que se enfrenta quien tiene que tomar decisiones en ingeniería (el resto de los artículos también están muy bien).
De personas random
  • Aunque no soy muy fan, hay algunos sitios con entrevistas escritas o en formato pocast que hay que reconocer que son muy interesantes, por ejemplo Modern CTO o Developer to manager.
  • Por último, pero no por ello menos útil, buscando un poco puedes encontrar ciertos checklists que te ayudarán al acometer tareas en las que no seas experto pero de las que serás responsable como son el cumplimiento de la GDPR o la seguridad general de los sistemas de la empresa.

Estos son algunos recursos, pero a sabiendas de que hay muchos más, me encatará saber cuales recomendaríais vosotros. No os pediré que los dejéis en los comentarios que ya nadie escribe, pero siempre me podéis escribir a través de la web, en Twitter, LinkedIn o por donde sea.

PD: Para suplir un poco esta soledad, hemos creado un grupo sin más pretensiones que hacer una quedada al mes para charlar, pedir consejo, contarnos cosas… llamado CTOs Anónimos Valencia («responsables de tecnología anónimos de Valencia» no quedaba tan cool). Mañana será la primerísima quedada, así que ¡no dudeis y apuntaros!