Fui demasiado rápido, lo ejecuté a la primera, cambié un montón de código legacy y no tenía claro bien el target al que iba dirigido. La aplicación de consola enviaba un email avisando de una renovación de suscripción que habían realizado en las últimas semanas. Como un recordatorio de "Hey, tienes estas ventajas, gracias por renovar" a muchos clientes. El programa se ejecutó, terminó y me dio el OK con el que yo marcaba el ticket como resuelto.
Apenas 20 min después me avisaron que decenas de usuarios se habían quejado, les había llegado la confirmación de la suscripción sin haber renovado ninguna. Muchos estaban asustados porque no eran precisamente 10 euros, sino cerca de 400, lo que costaba la dichosa suscripción. Al momento analicé la base de usuarios a la que estaba apuntando y la base de usuarios a la que teníamos que apuntar. Tremendo fail.
El correo se había enviado a alrededor de 50.000 usuarios, de los cuales solo 30.000 eran poseedores de una suscripción actual, y que no eran ni siquiera todos los que había que apuntar. Había sido un problema a la hora de establecer las condiciones del where: yo apuntaba a todos los que habían tenido una suscripción en el pasado, seas cuales sean y en realidad había que apuntar a todos los que habían tenido la del año anterior y tenían una suscripción en la actualidad. Fuck.
Nos sentamos con soporte y marketing y trazamos los pasos a seguir: correo de disculpa al cliente, correo a los usuarios que lo han recibido por error y correo a los usuarios que faltan. Gracias a un buen sistema de logging pudimos recuperar las listas, usuarios impactados y demás. Sino, habría sido imposible recomponer esa información.
Estábamos ayer de camino al cine cuando intenté recordar qué demonios habíamos hecho el fin de semana anterior. Le pregunté a Kalte y estuvimos un rato desgranando lo que habíamos hecho. El sábado lo tuvimos claro pero el domingo se nos hizo bola. Qué haríamos tan intrascendente o nimio que no recordábamos nada. Al final caímos, y llegó el recuerdo de las aventuras de la semana anterior. No fue ni siquiera ir a la Tagliatella, sino jugar a Horizon Forbidden West y salir a tomar una cerveza. Sin menospreciar a Horizon Forbidden West, porque tremendo juegazo, pero esperaba que pudiéramos haber hecho algo más trascendente y de mayor calado en nuestras vidas. En The Big Bang Theory, en las últimas temporadas, Leonard y Penny, ya asentados, tienen problemas al recordar y listar la cantidad de cosas que han hecho durante los últimos meses, como si un cúmulo no muy definido de actividades sin importancia rigieran sus vidas. En nuestro caso es pasarnos tardes y tardes jugando a HFW, porque la verdad que es un juego completo, con muchas campañas, historias secundarias y una historia principal apasionante, sin llegar a salir de la ciudad o ni siquiera de nuestra casa. Como ya he dicho, llevamos varias semanas dedicadas a HFW porque la historia es adictiva, los personajes son memorables y las misiones no son tan repetitivas como en el primer juego. De alguna manera, estamos en ese momento del HFW en el que estamos haciendo misiones secundarias, eso es ahora mismo el tiempo libre. Hacer deporte para ganar niveles (levear de toda la vida) y luego hacer misiones secundarias. Quizás haya que darle la vuelta. Convertir el trabajo en misión secundaria y el fin de semana en la historia principal. Pero bueno, primero nos terminamos la historia principal del HFW y luego vemos. Es que, de verdad, qué juegazo.
Hablo de caballos y cuadra y se esperan un club de campo no un secarral
La verdad que llevo varias semanas escuchando mucho La Oreja de Van Gogh. Creo que el 20 de Enero vi un par de memes en Twitter y me lancé a escuchar una lista que tengo para estos momentos. Aunque no lo hago por el meme. Soy muy fan de LODVG, de la vieja, la de Amaia, la que acabó con Guapa (y Más Guapa, que siempre cae en el olvido) y tiene seguramente dos de los mejores discos del pop que han salido de Españita siempre.
Mis razones para escuchar La Oreja son simples. Me recuerda a los veranos que pasé en mi campo antes de que la vida se pusiera en modo adulto, me fuese a Valencia y mi padre muriese. Los veranos eran larguísimos, los pasábamos en el campo y durante esos 3 meses mi hermana y yo estábamos solos muchos días. Mientras mis padres trabajaban, nosotros arreglábamos la casa, hacíamos la comida y cuidábamos a los animales. Era en esos días de hacer recados que nos poníamos, en un viejo walkman conectado a un aun más viejo equipo de música, CDs sin parar. Desde Mecano - Ana Jose Nacho a Carácter Latino 2001. También Joaquín Sabina, Ella Baila Sola, Estopa o, por supuesto, La Oreja de Van Gogh.
Creo que en un momento en el que los picos de ansiedad están alcanzando tremendas cotas, es importante tener un refugio mental en el que meterse, encerrarse y descansar de todo. Supongo que habrá gente que se ponga sonidos de lluvia(a ratos a mi me funciona también) o una serie en bucle (culpable también). A mi me funciona ponerme esta música. Me ayuda a recordar que la vida no tiene que ser estresante, complicada, llena de obligaciones y muchas veces viviendo en tercera persona.
Puede que sea un medidor de ansiedad, estrés e incertidumbre, en cualquier caso, estas últimas semanas me encierro en mi refugio mucho y no es que esté la vida para no hacerlo. Guerras, crisis económica, cambio climático, el fascismo ascendente... y nosotros seguimos trabajando de 9 a 5, arreglando bugs y desarrollando features. Mientras el mundo se tambalea yo actualizo un ticket en Jira y le pido a mi PM donde pongo la prioridad. Luego juego a tenis, vamos al cine y cenamos con los amigos.
La vida fuera del refugio no tiene sentido. Aquí dentro tampoco, pero se está más a gusto.
En octubre de 2017 comencé a trabajar en remoto. En un principio no teníamos oficina, y aquello de vernos a través del recién estrenado Microsoft Teams no parecía del todo serio. Hablábamos mucho de coworkings, oficinas o cómo convencer a dirección de ponernos un piso en el centro. Quedábamos de vez en cuando, nos tomábamos alguna cerveza, nos quejábamos... pero en seguida vimos que aquello eran todo ventajas.
Desde no tener que levantarte a las 7 menos algo hasta poder llevar a los niños al colegio como hacía un compañero, trabajar en remoto nos ofreció infinidad de posibilidades para tener más tiempo libre, conciliar más y, porqué no, aprender a hacer pan mientras trabajas. Me acostumbré en seguida y perfeccioné el manejo de la harina de fuerza.
Cuando llevaba ya unos meses en esa dinámica, empecé a estar cansado de estar en casa. Mi pareja llegaba tarde y, al contrario que a mi que me apetecía salir a la calle, desconectar, pasear, ver gente y entender que la vida seguía, ella prefería quedarse en casa tranquila después de un día de mierda viendo alguna serie o jugando al Tomb Raider. No era de extrañar, yo unos meses antes estaba en el mismo punto.
La falta de una sensación real de desconexión se apoderó de mi. La oficina era mi casa y mi casa era la oficina. Durante unos meses sufrimos un estrés bastante alto: jornadas largas, presión, desarrollos a medio terminar, integraciones con canales oficiales del estado... recuerdo parar en ciertos momentos para hacer pan y realmente no pensar en nada. Ni reuniones, ni code reviews ni programar... simplemente amasar y no pensar. Necesitaba salir.
Me apunté al gym, empecé a bajar a la calle a mediodía, me iba a trabajar a una cafetería, daba paseos por la mañana... intentaba hacer todo lo que fuera posible por salir de casa y mantener la dinámica laboral a la vez. Además se acercaba verano y las vacaciones nos ponían en un aprieto. Pasado lo peor, pude descansar y sentir un poco esa desconexión que la masa de pan no lograba darme.
Tras las vacaciones de verano volví mejor. La desconexión (esta vez de verdad) me hizo más resiliente a quedarme 12h en casa al día. El gym y demás eran la metadona que me mantenían encerrado todos los días negándome la necesidad de una oficina, de pedir algo más de vacaciones, o unos días libres. Todo parecía mantenerse con pinzas hasta que, simplemente, peté.
Puede que fuese una acumulación de varios factores. Teníamos un estrés terrible, tuve problemas con mi familia, problemas con personas cercanas y por aquella época por desgracia también falleció un conocido. Comencé a no dormir bien. Si a estar en casa más de 8 horas le sumas estar hecho una mierda por no haber descansado ni tres horas, aquello era una tortura. Al poco tiempo empecé a tener ataques de pánico por las noches. Dejaba de trabajar y mi organismo explotaba como si no hubiese salida posible. Me imaginaba todo tipo de escenarios que acaban con mi inevitable, rápida y repentina muerte.
Recuerdo que llegó el punto en el que solo podía dormirme cuando, literalmente, me daba igual estar sufriendo un ataque al corazón con tal de descansar de una vez.
Acudí al médico y me recetó antidepresivos y un tranquilizante. Empecé a tomarlos regularmente y dejé de sentir nada. Simultáneamente me fui a trabajar a la oficina de mi pareja: me hicieron un hueco en su oficina y pude salir de casa. Aquello me liberó un poco. Conocer gente, intercambiar un "hola" y un café después de comer fue un soplo de aire fresco. Comencé a ir a terapia, me apunté a tenis y encontré un coworking.
Meses después dejé de tomar medicación. Comencé el duro, arduo y no siempre bonito camino del autodescubrimiento. Entendí que hay muchos factores que pueden provocar ansiedad y que no puedes controlarlos, solo identificarlos y saber que están ahí, acechándote. No puedes controlar la ansiedad, pero puedes aprender a detectarla y saber que es ansiedad. Hablé con un amigo de la diferencia entre el estrés real y la ansiedad. Connoisseur de la ansiedad.
Llegó un momento en el que estar en casa trabajando en remoto durante ocho horas solo era insostenible. La ansiedad que me provocaba estar solo allí pensando que me podía estar dando un ataque al corazón me impedía vivir con sosiego y tranquilidad, vivir en términos generales. El pensamiento cíclico que genera me impedía ver todas las cuestiones subyacentes que lo provocaban.
Trabajar en remoto, solo, durante meses, sin casi tener contacto con nadie, me provocó una cascada de crisis de ansiedad que cambiaron muchos aspectos de mi vida y muchos aspectos de mi. Puede que sin esa cascada ahora mismo no estaría aquí hablando abiertamente de ello. A día de hoy sigo yendo a terapia, sigo teniendo ansiedad, sigo con ese trabajo personal que empecé hace ya más de tres años al llamar a la que aun hoy es mi terapeuta, pero la diferencia es que puedo trabajar en remoto, solo y puedo dormir por las noches. Tengo mecanismos para tener una calidad de vida mejor. Sin todo este trabajo, no sé que habría sido de mi durante la cuarentena sin este proceso.
Trabajar en remoto casi me mata pero, en cierto modo, me salvó la vida.
Bueno, esto es un rant sobre algo que me ha pasado recientemente. Pero como todo rant, puede ser divertido, instructivo e increíblemente parcial.
Llevo esperando cobrar desde el 15 de enero. Sí, llevo un mes de retraso esperando a cobrar el mes de enero. Cambiaron a la persona de contabilidad en la empresa para la que trabajo y todos los externos (freelance fuera de US) hemos tenido problemas al cobrar, aunque nadie falta por cobrar salvo yo. Todo el problema viene de que la nueva contable (freelance también) ha decidido cambiar la facturación a Bill.com y automatizar todo el proceso en lugar de hacerlo manualmente como lo hacía en el anterior contable. A mí me gustaba la idea pero es que todo ha salido mal.
Normalmente, en mi mundo del último año y medio, alrededor del 15 de cada mes yo emitía una factura y el 20 o así un mensajito en Slack me avisaban que me habían hecho la transferencia y el 24 aparecía en mi cuenta. No big deal. A veces era el 24, otras veces el 22 y otras veces el 27. Era orientativo pero llegaba. No había mucho delay.
En diciembre, nuestro querido contable decidió que quería un cambio de aires y a final de año dejó la empresa. Nuestro CEO decidió que era buena idea contratar a un freelance ya que no era un trabajo para tener a alguien full time, y bueno, probablemente fuera así y fuese lo mejor, así que no problem por nuestra parte, a tope con todo, adelante muchachos y a cobrar todo el mundo.
Ya a finales de enero, una compañera y yo comentamos que estábamos a veintipico y no sabíamos nada de nuestros sueldos. Avisamos y lo siguiente que sé es que el viernes 28 a las mil de la noche me llega un email de Bill.com (la plataforma para automatizar procesos de pago de nóminas) para que confirme mis datos y así puedan pagarme. Completo mis datos y me olvido, pensando que ya estaba todo hecho.
La siguiente semana nos preguntan si sabemos algo sobre nuestro sueldo, avisamos que no sabemos nada y cuando intentamos contactar con la contable, le cuesta contestar (porque es freelance y obviamente no va a estar full time con un cliente) y no conseguimos saber nada. Resulta que los datos estaban incorrectos (los de la empresa en Bill.com) y tenemos que volver a completar el formulario. Sin embargo, nos da de alta como ciudadanos estadounidenses y, claro, el proceso de introducción de datos es de repente un alta en Bill.com que no puedo completar porque no tengo número de teléfono móvil estadounidense. Mi compañera, que si que tiene número, me comenta que más tarde en el proceso te piden seguridad social y más cosas así que aun con número de teléfono no se puede completar. Intercambio de correos mediante, al final ponemos en copia al CTO, al CEO, gente de management y básicamente la mitad de la empresa para que el viernes 4 nos llegue el mail que nos había llegado una semana antes con el "completa tus datos para seguir suscrito a la VIDA pago mediante" y lo completamos y nos confirman que está el dinero en camino.
La siguiente semana me la tomo tranquilo. Sé que las transferencias internacionales tardan. Mucho. Si la transferencia desde Bill.com se hizo, digamos, a las 5 de la tarde, es probable que hasta el jueves siguiente no llegue el dinero, así que espero pacientemente hasta que el miércoles ya estoy genuinamente nervioso. El jueves empiezo a contactar con mi banco y consigo saber que en este lado nadie sabe nada de esa transferencia. Me compro un número estadounidense en Hushed y, efectivamente, el proceso es un proceso trampa, miento en muchos datos como seguridad social, dirección y demás hasta llegar a los datos para cobrar, en los que ya me da palo mentir por si fueran a usarlos para hacer la transferencia en teoría en curso, bueno, que me piden una cuenta estadounidense que no tengo.
En mi banco me comentan que pueden abrir una incidencia pero que necesitan más datos. Al pedir esos datos a la contable y al CEO, la contable contacta con Bill.com y resulta que Bill.com ha cancelado la transferencia porque no puede contactar con mi banco. Una semana después. Sin avisar a absolutamente nadie y solo cuando nuestra contable ha contactado con soporte de Bill.com. Ejeincreíble. Al final, la transferencia será manual esta vez y ya veremos como lo hacemos en un futuro.
He de decir que esto lo vi venir hace tiempo. Recibir dinero desde fuera de europa es una mierda. Tarda, los husos horarios son una mierda, las vacaciones no las controla nadie, el cambio de moneda no lo controlas y las comisiones son importantes. Cada nómina me llega con un 5%-7% menos de lo que debería llegar así que el camino es abrir una cuenta en US o una plataforma como Wise que permitan abrir cuentas en dólares estadounidenses. Por el momento, he aprendido varias cosas.
Los estadounidenses suelen ser bastante serios con las personas que quieren mantener. He de decir que no han dejado de preocuparse y manteniendo contacto conmigo y pidiéndome perdón y al final es la primera vez que trabajan con externos y esto al final es un tema de contabilidad que ellos no controlan. Ok, por esa parte bien. Por otro lado, creo que no ha habido buena comunicación con contabilidad. Este proceso no se puede empezar cuando tienes que hacer los ingresos de las nóminas/facturas de proveedores, sino un par de semanas antes o después, y tienes que saber que si no funciona tienes que tener un plan B porque tus proveedores pueden ser menos idiotas asertivos que yo y pueden dejar de prestarte servicio si a los 3 días no han recibido el pago.
Por otro lado: Bill.com tiene un departamento de atención al cliente inexistente. Abrí un ticket al que me respondieron días después avisándome que no podían hacer nada por mi y que probara a gritarles a los de mi empresa. Entiendo que no pueden estar en todas pero es un servicio bastante crítico para muchas personas y está dirigido a operar con trabajadores internacionalmente, quizá estaría bien tener gente a un horario diferente a 5AM-5PM PST. La comunicación de la incidencia fue inexistente y si no llega a abrir un ticket la contable no nos enteramos de nada.
En cualquier caso, todo esto me ha hecho replantearme la forma en la que trabajo con clientes internacionales y en la que recibo los pagos. Es probable que una cuenta en dólares sea la respuesta para ponérselo fácil a ellos y agilizar las cosas. Muchos me dicen que "ese trabajo es de la empresa que te paga" pero es que, oh honey, puede ser que no hayas mandado una factura para saber lo que hay que llegar a hacer para cobrar una maldita factura como autónomo. Podría seguir echando balones fuera y a lo mejor en abril empiezo a cobrar. Si la pro-actividad no la pongo yo es probable que nadie la ponga por mí y es probable que tenga que comer arroz durante meses a la espera de una transferencia que parece estar maldita.
Un trauma profundo, con raíces que van más allá de la conocida canción y ahondan en la nula inmutabilidad de los datos o las insuficientes y casi inservibles backups. Me explico. Durante dos años estuve trabajando en una empresa en la que tuvimos que construir todo desde cero. Desde la infraestructura en la nube hasta cuentas de Microsoft para vendedores, desarrolladores y en general todo el staff. Durante los primeros meses profundicé en los fundamentos de creación de una infraestructura en cloud tratando preguntas como "¿Es mejor un entorno con AppServices o una infraestructura híbrida con clusters y Kubernetes?" o "¿qué pasa si hay cae un meteorito y una región entera de Azure deja de funcionar?". Preguntas, literalmente, de pausa para el café.
El problema es cuando empiezas a darte cuenta de que todo tiene que estar replicado, por dos, tres o cuatro, que necesitas tener una resiliencia a los fallos casi absoluta, empiezas a pensar en tener despliegues en los 3 major providers de internet (con AWS, GCloud y Azure) por si fallase el proveedor principal y, al día siguiente, haces un UPSERT a mano de treinta mil filas en producción que has editado a mano con tus habilidades de Sublime Text y el editor con cursor múltiple.
Muchos diréis been there donethat, pero la diferencia entre el mundo ideal y el mundo real era tan abismal que al principio me daba pánico. Recuerdo desde eso hasta hacer ingeniería inversa a un software propietario solo para ver qué bug tenía y no tener que acudir a soporte y pagar más. Esperar 16h despierto para terminar una migración de un servicio on premises a cloud que venía en un HDD por mensajería urgente. También escribir, como decía, scripts de SQL de decenas de miles de líneas que mi pobre Mac apenas podía procesar. Le daba a "Select all ocurrences" (Command + Ctrl + G en Mac) al principio de la primera linea y esa selección podía tardar unos 30s. Luego, cada edición, desplazamiento o deleción eran otros 30s. Trabajando con datos masivos a mano. Era increíblemente peligroso, e increíblemente adictivo.
Una vez le perdí el miedo a aquella metodología de trabajo, realizar upserts a mano se convierte en tu día a día. Los datos estaban regu y había que hacer muchísimas operaciones a mano que hasta aquel momento realizaba el antiguo departamento de IT que se componía de un solo informático que se había dedicado a hacer aquellas tareas durante todos esos años. Cuando algo salía mal, salía muy muy mal. Una inserción mal: facturas generándose con número aleatorios. Por ejemplo, para reconciliar los datos teníamos que mantener las ids anteriores para poder movernos entre números de facturas erróneos y poder hacer una auditoría a posteriori para Hacienda. Había tablas con 4 ids repetidos que empezaban a ser todos iguales y de repente había saltos, porque, claro, las plataformas estaban hechas en terrible spaghetti code en PHP que no había quién manejara o viera cómo las operaciones concurrentes funcionaban y se saltaban IDs porque, claro, no había ni PKs o FKs en la DB. Había tensión en cada operación por ver si todo acabaría bien.
Cuando empezamos a desarrollar código nuevo tomando como base el código existente, muchas cosas no terminaban de funcionar bien. Había que ir rápido y no había tiempo para requisitos, funcionalidades o testing. Simplemente code fast deploy faster y que sea lo que NaN quiera. Todo aquello solo hizo que hubiese que tratar muchos datos erróneos en muy poco tiempo y asegurarnos de que no se estaba liando más la cosa. Teníamos controles manuales con un innumerable repositorio de cláusulas SQL que revisaban si todo estaba ok o no y que había que ejecutar a mano e ir ampliando y mejorando.
A los pocos meses desarrollé una forma de trabajo más adaptada a este mundo. Me cambié a Windows con BOOTCAMP y me instalé HeidiSQL que tenía decenas de funcionalidades para hacer magia negra. Cada vez que había que arreglar algo que no estaba bien en una bases de datos de producción, me guardaba una copia de seguridad de producción, digamos db_prod_20181123, la desplegaba de nuevo a mano (de verdad, gracias por tanto Heidi SQL) y trabajaba con esos datos, intentando ver cómo resolver el problema existente. A veces tocaba hacerlo con SQL Server, así que me tocaba trabajar con SQL Server Management Studio y hacer un poco de lo mismo. Tras el despliegue, la copia de seguridad no servía para nada, pero yo tenía que mantenerla por si pasase algo. De hecho, cuando aplicaba los cambios que había probado en la nueva DB réplica realizaba otra copia de seguridad antes de ejecutar las cláusulas SQL, digamos, db_prod_20181123_1453, y cruzaba los dedos para que no la tuviese que restaurar en lugar de la db_prod y volver a ver cómo resolver el problema de otra manera.
Cuando todo aquello se acabó, volví a la calma de "los datos no se tocan", y así he seguido hasta ahora. Toda esta historia ni tiene que ver con que esté volviendo a hacer UPSERT de decenas de miles de lineas en una db en prod, sino que me está tocando construir algunas piezas de una migración con Entity Framework a mano. Aunque no sea lo mismo, ha resucitado los fantasmas de trabajar en el data chaos. Durante aquella época aprendí a manejar muy bien los UPSERT, cursores múltiples, Sublime Text, Heidi SQL, SSMS y en general desarrollé una navaja suiza para el caos que espero no tener que utilizar nunca. Aun algún compañero, cuando comparto pantalla y edito con VS Code me pregunta "oye, un día nos tienes que enseñar cómo manejas tan bien los cursoresmúltiples". En ese momento miro al vacío durante unos segundos y recuerdos los gritos, las bombas, el vietcong sobre nosotros, el napalm y ahogo un grito de desesperación en un Sure, whatever.
La ingeniería del software es un trabajo. Como en cualquier trabajo se trabaja ocho horas, tienes tus vacaciones pagadas acorde a tu convenio, tus horas establecidas y tienes unos compañeros determinados. Yo entiendo que trabajar como ingeniero no es diferente a trabajar en cualquier otro sitio. Vendes tu mano de obra por X dinero e intentas desarrollar tu trabajo como mejor puedes. Hay días buenos, hay días malos y hay días grises. Pero es un trabajo.
Cuando llega la hora: recoges, apagas el ordenador y te vas tan tranquilo a pillar el siguiente metro que sino no te da tiempo a ir al Carrefour. Luego descansas y al día siguiente la misma cantinela hasta que llega el fin de semana. No es diferente a ningún otro trabajo y no se le debe exigir a nadie más que hacer su propio trabajo. Por desgracia, me he encontrado con personas (muy motivadas) que quieren hacer creer que no es así.
La programación es un trabajo complejo, como podría serlo cocinar en un restaurante o cuidar a personas mayores. Requiere un set de herramientas sociales y técnicas limitado y se compone esencialmente de realizar trabajo repetitivo acorde a ciertos patrones y siguiendo unas pautas pero teniendo la capacidad para improvisar cuando haya alguna movida que se sale de lo normal. Ni más ni menos.
Como en cualquier trabajo hay gente que está de manera vocacional y gente que está porque es un trabajo cómodo, está bien pagado, hay buenas perspectivas de futuro y no parece que vaya a haber escasez de demanda laboral a medio plazo. Se conoce gente nueva, se aprende, se resuelven problemas complejos y difíciles, encuentras un ambiente dinámico pero, como en todo sector, en ocasiones te encuentras a gente que quiere convertir este trabajo en algo especial.
No es esta una disertación sobre lo difícil que es programar o ser buen ingeniero (ni de puta coña) sino simplemente un aviso a aquellas personas que desde fuera (o acercándose porque quieren dedicarse a esto) ven a los ingenieros como personas ultra motivadas y volcadas con todo lo que rodea a la profesión.
No te tiene que apasionar programar para ser un gran ingeniero, en todo caso no lo tienes que odiar. Es decir, la ingeniería informática se basa, principalmente, en resolver problemas y construir soluciones. Siempre, por el resto de nuestros días, nos dedicamos a eso, pero no porque no te guste hacer puzzles en tu tiempo libre dejas de hacerlo si te pagan 400€ al día. Si odias hacer puzzles es probable que tengas tus reticencias a hacerlo 8 horas al día durante 35 años, pero si no es así sigue siendo una buena opción laboral. En mi opinión hay que entender que un profesional no vocacional siempre puede ser un gran profesional.
Abrazar la programación con pasión y dedicarse en cuerpo y alma a ello está bien, es un bonus track, algo que seguramente te enseñe y te ayude a mejorar, pero no es algo imprescindible. Primero: porque no todo el mundo lo necesita, segundo: no es este un mundo en el que podamos dedicarle 2h extra al día a aprender nuevas tecnologías, nuevos patrones de diseño, ir a cursos, eventos o desarrollar side projects. Exigir cualquiera de estas cosas es bastante clasista y no determina la capacidad o profesionalidad de nadie.
Si un ingeniero es mal ingeniero no es por problemas de vocación o dedicación extra, sino por muchos otros factores y problemas que hay que analizar. Igualmente, que un ingeniero esté turbo motivado y quiera hacer mil cosas y probar mil tecnologías y tener mil años de experiencia laboral tampoco lo convierte automáticamente en un buen ingeniero. Abracemos a todo el que se acerque a la profesión, ya sea por vocación, dinero, pasión o porque le gusten resolver puzzles por 400$ al día.
He desempolvado Udemy. Después de más de 3 años (probablemente cerca de 4) el otro día abrí Udemy y revisé los cursos que había comprado. Tenía cursos de preparación de entrevistas, certificaciones de Azure y un curso al 27% sobre patrones de diseño en C#. ¿Qué me pasaba en 2018?
En aquella época estaba en pleno cambio. Era parte de un equipo minúsculo en el que creábamos infraestructura por completo, desarrollábamos a ciegas e íbamos un poco perdidos. Tenía a un CTO por encima pero la mayoría de soluciones en las que trabajaba las tenía que sacar yo. Tenía muchas dudas, estaba muy inseguro y necesitaba conocimientos. Por ello empecé algunos cursos para ser mejor profesional y tener una base para ir tirando. No terminé ninguno, y aunque no tengo la respuesta definitiva, ahora mismo me parece que lo hice todo mal.
Los cursos los hacía en mi tiempo libre y entonces no entendía que el tiempo libre es para hacer cosas que te gustan, no cosas que tengas que hacer. De ser yo esa persona, intentaría hacer todos esos cursos en horario de trabajo. Pero es que ahora mismo ni se me ocurriría comprar cursos en Udemy para mejorar mi trabajo actual, sino que quiero hacer cursos que me apetezcan hacer en mi tiempo libre.
Cuando decidí hacer cursos este 2022, lo hice porque me apetece aprender cosas que no puedo aprender en el día a día. Cuando hago entrevistas siempre intento recalcar que me encanta aprender cosas nuevas: tecnologías, patrones de diseño, mejores prácticas... es de las cosas que más me gustan y por suerte ahora tengo la posibilidad de aprender mil historias cada día.
Por ello, en lugar de lanzarme a hacer cursos que mejoren mi trabajo día a día, me he lanzado a hacer cursos que me apetecen de verdad y están bastante alejados de lo que hago normalmente. Quiero que sean cosas que me interesen y me apetezcan y que estén alejados de lo que hago de 9 a 5.
Refrescar, cambiar y que no sea remotamente algo que tenga que ver con trabajo. A lo mejor aprendo a hacer hidromiel.
Llevo casi 3 años con un Apple Watch. Además de mirar la hora, recibir notificaciones y responder accidentalmente alguna llamada, el Apple Watch me ha llevado a gamificar el ejercicio que hago. Antes iba a entrenar, entrenaba y volvía. Ahora necesito información, datos, calorías, tiempo, performance y, por supuesto, premios, medallas o rachas.
El seguimiento me proporciona un calendario en el que puedo ver cuándo he sido bueno y cuándo he sido malo. Los días que fui a tenis y las tardes que me escaqueé para tomar un Biter Kas con los amigos. El Apple Watch sabe el momento en el que me lanzo a jugar un partido de tenis o entreno a alta intensidad. También sabe la hora a la que me levanto, la hora a la que me acuesto y probablemente la fecha en la que sufriré un infarto de miocardio. No es una crítica: me encanta.
He conseguido saber que hay meses buenos y meses malos, meses en los que estoy más predispuesto a hacer deporte y meses en los que decido vivir la vida e irme de vacaciones. También he aprendido a cargar regularmente mi Apple Watch para continuar con las estadísticas. En el Apple Watch, estableces metas de calorías, minutos de entrenamiento al día u horas de pie. Estableces tus metas personales.
La gamificación personal me ha ayudado a establecerme metas e intentar hacer más ejercicio o ser más constante con los entrenamientos de tenis, sin embargo, necesito más. Hacer ejercicio no es suficiente. Seguir una dieta, leer, caminar, escribir... Es año nuevo, no nos vamos a engañar. La pandemia empieza a dar señales de agotamiento. Es hora de establecer metas para el nuevo año e intentar cumplirlas más allá de entrenamientos, calorías y horas de pie.
Seguir la dieta un 80% del tiempo
Seguramente el más difícil de todos los propósitos. La vida está llena de días especiales, de celebraciones, de bajonas, de días malos, horribles, patéticos, lluviosos, azules... es un campo de minas para cualquier dieta. Este año es el primero que empiezo con una dieta en la que no solo trato de adelgazar sino de saber qué demonios me pasa en el intestino. Retortijones, dolores, gases... vivir con una celíaca me (y nos) ha enseñado que hay cosas que no deberían normalizarse. No te pueden sentar mal unas lentejas y hacer como si fuera lo más normal del mundo. Hoy he comido cebolla y me duele. Estamos terminando las pascuas y llevo días con dolor. No es normal. Médico y dietista lo confirman: 2022 viene con mucha dieta.
Leer 1 libro al mes
Leo poco (nada) y tengo una pila pendiente de libros enorme. Ensayos, ciencia ficción, novela gráfica, comic... interminable, de verdad. De momento me estoy haciendo un calendario y quiero leer un libro al menos al mes (o 2 integrales de cómic / novela gráfica) e incluso ir documentándolo aquí como si de un club de lectura personal se tratara. También estoy comprando más revistas que nunca, de las buenas, independientes, bonitas e interesantes. Gracias News & Coffee, me habéis creado una necesidad nueva. De momento Enero empieza con los dos primeros tomos de la reedición de Akira, preciosa edición que tengo pendiente más de un año. De verdad que me avergüenza escribir esto, pero es que también tengo El problema de los tres cuerpos, Homo deus o Utopia for realists. Se viene 2022 con mucha lectura.
Aprender a revelar en blanco y negro
En esta creo que Kalte podría echarme una mano, aunque también Basel. Su canal sobre fotografía analógica me dan ganas de comprar algo más que carretes para las Polaroid, y aunque me encanta Carmencita Film Lab creo que estoy dispuesto a aprender el viejo y sacrificado oficio de, no solo hacer fotos, sino revelarlas y ver si no te has cargado el carrete en un desesperado intento de buscar otro hobby más para llenar ese vacío existencial que el capitalismo crea en nosotros tras trabajar 8 horas al día y no saber qué hacer con nuestras vidas. En realidad la fotografía analógica se remonta a 2014 (tiempos de Flickr), cuando compré en eBay una cámara Yashica réflex analógica y empecé a tirar carretes y dejar de comer para pagar los revelados que hicieron que dejase la fotografía. Salidas a hacer fotos aisladas y otros conatos de vuelta durante estos años han mantenido viva la llama de la fotografía, así que aprender a revelar es quitarme el factor económico de encima y darle una nueva vida a las 6 o 7 cámaras analógicas que tengo.
Otra tarde de tenis sin tenis
Cuatro cursos programación
O lo que sea. El COVID destrozó por completo mis ganas y posibilidades de terminar un master por lo que ahora simplemente quiero mantenerme en la rueda del aprendizaje a base de cursos. Este año me propongo terminar uno cada 3 meses. Tampoco le pido mucho a lo del aprendizaje continuo, solo estar actualizado o aprender cosas nuevas en el poco tiempo libre que tengo. Igual que la lista de libros, tengo mil cursos en Udemy esperando. No costaron mucho pero estaría bien darles un uso.
Lanzar 3 proyectos (sin fliparnos)
Tengo tres proyectos en fase de planificiación / definición y quiero lanzarlos a lo largo de 2022. Uno de ellos está a medias y es una web, otro es un side project pequeñito y el otro podría ser una startup con algo de gancho. La sombra de lo que Dunkelheit & Draper aspiraba a ser al principio de 2020 es larga, pero poco a poco vamos encontrando oportunidades y nuevas historias que contar bajo su marca. Funcionen o no, se usen o no, es una forma de aprender y perder tiempo y dinero muy honorable. Hay gente que se lanza al crossfit, yo a estas mierdas.
Ver 30 películas
Y no necesariamente en el cine. 2021 estuvo muy muy ausente de películas en mi vida. Necesito darle caña a las listas en Netflix, HBO, Prime y Disney +, y para empezar tenemos Mujercitas (2019) a mitad y me he dejado Matrix Resurrections para 2022. Empezamos fuerte y son solo 30. Números de rookie, pero es que no hay tiempo.
Escribir todas las semanas
Uno no decide hacer un artículo con una lista aleatoria que se le va ocurriendo sobre la marcha un domingo por la tarde así como así. Quiero volver a escribir, quiero retomar el blogging y de hecho la decisión de que esta web sea un WordPress es un 80% poder tener un blog sencillo en el que vomitar lo que me de la gana. Quiero escribir un artículo todas las semanas de lo que sea, y el hecho de ver películas y leer libros en principio debería facilitar las cosas. Debería. Obviamente tienen que tener una longitud de unas 450 palabras y tener algo de contenido, de chicha, de movidas. Tiene que ser una hamburguesa especial como la que nos acabamos de comer en Angus (la mía de carne de potro 🐴) así que tampoco vale escribir por escribir. Este post, por ejemplo, tiene contenido, tiene intención, desvarío, desarrollo y conclusión, que viene ahora. Esta es la clase de post que quiero escribir. El post de GQ de tercera regional.
Propósitos medibles. Era mi principal intención con los míos. Normalmente, otros años, iría con propósitos más generales o totalmente fuera de alcance. Este año no me he dejado llevar y he ido a por unos más o menos "asequibles" y otros más complicados pero medibles. He intentado poner siempre un número para determinar si lo he cumplido o no, y además del Apple Watch para medir entrenamiento, he instalado una app para medir el progreso de los diarios, cómo seguir la dieta o leer. A final de año haré un recap para ver cómo ha ido y, por lo menos, tendrá que ser dentro de 51 artículos, cuando hayamos escrito todo el año y 2023 esté a la vuelta de la esquina.
Llevo cerca de 7 años trabajando como ingeniero de software. He tocado tecnologías, frameworks, lenguajes, bases de datos, sistemas operativos... Me he enfrentado junto a profesionales increíbles a retos y problemas que parecían no tener solución en el momento 0, cuando lo encontrábamos de frente. En una ocasión me quedé 17 horas despierto migrando un entorno on-premises a Azure y en otra ocasión mandé 10.000 emails erróneos de prueba a clientes en producción. Been there done that.
Cuando echo la vista atrás, recuerdo vagamente todos esos detalles. Creo que son anécdotas de algo más grande y que de verdad considero debería documentarse seriamente en cualquier empresa, proyecto o ámbito: soluciones. Como quién se hace chuletas para aprobar un examen, documentar soluciones a problemas que encontramos puede ser la mejor forma de documentar nuestra carrera.
Las tecnologías vienen y van, los frameworks nacen, se popularizan, se usan y se olvidan, tu rol hoy es X mañana es Y. Las soluciones se desarrollan, se entienden, se aplican y perduran.
Durante los últimos 5 años he ido escribiendo y documentando gran cantidad de lo que he ido haciendo en diferentes empresas: problemas, su análisis, posibles soluciones, arquitecturas, roles, tecnologías... He ido apuntando desde lo que iba a decir en una daily hasta un diagrama a una arquitectura hecha con rectángulos y triángulos. Un diario de todo lo aprendido como ingeniero.
Con el tiempo empiezas a apreciar los problemas, su análisis, el pensamiento lateral, la documentación, el logging... Aprecias esas herramientas intercambiables, independientes y universales en el desarrollo de software que hace que trabajar en esto no sea una put locura infumable apta únicamente para tarados mentales residentes en un sanatorio de Dakota del Norte. Permiten tener algo de control en el caos que es el software.
En cualquier caso, esas libretas que rellenes con todo lo que vas aprendiendo son tu historia como profesional. Son la historia de cómo has llegado hasta aquí, las soluciones que has aplicado a los problemas que te has encontrado, independientemente de las herramientas que uses para solucionarlas. Son tus soluciones.
También hay que decir que nadie repasa sopas de letras hechas hace años, pero la forma en la que las abordas perdura en el tiempo, y sus enseñanzas pueden valer la pena en un futuro para ti o para alguien más. Los problemas en software son finitos mientras las necesidades y posibilidades lo sean. Muchos son repetitivos, y a lo largo de los años vas encontrándote con los mismos una y otra vez. En ocasiones podrás usar las mismas soluciones, en ocasiones habrás de actualizarlas y en ocasiones tendrás que aplicar tierra quemada y pensar en algo nuevo. Pero documéntalas. Pon énfasis en aceptarlas, abrazarlas y almacenarlas para el futuro.
Deja constancia de tu ingenio. Dale algo de base a tu yo futuro o a cualquiera que te rodee. Quién sabe cuando repasarás sopas de letras resueltas en Matrix.
En este blog hablo de fotografía, tenis, cultura pop, ansiedad, vieojuegos, música o cine.
Mi nombre es Carlos, aunque mi madre me quería llamar Isidro. Nací en Sax, creé mi primer blog en 2007
y tuiteé peligrosamente durante muchos años. Estudié ingeniería informática en Valencia y trabajo como
ingeniero desde 2015. En 2023 me mudé a Bruselas y cuento la experiencia desde este blog.
Lee, deja un comentario, comparte con tus amigos, invítame a una cerveza y pasa un buen rato.
También puedes enviarme un correo. No lo sé, disfruta.