Socializando como full remote

Tras varios años trabajando en remoto puedo afirmar que me encanta esta modalidad. La flexibilidad horaria que me da, el dinero que ahorro en transporte, el poder dedicar a asuntos personales el tiempo que no dedico a desplazamientos y atascos, la ausencia de distracciones que tengo y el incremento de productividad que conlleva y la sensación de libertad que todo esto me produce. Pero también reconozco que soy una persona muy social a la que le encanta el contacto directo.

Así que me voy mañana mismo a pasar unos días a las oficinas centrales que Cabify tiene en Madrid. A relacionarme presencialmente con personas de carne y hueso, a conversar con ellas en los pasillos o en la máquina de café, a ver de primera mano al equipo humano que hay detrás del proyecto, a sentir el ambiente de los despachos… Y por supuesto a salir a comer y acabar debatiendo cerveza en mano sobre cualquier temática geek que surja.

Hace unos días avisé a Office Management para solicitar el desplazamiento a la oficina (disponemos de tres viajes anuales), y ya tengo los billetes del AVE y la reserva del hotel en mi email. Esta tarde preparo la maleta, y mañana estaré disfrutando del resto de compañeros y compañeras de Cabi, celebrando por adelantado las Navidades.

Es hora de socializar.

Comunicación vía documentación

Cuando pensamos en comunicar algo solemos visualizarnos hablando con una o varias personas, bien de manera oral o escrita. Activamente alcanzamos a quien debe recibir el mensaje para entregarle la información que queremos transmitir.

Pero no siempre es necesario que contactemos con la parte receptora, pues también podemos comunicarnos sin iniciar el proceso. ¿Y cómo lo hacemos? La respuesta es clara; documentando.

Gracias a nuestra agenda de trabajo podemos comunicar nuestro horario laboral, la disponibilidad para que nos contacten y programen reuniones, ausencias, etc.

El estado de Slack (o cualquier otra herramienta de comunicación) también puede proporcionar información útil como avisar si podemos atender o no a alguien, si estamos de vacaciones o si nos encontramos disponibles.

Las respuestas automáticas de nuestro email son otra forma de comunicarnos. Es siempre una buena idea avisar si estamos de vacaciones informando de la fecha de retorno, así como indicando una persona de referencia que pueda atender las peticiones mientras estamos fuera.

Utilizar un software de seguimiento de proyectos como Jira ayuda a que toda persona interesada en saber sobre el progreso de una tarea pueda hacerlo de manera sencilla.

Ten presente que documentar es comunicar, y existen muchos medios de comunicación ampliamente conocidos. En lugar de dar la misma respuesta una y otra vez documéntala en un sitio centralizado para que todo el mundo la vea. Las personas interesadas obtendrán la información de manera sencilla, y tu evitarás las interrupciones.

Kenia2022 by Cabify

Kenia 2022 by Cabify

Ha terminado Kenia2022, el encuentro offsite en el que nos juntamos los miembros del equipo de tecnología de Cabify, que este año ha tenido lugar en Alicante.

Alrededor de 240 personas venidas de todos los rincones de España así como otros países europeos y latinoamericanos, hemos pasado 4 días realizando teambuildings, charlas, yéndonos de comidas y cenas, mezclándonos entre distintos equipos y audiencias, paseando por la montaña, visitando el Castillo de Santa Bárbara y el centro de Alicante, cantando en el karaoke, tomando cervezas, jugando en la playa…

Además hemos realizado una hackathon en la que se han presentado 23 proyectos empujados por equipos multidisciplinares, de los que un buen puñado estarán en producción en breve por el gran valor que aportan y lo avanzado de su estado.

Cuatro días de disfrutar de los compañeros y compañeras, de compartir risas e ideas, de adquirir nuevos puntos de vista, y de no parar. Afortunadamente hoy es RechargeDay y puedo cargar pilas, porque ha sido un evento intenso y divertido a más no poder. Agotador e ilusionante.

Y ya con ganas de que llegue Kenia2023.

3 años trabajando en Cabify

Cabify

Hoy hace 3 años que entré a trabajar a Cabify y me alegra decir que está siendo la etapa profesional en la que más rápido he crecido desde un punto de vista técnico.

Mi profesión tiene una ventaja y un inconveniente, y es que siempre estoy aprendiendo cosas nuevas y reciclándome ya que que nuestro mundo avanza a gran celeridad. Si te paras pierdes el tren.

Para quienes nos gusta aprender el proyecto Cabify es una suerte. Se trata de un reto tecnológico de grandes dimensiones, en constante crecimiento, en un entorno multidisciplinar, rodeado de un gran equipo humano, y que ofrece múltiples oportunidades. Como la que se me presentó al poco de entrar, permitiéndome el cambio de rol de QA a Backend.

Reformarme a desarrollador de servicios web no ha sido tarea fácil porque hay diferencias importantes en la mentalidad y en el stack tecnológico. Cierto es que no es empezar de cero porque se comparten muchos conocimientos, pero también es cierto que son puestos muy distintos y aparecen retos a los que nunca antes te habías enfrentado.

Gracias a las condiciones que me ofrece Cabify he podido desempolvar antiguos conocimientos y adquirir nuevos a gran velocidad y de manera totalmente orgánica. Únicamente empujando y disfrutando el proyecto.

Encima trabajo completamente remoto, hago teambuildings presenciales con frecuencia, dispongo de varios perks interesantes y tengo muy buena relación con el resto del equipo, así que ¿qué más puedo pedir? Pues que dure mucho 🙂

Eventos tecnológicos en España

Cada vez soy más consciente de la importancia del networking para el crecimiento profesional. Estar en contacto con otras personas con los mismos intereses es una valiosa fuente de conocimiento. Y más aún si como yo trabajas en remoto todo el tiempo.

Uso Twitter (@amarganz) al 99% para estar en contacto con personas y entidades relacionadas con mi sector. Además estoy recopilando una lista de los distintos eventos sobre el desarrollo de software que se celebran en España, con la intención de poder planificarme para asistir a los que mejor se ajusten a mis necesidades.

¿Conoces alguno que se haya quedado fuera de la lista? ¿Qué otros medios de networking usas?

  • BilboStack – Bilbao – enero
  • T3chfest – Madrid – marzo
  • Conf.IT – Madrid – abril
  • SalmorejoTech – Córdoba – mayo
  • Code BEAM A Coruña – La Coruña – junio
  • Pamplona Software Crafters – Pamplona – junio
  • AdaLoversConf – Tenerife – septiembre
  • AsturCon.Tech – Asturias – septiembre
  • MiduConf – Madrid – septiembre
  • NSSpain – Logroño – septiembre
  • Pulpocon – Vigo – septiembre
  • PyConES – Granada – septiembre
  • VLCTesting – Valencia – septiembre
  • LicorcaConf – Santiago de Compostela – octubre
  • MorcillaConf – Burgos – octubre
  • ReactAlicante – Alicante – octubre
  • Tarugoconf – Madrid – octubre

P.D. Puedes seguir esta conversación en Twitter, donde se van actualizando nuevos eventos.

Compañía neutra en carbono

No sé si es por la edad o por qué pero cada vez veo más necesarias estas iniciativas. No es que antes las viera mal, pero sí que podía pensar que eran fruto del márketing más que de la necesidad. Sin embargo, de un tiempo a esta parte considero muy importante formar parte de una empresa que tiene en cuenta el medio ambiente.

Cabify es una compañía neutra en carbono gracias a que se compensan todas las emisiones a través de iniciativas en todos los países donde opera. Además está realizando una gran inversión electrificando la flota e invirtiendo en energías renovables.

Y quizás porque me hago mayor, o porque cada vez es más patente el tema de la contaminación… o por ambas cosas, para mí formar parte de un proyecto que lucha activamente contra el cambio climático es un punto clave a tener en cuenta.

Más información en:

Mejorar la comunicación oral

La comunicación oral es una de las herramientas más importantes que usamos diariamente para relacionarnos con las personas de nuestro entorno. Bien sea en la máquina de café, a través de Zoom o en un pasillo de la oficina, surgirán conversaciones en las que se nos comunicarán dudas, necesidades, inquietudes…

Debemos dedicar esfuerzos en mejorar nuestras habilidades en este campo, realizando una escucha activa que evite los siguientes obstáculos:

  • Oír solamente aquello que nos interesa.
  • Tener prejuicios sobre la otra persona o sobre lo que nos quiere comunicar.
  • Barreras del entorno.
  • Sentimientos “a flor de piel”.
  • Quejas constantes.
  • Fingir que escuchamos.
  • Pensar en la respuesta en lugar de atender.

Para ello lo mejor es tener en cuenta los consejos listados a continuación:

  • Tómate tiempo para escuchar.
  • Establece un clima agradable.
  • Acepta a la otra persona tal y como es.
  • No te distraigas.
  • Prepárate el tema que quieres tratar.
  • Escucha y resume.
  • Estructura el mensaje.
  • No adelantes conclusiones.
  • Escucha con empatía.
  • Pregunta.
  • Anota los datos que estimas necesarios.

Luchar contra las interrupciones

¿Cómo podemos luchar contra las interrupciones?

  • Elimina los interruptores: Quita alarmas, notificaciones de WhatsApp, Telegram, Slack… Elimínalas de raíz.
  • Ojo con el móvil: ¿Esperas una llamada de vida o muerte? Pues siléncialo y ponlo boca abajo. Revísalo cada cierto tiempo en lugar de con cada notificación.
  • Enfócate: Recuerda el propósito de la tarea y prepárate para comenzarla.
  • Aísla la tarea: Si te piden algo ¿es obligatorio y vital que pares y lo hagas ya? Siempre es preferible apuntarlo para más adelante y volver a la tarea inicial.
  • Trabaja en bloques cortos: Es más fácil bloquear completamente las interrupciones si trabajas en tareas de menos de 30 minutos. Divide y vencerás.
  • Comunica tus rutinas: Si no se te puede llamar hasta las 10.00 que todo el mundo lo sepa.
  • Frena a la gente pesada: Siempre hay una persona que le gusta interrumpir sin miramiento. Ponle límites.
  • Comunicación concisa: Responde de manera breve y directa. Estructura tu mensaje para reducir la llamada actual, y dejarlo todo claro para que no sea necesaria una nueva llamada futura.
  • ¡No interrumpas tú! Si no te gusta que te interrumpan, no te dediques a interrumpir.

Pon en marcha cuanto antes estos puntos y verás que es más fácil de lo que esperabas.

Evita las interrupciones

El mayor enemigo de la productividad son sin duda las interrupciones. Debemos evitarlas a toda costa pues son el ladrón más voraz de nuestro tiempo. Las interrupciones:

  • Rompen nuestro ritmo laboral.
  • Hacen nuestro trabajo más lento y torpe, perdiendo tiempo en cualquier cosa.
  • Son fuente de estrés y ansiedad, y nos separan de objetivos y tareas.
  • Desgastan nuestra motivación, creatividad y energía.
  • Corroen nuestro ánimo, optimismo y buen humor.
  • Producen insatisfacción.

Porque para causar más impacto no hay que trabajar más horas, sino aprovechar mejor las que dedicamos.

Sistema de tipos de datos

En los lenguajes de programación llamamos tipo de datos o sencillamente tipo, a un atributo de los datos que indica al sistema la clase de datos que se va a manejar. Ejemplos típicos son los números enteros, números en coma flotante, caracteres, cadenas de caracteres y lógicos.

Llamamos sistema de tipos al sistema formal que define las reglas que asignan un tipo de datos a los distintos constructos del código como variables, expresiones o funciones. Su principal cometido es reducir la posibilidad de errores en nuestros programas, al haber definido un contrato entre las distintas partes que permite comprobar que se conectan de manera consistente. También permite expresar reglas de negocio y habilitar optimizaciones del compilador.

Los sistemas de tipos (type system en inglés) se clasifican en varias categorías según su comprobación:

Estáticos vs dinámicos

Se dice que un lenguaje de programación usa tipado estático si la comprobación de tipos se realiza durante la compilación. Claros ejemplos son C, C++, Java y Go. Por el contrario se dice que es de tipado dinámico si la comprobación se realiza en tiempo de ejecución, como ocurre en Perl, Python y Ruby.

Manifiestos vs inferidos

El tipado manifiesto es aquel que identifica explícitamente en nuestro código el tipo de la variable declarada. Por el contrario el tipado inferido, también conocido como tipado implícito, es aquel en el que el tipo de la variable se detecta.

Algunos lenguajes como Go mezclan ambos tipados. Por ejemplo en el siguiente código la primera línea declara explícitamente el tipo de la variable i, mientras que en la segunda línea el tipo de j es inferido.

var i int
j := i // j es un entero

Fuertemente tipados vs Débilmente tipados

Por regla general un lenguaje fuertemente tipado tiene reglas estrictas de tipado en tiempo de compilación. Cabe destacar que un lenguaje dinámicamente tipado puede ser fuertemente tipado. Por el contrario en un lenguaje débilmente tipado no hay reglas estrictas y se pueden producir resultados erróneos o impredecibles cuando se realiza una conversión de tipos en tiempo de ejecución.

Tipado nominal vs Tipado estructural

En lenguajes de computación se dice que un sistema de tipos es de tipo nominal si la compatibilidad y equivalencia entre los tipos de datos se determina por declaraciones explícitas y/o el nombre de los tipos. En contraste se considera un tipado estructural a aquel en el que las comparaciones se basan en la estructura de los tipos en cuestión sin necesitar declaraciones explícitas.

Lenguajes como C++, C#, Java o Delphi son considerados como lenguajes de tipado nominal. Por el contrario Go usa un tipado estructural ya que con que un tipo implemente los métodos indicados por una interfaz se considera que la cumple sin necesidad de indicar nada explícito.