La importancia de respetar a quien comparte

En las comunidades relacionadas con el mundo del desarrollo de software tenemos una cosa muy buena y es la gente que se anima a compartir su experiencia, lo que ha aprendido e incluso código para que otros desarrolladores puedan aportar valor en su día a día, sin privarse de invertir tiempo con los suyos.

Cuando tratamos con seres humanos siempre hay conflictos, cada comunidad tiene sus puntos de vista, prioridades y temáticas que se consideran más o menos prioritarias e importantes. También hay egos, malentendidos y estos se incrementan gracias a Twitter, que puede llegar a actuar como un auténtico detonador y dispatcher de basura.

Esta semana Josue Yeray ha compartido las causas de su burnout como ponente y aunque habla de las comunidades .net, he visto cosas parecidas en otras de otras tecnologías e incluso fuera del sector, en sectores que no tienen nada que ver, como el de la traducción.

Yo mismo he sufrido este burnout. Creo que lo más lamentable que he sufrido fue cuando el años pasado otro ponente apoyó su charla en criticar a la mía en el mismo evento. No me importan los chascarrillos o incluso los hachazos, pero no los tolero cuando van con el objetivo de pisar al otro. No necesito esto. No estoy en un evento ni quiero crear comunidad para esto.

Esta experiencia y otras me hicieron reflexionar y pensar si tenía sentido el participar en este tipo de eventos en los que parece que estamos perdiendo la perspectiva de compartir para en su lugar, tratar de competir por lo que sea.

Lo importante es compartir

¿Por qué compartimos? No creo que haya una única razón. En ocasiones he escuchado que es porque tenemos ego y en algunos casos, es un motivante real que hay que gestionar en la comunidad. Pero creo que aunque en esos casos ese sea el motivante inicial, poco a poco te das cuenta que tienes más que callar que hablar. Y te das cuenta porque conoces a gente, gente que nunca ha dado una charla que te enseña más con una cerveza en la mano que en toda una conferencia.

En serio, he compartido cervezas* post-evento que me han llevado después a búsquedas de Google que me han tenido leyendo durante horas, invirtiendo unos euros en la Kindle Store, LeanPub o en Safari Books Online, para crecer un poco más como desarrollador de software. Y lo más importante, he conocido a personas geniales.

Por lo que los ponentes, hablo por mí al menos, creo que con el tiempo tendemos cada vez más a dejar la idea clave que genere debate en las preguntas o cañas de después. Más que nada porque todo el mundo tiene algo que aportar y el ponente también puede recibir valor en el evento.

En los eventos no se comparte solo en las charlas. Las charlas siempre son la excusa para ir y conocer a un montón de gente interesante.

Valorar lo que se expone y a quien expone

Cuando organizas eventos de comunidad, sobre todo si son constantes, te das cuenta de la importancia de contar con gente que se anime a dar charlas.

Muchas veces son los organizadores los que repetidamente dan charlas porque en su comunidad no surgen voluntarios.

Por eso para mí, independientemente del nivel de la charla, alguien que se sube al escenario para hablar a 10, 300, 1000 personas, tiene mi respeto.

A menos que te dediques a dar charlas, impartir una ponencia supone encontrar espacio de tiempo para preparar el tema: recopilar mentalmente tus conocimientos y experiencia sobre el tema, estructurarlo para exponerlo sin aburrir en el tiempo que tienes, buscar información y recursos que complementen a aporten valor en los slides y por supuesto, ensayarla una y otra vez para asegurarte de que transmites bien la idea sin pasarte de tiempo.

Todo esto se complica porque tienes trabajo y una vida a la que atender. Al margen de tus deadlines, entregas, marrones de tu día a día, tienes en mente la charla que debes dar y hasta que no la das, estás con ella en la cabeza, por muchas tablas que tengas.

Por todo esto, creo que alguien que tome la iniciativa y se anime a compartir, debe ser respetado y valorado. Sobre todo si es constante, la constancia es oro.

Tú también puedes exponer

Como he comentado antes, suele pasar que a veces el motivante de querer dar una charla sea el ego. Esto genera conflictos o frustración entre miembros de la comunidad que quieren visibilidad en eventos grandes.

A veces esto va relacionado con la expectativa de hacer marca personal o currículum a base de dar charlas. Esto pasa mucho sobre todo en temáticas de moda o que tienen más tracción.

Podemos entrar a debatir si esto es bueno o malo. Sin embargo, aunque el objetivo de un profesional sea faisanear hacer marca personal, si el resultado implica que la comunidad se alimente de su experiencia y conocimiento, para mí no me parece algo malo.

Sí que veo problema cuando esto lleva a criticar o crear mal rollo en la comunidad ante la frustración de no disponer de una oportunidad para hablar.

Pero lo cierto es que hay oportunidad para hacerlo. Como dice Yeray, puedes participar en comunidades que estén deseando que alguien se anime a dar charlas (hay muchas más de las que se cree) e ir cogiendo tracción y soltura.

Si no te identificas con una comunidad en concreto o no conoces ninguna, puedes montar una tú con la gente que conoces. Al final, se trata de crear un movimiento.

También dispones de un canal brutal para empezar: YouTube. En serio, se pueden hacer infinidad de cosas e ir cogiendo tracción.

Pero sobre todo creo que lo importante es conocer a gente de fuera de tu círculo y descubrir que lo importante, al margen de marcas, es compartir y crecer en conjunto.

*Nota: con respecto a las cervezas en los eventos, no me refiero a tener que beber únicamente alcohol. A mí me encanta la cerveza y creo que es algo común a muchos desarrolladores, pero no es exclusivamente a lo que me refiero. Es interesante leer el artículo de Pablo Godel sobre el alcohol en conferencias.

 

 

 

 

 

 

 

Trabajar en remoto

10748111_1534441890135825_555708309_n

Hace unas semanas leí un genial artículo de Jurgen Appelo que llevaba el título “Stop remote working“.

En dicho artículo el autor defiende la idea de que a veces se dice que decimos que trabajamos en remoto, como si estuviésemos trabajando en un sitio diferente al que deberíamos trabajar. Y es que si podemos trabajar desde cualquier lugar con conexión a Internet y visado, el mundo entero debería ser nuestra oficina.

Estamos hartos de escuchar el término “nómada digital” como si fuese una doctrina a seguir, pero realmente esto es solo una elección en la forma en la que trabajas. No necesitas ser un nómada, ni trabajar en remoto pero si quieres, puedes hacerlo.

De hecho hay personas que no quieren trabajar en remoto. Muchas personas valoran el ir a una oficina y ver cada día a las personas con las que trabaja en equipo. Esto es muy respetable y de hecho comprensible, es muy importante ver físicamente a las personas con las que trabajas. Comentaré más adelante en detalle sobre esto.

También hay personas que no están preparadas para hacerlo. Yo mismo no lo estaba la primera vez que estuve trabajando como empleado en remoto y también como autónomo. Tuve que aprender con el tiempo, sufriendo las consecuencias de malas prácticas en cuanto horarios, elección de clientes/proyectos y comunicación.

Valoro mucho haber pasado por la experiencia ya que con la misma he conseguido finalmente tener control sobre mi vida mejorando como profesional y también como persona.

Esta experiencia también me ha hecho fijarme en otras aptitudes distintas a las técnicas y más cercanas a las personales cuando elijo con quién quiero trabajar, ya sean clientes, proveedores, socios o colaboradores.

En los últimos años he trabajado con muchos clientes, incluso con reticentes a trabajar en remoto. Es cierto que aún queda mucho para que sea lo normal no solo en España, sino en todo el mundo. Creo que esta reticencia es algo cultural y de hecho, la cultura de la propia empresa ha de adaptarse poco a poco a este cambio.

Cuando trabajamos de esta forma, desde fuera muchas veces pareciese que estemos totalmente solos. Que estuviésemos inmersos en una clase de burbuja-locura que de un momento a otro nos vaya a provocar una especie de “fiebre de la cabaña”, como a Jack Torrance en El Resplandor.

Pero la realidad es que lejos de trabajar solos, tenemos un ecosistema virtual montado en el que pasan muchas cosas cada día. Estamos en constante comunicación con profesionales de diferentes culturas y países, resolvemos varios problemas a lo largo de la jornada y todo ello sin dejar enfriar el café.

Voy a centrarme en explicar mi punto de vista sobre algunas de las cosas que más me suelen preguntar sobre este tema y después os presentaré un proyecto en el que hemos estado trabajando Diego Rodriguez y yo en las últimas semanas con el objetivo de que si quieres, puedas trabajar en una ciudad distinta cada día.

Herramientas

Creo que nunca hemos tenido tantas opciones y herramientas que faciliten la comunicación entre los miembros de un equipo. Tenemos Slack, Trello, Evernote, Basecamp, Telegram y un largo etcétera de opciones con app móvil multiplataforma y mensajería IM. Incluso tenemos teléfono.

Pero el problema no está en la herramienta, sino en la comunicación. Existiendo comunicación, puede servir perfectamente un archivo de texto plano compartido por dropbox.

Dicho esto, personalmente prefiero Evernote o Slack junto a Skype o appear.in, pero hay miles de opciones más.

Comunicación

Es clave que la gente con la que trabajes sepa comunicar bien, tanto por escrito como por audio. Esto también incluye clientes y proveedores.

La comunicación es algo caro en dinero, en tiempo y a veces, también en salud.

Para mí comunicar bien se puede resumir en lo siguientes:

  • No mentir
  • Si hay algún problema, necesitas ayuda o hay algo que no sabes hacer, decirlo cuanto antes.
  • Si utilizas la ironía o eres “gracioso”, tener en cuenta la cultura del receptor, que puede no estar acostumbrado a tus bromas. Especialmente si no le estás viendo la cara.
  • Si no se entiende algo, preguntar, aunque sea quinientas veces.
  • No divagar e ir al grano cuando se está discutiendo algo en concreto.
  • Y lo más importante, no guardar silencio durante días por verse saturado.

Sensación de avance

Este es el punto en el que más insisto cuando trabajo con más gente en remoto, y va muy unido al tema de la comunicación.

Lejos de buscar tener un control obsesivo de cada parte del proyecto, considero importante compartir y actualizar todas las tareas en las que el equipo está trabajando, indicando quién está encargándose de cada una. También es importante ver cuáles se han completado.

Que cada miembro del equipo vea que se están haciendo cosas y quién está haciendo qué, creo que es lo más importante para tener motivación y la sensación de que el barco está realmente en ruta avanzando hacia algún sitio .

En metodologías ágiles existe el concepto de “daily“, una reunión breve en la que el grupo se reúne diez minutos cada día para ver lo que se ha hecho, lo que se va a hacer y si hay algún problema a solucionar.

En algunas ocasiones, no es posible reunirse cada día, pero sí que veo crítico hablar cada semana al menos.

Aunque trabajemos en remoto, también es importante verse en persona cada cierto tiempo. Por muy acostumbrado que estés trabajando solo, nada te carga más las pilas y te da la sensación de estar realmente en un equipo que el ver físicamente a las personas con las que trabajas día a día. No solo para firmar en una notaría cosas o discutir sobre cómo implementar una funcionalidad, sino también para recordar batallitas compartiendo unas cervezas.

Horarios

Realmente esto es lo que menos me preocupa cuando trabajo con más gente en remoto.

Aunque viene siempre bien una ventana de al menos una hora en la que coincidamos, tampoco es algo relevante para mí si hay buena comunicación por escrito.

Como nota personal y aunque sea tentador, si que recomiendo no trabajar de noche. Es genial no tener interrupciones telefónicas o de otro tipo, pero también tu vida social puede verse tocada, siendo muy fácil caer en una rutina en la que pasen días sin que hables con otras personas.

Cuando tengo que realizar labores que me exijan foco o creatividad como por ejemplo programar o diseñar, he aprendido que es mejor tener horarios para responder mensajes de email, llamadas o de mensajería y respetarlos rigurosamente antes que quedarse toda una noche programando.

Lugares y personas

Yo no soy nómada. Aunque me suelo mover bastante, por lo general suelo estar trabajando y viviendo de continuo en una ciudad determinada y luego cambio al cabo de un par de años. Me gusta esta libertad y seguramente en algún punto de mi vida decida quedarme en una ciudad ya “para siempre”.

Normalmente si no vivo con nadie más, suelo acondicionar parte de mi casa como si fuese una oficina y trabajar allí en los horarios que me haya puesto ese día. Quizás vaya a alguna cafetería alguna mañana, aprovecho para quedar con alguien y matar alguna tarea desde allí antes de que llegue.

Si vivo con alguien más, entonces suelo buscar con quien compartir oficina o algún coworking en el que haya un mínimo de vida, aunque prefiero lo primero. Si vivo con más gente me resulta muy complicado trabajar en casa, a menos que esa persona no esté en casa durante mi horario de trabajo.

Independientemente del lugar en el que trabaje en mi ciudad/pueblo “base”, sí que me gusta viajar puntualmente y moverme a otras localidades, trabajando durante unos cuantos días o incluso una semana desde las mismos.

Personalmente este cambio de contexto me carga mucho las pilas, ya que no solo conozco ciudades o pueblos que de otra forma igual no visitaría en modo turista, sino que puedo conocer a nivel profesional personas que están trabajando día a día en ellas, organizando comunidades y otro tipo de iniciativas interesantes.

Esta experiencia es un tipo de workation forzada y fiel a la definición del término, suele ser muy productiva tanto a nivel de trabajo como a nivel personal.

Por qué hemos creado rentmydesk.com

Tanto Diego como yo creemos que herramientas tipo linkedin cojean en la parte de conectar realmente a las personas en el mundo real y esto es algo muy importante en RentMyDesk.

Para las empresas cada vez es más importante conseguir captar talento para sus equipos, buenos proveedores (diseñadores, traductores, programadores, escritores…) y también obviamente, clientes. Con una herramienta así pueden recibir visitas de personas que cumplen con sus criterios viéndolas trabajar desde su misma oficina y compartir puntos de vistas profesionales.

Por otro lado, los freelances y otros profesionales acostumbrados a trabajar en remoto, pueden organizarse viajes a ciudades que quieran visitar, conociendo, trabajando y compartiendo cafés con personas y empresas que están haciendo cosas en esos lugares. También es una buena alternativa a trabajar en el aeropuerto mientras esperas a tu vuelo con un café de discutible calidad.

Ya tenemos un MVP desarrollado en beta privada. Si tienes un hueco en tu oficina y te apetece rentabilizarlo o atraer talento, ponte en contacto con nosotros. El servicio es totalmente gratuito.

El buen desarrollador de software

Strip-Faire-payer-la-formation-650-finalenglish-1 (1)

Llevo un tiempo pensando en lo que es para mí ser un buen desarrollador de software y los puntos que nos pueden hacer ser justo lo contrario.

Desde hace bastantes años trabajo y comparto proyectos con un número variado de profesionales, bien personas o agencias a las que delego trabajo o bien que me lo delegan ellos a mí. Este texto se basa en esta experiencia.

Por otro lado debo decir que, algunas de las cosas “malas” que destaco en este texto no solo las he visto en otros profesionales, sino que también las he visto en mí mismo cuando empezaba bastantes años atrás o al cometer errores a lo largo de mi carrera profesional.

Por lo tanto es una visión muy personal de nuestro mundo y no pretendo tener la razón absoluta. Los comentarios siempre se agradecen.

No tener una actitud de gilipollas

Somos unos privilegiados al dedicarnos a desarrollar software en estos momentos. Podemos asegurar que no hay paro en nuestro sector y que siendo inquietos, actualizándonos y currándonoslo un poco podemos trabajar desde prácticamente cualquier sitio del planeta (siempre que tengamos visado y conexión a Internet).

Es posible que en un futuro esto cambie y que mucho del trabajo o tipo de proyectos que estamos realizando en estos momentos se podrán sustituir por APIs o servicios cloud. Pero el presente es el que es y se puede vivir genial desarrollando software.

Pero este privilegio no nos da derecho a comportarnos como cretinos. Chantajeando a quien nos contrata o criticando en público a quien oferta porque en Londres cobrarías en triple y te irían a buscar a casa en un taxi de esos negros molones. Hablaré de este tema más en detalle más adelante en esta misma entrada.

Dominar el framework javascript de moda no te da derecho a ir por la vida con la actitud de un House desarrollador de software. House era un payaso pero al menos salvaba vidas (en la ficción).

Mejor un trabajador responsable que un ninja

Puedes cambiar el término “ninja” por lo que desees, incluidas siglas de certificaciones oficiales.

Al final de lo que se trata es de sacar trabajo adelante. Y de poco sirven las charlas que hayas dado, los tags que uses en Twitter o las pegatinas que tengas en tu Mac.

Tener capacidad de respuesta es algo muy valioso en un desarrollador para mí, mucho más importante que sus títulos o marca personal.

Es muy habitual la decepción que puedes llevarte al comprobar como una persona que es rockstar en Twitter u otros escenarios, desaparece en mitad de un proyecto para finalmente salir del mismo porque se ha visto saturado o simplemente no le gusta que se use una tecnología o herramienta X. Me parecen actitudes de chavales de catorce años. Sin ánimo de ofender a los chavales de catorce años.

Al final lo que se desea es tener en tu equipo gente con la que puedas contar. Puede que no controlen a un nivel brutal la última versión de Angular o hayan participado en un proyecto de gran tráfico o que hayan escrito libros sobre la última librería javascript de moda que dentro de dos años no utilizará nadie, pero es que la mayoría de las ocasiones tampoco hace falta.

Lo que sí hace falta son profesionales responsables que acaben el trabajo de forma correcta y sin tonterías.

Comunicación

La comunicación es otro valor clave.

A todos nos surgen imprevistos, nos equivocamos o puede que pase algo fuera de nuestro control que nos impida hacer nuestro trabajo. Comunicar cuanto antes cualquier imprevisto ayuda a poder resolver la situación, callarse siempre es una mala opción.

Lo mismo que si una frase o acto de otra persona en el equipo te sienta mal o no estás motivado por algún problema.

Personalmente valoro mucho quien sabe comunicarse cuando las cosas van mal o hay presión en un proyecto. El coste de comunicación es un precio muy alto que se puede pagar al trabajar con un equipo o una persona equivocados.

Saber comunicar correctamente tus ideas cuando trabajas en equipo, escribir bien y expresarte bien es una habilidad que en mi opinión nos hace mejores desarrolladores.

Esto me parece especialmente importante cuando se trabaja en remoto. Cuando no ves la cara del otro ni escuchar su voz, el texto lo es todo. Es crítico en estos contextos cuidar mucho cómo escribimos.

Comunicar también es escuchar.

Algunos podemos tener carácter, prejuicios por falta de perspectiva o simple cabezonería, somos humanos. Muchas veces incluso teniendo experiencia caemos en estas cosas. Y muchas veces, debatimos con ímpetu aun estando equivocados.

Creo que tanto si eres el que argumenta estando o no equivocado como si eres el receptor, debes escuchar lo que esa persona te está diciendo, sobre todo si tiene experiencia. Las lecciones más valiosas las aprendemos cuando estamos equivocados y cuando nos argumentan el por qué. Y son doblemente valiosas cuando el/la que nos alecciona tiene menos experiencia que nosotros.

Y aunque en ese momento no lo veamos, sin duda quedará en nuestra mente y será un recurso muy valioso cuando toque darse cuenta de nuestro error.

Pragmatismo VS curriculum oriented development

No es “sexy” (y madre mía con lo de “sexy” para hablar de frameworks y lenguajes…) desarrollar una API REST en php y mysql, teniendo Go, lenguajes como Erlang y OTP que existen desde los 80 pero que las hemos descubierto hace cuatro años o bases de datos como MongoDB que “escalan”, “son rápidas” (porque sí y ya está) y que las usan en esa empresa que tiene un “CEOfounder” de 24 años.

Estás desarrollando un producto y lo que importa es el valor. Entregar el máximo valor, con la calidad mínima necesaria consumiendo la menor cantidad de recursos de tiempo y dinero.

La tecnología es algo crítico pero no es lo más importante. Son nuestras herramientas, pero ya está. Nuestro recurso más valioso es la capacidad de crear con ellas usando nuestro criterio. El dominio de las mismas es importante, entrenar con ellas es importante, pero no tan importante como el entregar y entender lo que estamos desarrollando.

Creo que un desarrollador orientado a la herramienta no es un buen desarrollador, es mi opinión personal y mi opinión como cliente.

Por otro lado valoro también mucho el pragmatismo.

Está muy bien que la plataforma web tenga una arquitectura basada en servicios con una implementación de Inyección de dependencias muy currada y que también, se haya tenido en cuenta la separación de orígenes de datos para poder distribuir la carga entre varios frontales web, varios servidores de lectura y escritura a nivel de base de datos y las operaciones pesadas gestionadas por sistemas de colas asíncronas. Todo esto está muy bien. Pero al final si el proyecto es nuevo y va a tener un crecimiento natural, es posible que no se vaya a necesitar orquestar una arquitectura de ese tipo en seis máquinas o instancias virtuales en la nube de turno y puede que con un servidor en un hosting tradicional vayamos sobrados.

No necesitamos añadir coste al cliente de mantenimiento de sistemas o coste extra de servicios cloud porque a nosotros nos ponga cachondos tener una arquitectura de las que salen en blogs como High Scalability.

Y por último: el pasar de frameworks, ORMs y complicar el mantenimiento por trucos de rendimiento cuando no tienes este tipo de problemas, personalmente me parece condenar al proyecto a tener que reescribirse en un futuro por la cantidad de esfuerzo que puede suponer hacer cambios mínimos y el terror también de subirlos a producción.

Trabajando por cuenta ajena y las ofertas de trabajo

“El águila con talento esconde sus garras”

Muchas veces me quedo atónito al escuchar las experiencias que han tenido empresarios con su equipo técnico en ciudades como Madrid, Londres o San Francisco.

Cretinos sin ningún tipo de escrúpulos que hacen chantaje a sus empleadores amenazando con irse de la empresa porque han recibido en el último mes un montón de peticiones de amistad de recluiters en linkedin.

Chantajes que van desde imponer el uso de una tecnología/frameworks “o se van”, irse sin avisar ni decir nada una tarde de la oficina porque tenían un partido de fútbol o simplemente porque había un evento en la oficina molona de turno de Madrid.

La verdad me sorprende el aguante de sus jefes por miedo a perder “talento” o capacidad de ejecución, reteniendo un equipo tóxico a ese nivel.

“Que cierre su empresa si no sabe llevarla” He llegado a leer esto cuando un empleador anuncia una oferta de trabajo por debajo de los 32000 euros anuales a un desarrollador, sin entrar a valorar su nivel.

“En Londres me pagarían X” Pues ve a Londres y disfruta de este sueldo. Es posible que al irte, la gente que contrata a programadores en este país se de cuenta del vacío que has dejado, la gente que organiza eventos deje de hacerlo porque ya no merece la pena y el mercado del desarrollo y de Internet en España se colapse. Que se jodan, por no valorar el talento que alguien que va a comisión ha visto en tus aptitudes de Linkedin.

Pero desde luego yo no quiero trabajar con gente así. De hecho no quiero personas así a mi lado.

Montar un negocio se ha convertido en un espectáculo en el que cualquiera puede opinar sin vivir la experiencia de hacerlo. Pero la realidad es que los ataques a empresarios que están empezando y ofrecen sueldos humildes, no mejora el mercado.

Me parece muy respetable buscar el mayor sueldo posible, pero la mayoría de los lugares en los que te van a ofrecer trabajar no van a poder competir con otras empresas en eso. Y es respetable que no quieras trabajar por menos de lo que vales o creas que vales, pero montar un espectáculo en Twitter o en foros me parece bastante infantil y tóxico.

Al mundo real le dan igual las pataletas y la gente realmente competente habla poco y hace más.

Los programadores que realmente pueden elegir dónde trabajar lo hacen sin montar espectáculos. Si no les interesa lo que se oferta, se van a otro sitio sin montar un drama.

Todo lo demás

Y en último lugar es importante todo lo demás. Escribir buen software, mejorar como desarrollador día a día, mejorar nuestro nivel de inglés para comunicarnos y aprender de otros desarrolladores, aplicar calidad y entrega continua, autoformarnos en nuevas herramientas para que con criterio, las podamos utilizar cuando sea el momento y contexto adecuado.

Personalmente, algo que últimamente me parece importante es volver a repasar conceptos y mejorar mi nivel de matemáticas. Al margen de todo el postureo relacionado con algoritmos (otra moda-pesadilla), mejorar en esto viene muy bien para comprender cómo funcionan algunos sistemas y tras años de experiencia programando se ven de otra forma los conceptos que cuando los estudiábamos no los veíamos para nada útiles. También es útil para delegar trabajo en matemáticos que se encarguen de idear los algoritmos que implementemos en nuestras aplicaciones o software.

Considero también importante dominar otros campos y tener hobbies. Nos dan perspectiva, conocemos a gente distinta y salimos de nuestra zona de confort.

De hecho veo importante conocer otras personas muy distintas del mundo del software, creo que nos pueden dar puntos de vista e inspiración que nos hacen mejores desarrolladores aunque no seamos plenamente conscientes de ello.

Producto y empresa

Me encuentro en un momento de reflexión personal que tiene como objetivo decidir si en los próximos cuatro años invertiré en ampliar mi formación en diseño (y gestión) de producto o si apostaré en formarme muy en serio en el ámbito de empresa.

Lo que he aprendido y conseguido con la práctica en ambos campos durante los últimos diez años me hace estar hambriento de seguir avanzando para alcanzar un buen nivel de conocimiento y experiencia en los mismos.
De hecho, no es que vaya a dejar de formarme en un campo por profundizar en el otro (no funciono así) pero sí que esta decisión es lo suficientemente importante como para condicionar mis próximos pasos.

Hace años hice la reflexión de que la tecnología es algo que me gusta pero lo que me apasiona de verdad es crear productos. Productos que den valor y que se usen.

Gracias a mis conocimientos y experiencia puedo crear productos de software con relativamente “poco” esfuerzo e inversión, pero me encantaría crear productos también fuera del ámbito tecnológico.

Por otro lado, me apasiona vivir la experiencia en la que esos productos o servicios pasan de generar ingresos tímidamente a generar beneficios. El reto se vuelve aún más interesante cuando finalmente consigues que dichos beneficios no dependan de que tu negocio te absorba por completo, sino que te permitan crear equipos que funcionen como un reloj, con una filosofía y forma de hacer las cosas claras.

La creación y gestión de negocio es un mundo tremendamente interesante para mí, desde la parte financiera en la que literalmente es donde se aprende la realidad de los recursos económicos de los que dispones hasta la estrategia en la que diseñas los pasos que como equipo vais a dar para crecer todos juntos como empresa y como personas.

En definitiva son dos cosas que me apasionan y de las que sigo aprendiendo cada día.

Una mirada hacia el futuro

Recientemente me he abierto una cuenta en Medium donde escribiré artículos y textos más largos de los que suelo publicar por aquí o que considere que no encajan entre estas entradas.

En mi primer artículo hablo sobre los avances tecnológicos que cambiarán nuestro futuro con la llegada de los vehículos sin conductor y las mejoras (o no) en temas de salud, relaciones humanas y la música.

Puedes leer el artículo en este enlace.

Una reflexión personal sobre el leak de Ashley Madison

Desde hace unos días venimos leyendo decenas de artículos sobre el leak (filtración) de Ashley Madison, uno de los hackeos que van a pasar a la historia de Internet por la “delicadeza” de la temática del servicio.

Dicho servicio online y aplicación, al igual que otras alternativas dentro del sector contactos, es especializado en facilitar principalmente la búsqueda de personas para tener una relación adúltera.

Oficialmente tanto el ataque y posterior filtración tuvieron como objetivo el demostrar que este portal estafaba a sus usuarios cobrándoles una cuota por borrar sus perfiles y datos asociados, algo que nunca llegaban hacer tras dicho pago.

Los responsables del portal han visto cómo esto salía a relucir junto a otras malas prácticas éticas, como “fabricar” miles de usuarios femeninos falsos por ejemplo, y también malas prácticas técnicas a nivel de programación del propio software o la seguridad en general del sitio web, haciendo que finalmente el Director Ejecutivo haya anunciado su dimisión.

Pero al margen de los perjuicios que tendrá que asumir y enfrentar la empresa, los más perjudicados bajo mi punto de vista serán sin duda sus propios usuarios. Han sido expuestos públicamente a las miradas de un postureo ético sin precedentes en nuestra historia y algunos de ellos han sido puestos incluso en situaciones de peligro de muerte.

“Que se jodan por adúlteros”. En el caso de este servicio parece que “el pecado” o el “acto perverso” ha obtenido una especie de Karma. No puedo describir con palabras lo deleznable y corto de miras que me parece juzgar a una persona que no conoces de plantearse engañar o tener sexo con otra persona.

Pensaba que en nuestra sociedad y sobre todo en personas que nos dedicamos a trabajar con información, datos y creamos productos de software de naturaleza social, deberíamos tener una mentalidad abierta y valorar la libertad sexual de cada persona, al margen de lo socialmente “aceptable”. Puede que no compartamos ciertas cosas y eso me parece normal además de lo natural, pero es muy diferente no compartir una idea o acto a juzgarlo como si estuviésemos por encima de nuestros deseos más primarios y tuviésemos el poder de establecer lo que nos define como una buena persona o una persona despreciable.

Se ha podido leer como a los usuarios también se les ha tachado de insensatos o incluso “torpes” al registrarse en el servicio, como si los correos electrónicos que dichos “jueces” envían y reciben desde las cuentas de las empresas en las que trabajan o han fundado no fueran completamente accesibles por una persona o equipo con privilegios de administrador.

Los desarrolladores, arquitectos de software y profesionales de producto ya tenemos presente la importancia de la privacidad e intimidad cuando diseñamos cómo debe ser una aplicación o un servicio en Internet basado en software, a pesar de esto personalmente a mí me ha impactado ver las consecuencias y juicios sociales que ha originado este leak.

Jamás se nos pasaría por la cabeza espero, justificar a un cirujano que se niegue a operar a alguien porque haya engañado a su pareja o tenga una sexualidad concreta, pero en algo como esto me ha preocupado mucho cómo se trivializa el derecho a la intimidad de una persona, se juzga sin conocer nada acerca de la misma y se asume como karma el acto de compartir nombres, apellidos, email y ubicación exponiéndola incluso en situaciones de peligro de muerte.

Y realmente no es necesario que el producto, aplicación o servicio online tenga un fin sentimental o relacionado con conocer a personas. Al diseñar servicios como planificadores de vuelos o de viajes, una persona que utilice tu servicio puede quedar expuesta si se comparte “un plan” que forma parte de su privacidad y que no ha compartido o con su pareja, familiares, amigos o gobierno. Y dicho plan también se puede asociar con algún evento con temáticas de género, religión o motivos políticos que tenga lugar en una zona o fecha concretos.

Realmente determinadas decisiones de producto pueden influir no sólo en la vida de una persona negativamente, sino que ciertas exposiciones que en nuestro contexto social pueden simplemente no ser aceptadas, en otros contextos pueden significar la persecución y muerte de dichas personas que han confiado en los productos y servicios que les ofrecemos.

Más allá de las leyes que debemos cumplir, es importante aprender de lo que está pasando con este leak para tener una perspectiva más amplia y real de las consecuencias que ya conocemos al hacer servicios que permitan compartir información de nuestros clientes y usuarios.

Todo está bien

Hace año y medio me vine a vivir a Sevilla. Mi mente me pedía a gritos un cambio drástico en el 2013 tras pelear profesionalmente durante los últimos seis años de una forma muy dura en la zona del Gran Bilbao.

Durante esos años me enfrenté a varios retos, levantar mi anterior empresa Blackslot junto a mis exsocios, en la que ayudábamos en el día a día a clientes que tenían negocios en Internet de diversos tipos enfrentándonos a retos como el del cambio de arquitectura de un conocido portal de enlaces a series con un tráfico de cuatro millones de usuarios únicos al día. También recuerdo el crear Artesanio.com junto a ellos y el genial Jose, el forjar una comunidad técnica excepcional en Vizcaya junto a Fran, Ibon y los que nos ayudan siempre como pueden Vicenç, Eneko, Alfredo, Andoni y sin olvidar a Diego, que arrancó conmigo desde el principio. Dicha comunidad ha hecho posibles eventos como el Bilbostack y los techdays que solemos hacer en diferentes ciudades de España. Estas fueron experiencias increíbles que guardo en mis recuerdos junto a muchas otras de esos días.

Pero a pesar de conseguir hacer cosas con un éxito discutible o no, en el 2011 tomé una decisión muy difícil: salir de los dos proyectos profesionales que había estado defendiendo con mi salud y dedicación: Blackslot y Artesanio. Empecé a construir mi agencia de desarrollo de negocios para Internet Simettric y entré como socio en la empresa de mis clientes 4visionshq. Ese año me había dado tiempo a pensar en que realmente necesitaba un cambio personal con urgencia y estaba decidido a hacerlo.

Realmente esos años atrás habían significado mucho sacrificio. En esos años nunca recibimos ninguna subvención ni ninguna financiación privada externa de inversores y sin experiencia suficiente, aunque conseguimos cosas, yo personalmente cometí muchos errores. El más grave fue pensar que sacrificar mi vida personal, amistades y pareja era un coste perfectamente asumible.

Desde fuera, todo se ve muy evidente y claro, pero cuando estás ejecutando con intensidad un proyecto es muy difícil tener perspectiva si no tienes experiencia. Sobre todo si lo que más tienes es orgullo en bruto, sin pulir.

De cualquier forma en 2012, el año más duro que recuerdo con diferencia, tuve la suerte de reconciliarme con mi antiguo grupo de amigos, personas que no tienen ninguna relación con el campo tecnológico. Creo que esto fue algo que hizo que 2012 pasase de ser un infierno a simplemente ser una experiencia más gracias a disponer de una vía de escape personal diaria.

Hay una cosa curiosa con respecto al concepto de “la zona de confort”, y es que dicha zona no tiene por qué ser cómoda. Me explico, puedes estar pasándolo mal y sufriendo por los motivos personales o profesionales que sean pero aun así, aferrarte a esa situación como si fuese un clavo ardiendo.

Pero hay algo muchísimo peor a pasarlo mal o que las cosas no funcionen y es que lo hagan, pero sin permitirte avanzar para alcanzar objetivos más ambiciosos. Y creedme, si has sacrificado mucho a nivel personal, por mucho dinero que entre en tu cuenta, no se puede sentir que hayas tenido un beneficio o éxito claro.

Tampoco estoy diciendo que ganar dinero no mole, a mí me encanta tener una buena entrada de dinero. En un negocio hay que conseguir una entrada de caja potente o estás perdiendo el tiempo, algo mucho más caro que el dinero. Pero siempre hay que pensar que tú como persona, no eres tu negocio.

Ganar perspectiva

No puedo expresar lo importante que es esto. Ni creo que se pueda conseguir sin experiencia real pero hay un detalle o una forma de pensar que me ha ayudado muchísimo en los últimos cuatro años y es pensar que todo está bien.

Hace unos días Jason Fried, autor de los libros Getting Real, Remote y Rework, escribió este artículo en el blog de su empresa Basecamp (antigua 37signals). En él decía que prefería instagram a Twitter porque en Twitter su círculo cercano tendía a ser muy negativo, algo que le chocaba ya que él conocía a esas personas a nivel personal y no eran tan negativas. Esto le daba una influencia negativa que hacía contraste con instagram, que era mucho más positivo y hacía ver a sus amigos como realmente eran, sin tanta “nube negra” sobre sus cabezas.

Cuando siempre lees a las mismas personas o gente del sector hablando sobre lo mal que está todo, aunque sea en broma, por mucha seguridad en ti mismo que tengas, ese input puede llegar a influirte dudando de si realmente no es posible conseguir lo que quieres cayendo en la falsa confirmación de que no consigues lo que quieres porque todo está mal.

Sin embargo, si piensas que todo está bien, entonces el problema está en ti y en cómo estás haciendo las cosas. Igual no has tomado el camino correcto o no estás viendo las cosas con claridad.

Entonces te mueves e intentas hablar con más gente, conoces personas increíbles que hacen cosas brutales y no están ni en Silicon Valley ni en Marte, están en tu mismo país y están haciendo dinero sin renunciar a la felicidad ni a perder tampoco la ética.

Otra cosa importante para ganar perspectiva es separar tu negocio o proyecto de tu vida.

Puedes plantear tu negocio como una forma de vida, hay muchos ejemplos de esto. Sin embargo esto es muy distinto a poner tu tiempo y tu vida a merced de tu entrada de dinero. A lo que me refiero es que en tu vida puedes hacer muchas cosas, muchos negocios y proyectos, en el que estás es uno más.

Si actualmente estás haciendo los mismos sacrificios que yo hacía en su día pensarás que esto es fácil decirlo y algo también muy evidente, pero para mí no lo es. Bajo esa perspectiva, dejar de meter horas un día de una semana complicada puede significar caos y destrucción. Sin embargo, aunque hay semanas duras y algunos meses hay que priorizar, si no te tomas tiempo para ganar perspectiva acabarás por tener una nube gris encima y por perder perspectiva que afectará a la poca vida personal que te quede y al final, también afectará a tu negocio. Todo puede esperar una semana y a veces, debe esperar una semana.

La idea que pretendo transmitir es que por muy dura que sea la situación, todo puede estar bien. Si crees que trabajas demasiado para conseguir realmente poco, seguro que hay una forma de hacerlo. Si todo lo que escuchas es negativo, seguro que hay alguien que te mostrará un camino que ha podido encontrar que encaja con lo que estás buscando. Si estás trabajando en tu oficina hasta tarde por una entrega urgente, seguro que hay alguien dispuesto a tomarse una cerveza contigo cuando acabes. Puede que esto no sea en tu ciudad, país o se dé en tu círculo profesional cercano.

Pero especialmente en el mundo del desarrollo de software, actualmente se puede conseguir una muy buena calidad de vida obteniendo una buena entrada de dinero.

Sólo tienes que buscarlo.

Pet projects

El año pasado este artículo escrito por Mikael Cho tuvo bastante impacto en Hacker News y en general en el mundillo de desarrollo de servicios para Internet. En él se describía la exitosa experiencia personal del autor al crear un side project super simple mientras intentaba salvar su proyecto principal.

En el artículo también se hacía referencia a este otro artículo del genial blog del servicio Buffer donde se describen los beneficios de tener pet projects o side projects al margen de tu actividad o proyectos principales.

Y en ese genial artículo se referenciaba a este post publicado en The PsyBlog, un sitio especializado en psicología, en el que se resumían los resultados de un estudio científico publicado en este paper que recoge los beneficios de tener hobbies o proyectos personales al margen del trabajo principal.

Para el que no lo sepa, un pet project o side project, no es más que un proyecto que creas en tus ratos libres fuera de los proyectos de clientes o tu actividad principal.

Hay bastantes personas, sobre todo en el ámbito de Internet, que ven como algo peligroso el crear cosas al margen de tu proyecto principal, sobre todo si estás luchando por tu startup o tienes otras cosas más prioritarias en las que poner el foco.

El foco

Todos los que hayáis consumido propaganda para emprendedores en los últimos años hasta hartaros, habréis leído sobre la importancia del foco a la hora de crear un negocio o ejecutar un proyecto de cualquier tipo.

“Empezar muchas cosas y no acabar ninguna” es lo que en teoría el foco combate y realmente es así, si realmente se aplica en la práctica.

El problema es que no somos máquinas, somos humanos. Y creo que es genial serlo.

Pero si somos humanos y personas de perfil creativo (programadores, diseñadores etc.) es muy complicado tener la capacidad de poner el foco durante largos periodos de tiempo en un mismo proyecto sin que nuestra productividad y motivación se vean afectados.

Y no me refiero a que, de modo caprichoso, a la mínima desmotivación o cansancio abandonemos el proyecto en el que trabajemos, sino a que es posible que necesitemos desconectar para que nuestra mente recupere el foco o gane perspectiva, que creo que es algo que se puede perder si realmente se pone el foco a nivel obsesivo en un proyecto.

Pero como en toda ejecución, hay diferentes cosas a considerar cuando trabajamos en varios proyectos a la vez, sobre todo si queremos tener “sensación de avance”, algo crítico para no terminar de desmotivarnos o agobiarnos por completo.

El tiempo

“No temo a la muerte, temo al tiempo” Interstellar

No se puede luchar contra el tiempo. Cada día tenemos un número de horas muy reducidas para vivir, ser productivos y descansar.

Lo único eficaz para ejecutar cosas o lograr tener sensación de avance es hacer menos. Me encanta contradecirme, ¿a vosotros no?

¿Cómo puedo defender el aparentemente “dispersarnos” en varias cosas y decir que lo que mola es “hacer menos”? La respuesta es priorizar.

Priorizar es un arte. Cuando desarrollas software para clientes de Internet, tu foco es inexistente. Creas varios productos al año para empresas de todo tipo, al margen de los que hagas para ti mismo para generar negocio o hacer I+D.

La única forma de que no acabe todo en un desastre épico (tu vida incluida), es priorizar.

Hacer lo mínimo que de el mayor valor. Hablo de aplicar el concepto MVP a tus desarrollos y productos, pero también hablo de relativizar y aceptar lo imperfecto.

Al margen de lo que puedes llegar a pensar, el dinero no te salva de priorizar. Priorizar significa saber que el tiempo es mucho más caro que el dinero y lo que vale es alcanzar el objetivo con el proyecto que estás ejecutando, no buscar la perfección o quemar tiempo haciendo cosas que ni siquiera sabes si aportan valor al objetivo de un proyecto.

El proyecto

Lo primero que debes saber para priorizar cosas en un proyecto es saber por qué lo haces. Esto puede aliviar también muchas tensiones al llenarte la cabeza de problemas que no tocan y más aún si inviertes dinero en solucionarlos.

Por ejemplo, si decides que tu proyecto va a ser un negocio es algo genial ya que es posible que ni siquiera necesites invertir en desarrollo. Lo importante en un proyecto así  siempre es vender.

Si por el contrario decides que lo que haces es una herramienta o un I+D, que posiblemente no use nadie más que tú, es también genial ya que seguramente no tengas que lidiar ni con abogados, ni temas fiscales, ni otros dolores de cabeza asociados a temas que no son el mero hecho de “crear”. Lo importante en un producto así lo decides tú: investigar una tecnología, ahorrarte trabajo, visibilidad, aprender…

Ninguna de estas dos opciones “es mejor” que la otra. Al final tú eres el que pones el objetivo y dónde está el éxito. A nadie le debe importar más que a ti o tu equipo y esto aunque parezca evidente es algo que ahorra mucho ruido a la hora de ejecutar.

Para mí, crear algo es una experiencia similar a un viaje. Dar un sólo paso en un día es mejor que pensar en dar quinientos y al final, no dar ninguno.

Un proyecto de cualquier tipo raramente tiene un fin, sólo cuando muere. Si una persona ha creado un producto que se encuentre en la fase que sea y resuelve un problema suyo o de más gente, tanto el proyecto como la persona deberían ser respetados ya que conseguir esa meta no es algo trivial.

Por ejemplo en un proyecto Open Source, aunque no tenga finalidad económica, el que lidere su comunidad debe aprender a establecer unos estándares de calidad, buena comunicación, proteger la propiedad intelectual, ser pragmático a la hora de afrontar cambios sobre lo que el o ella habían imaginado y liderar la toma de decisiones a la hora de añadir o quitar características o funcionalidades. Todo esto al margen del trabajo del desarrollo en sí.

En nuestros días, en los que la palabra emprender ha perdido su significado, es posible que un proyecto que no de beneficio económico o no sea comprado por aparentemente una cantidad relevante de dinero sea tachado de fracaso o ignorado totalmente. Sin embargo, el beneficio tiene muchas facetas y no siempre aparece cuando lo buscas. La única verdad es que hacer cosas aporta y al igual que moverse por todo el mundo, hace que se generen oportunidades imprevistas que alimentan tu perspectiva.

El dar a conocer el proyecto

Decidamos lo que decidamos, si nuestro proyecto no es una mera herramienta para nosotros, para conseguir nuestros objetivos normalmente vamos a necesitar que el proyecto llegue a la gente.

Dos puntos importantes que he aprendido a respetar desde hace años en proyectos de cualquier tipo que se vayan a usar por personas son principalmente dos: el diseño y el copy.

Aquí adquiere mucha importancia aquello de hacer menos. Si realmente hacemos menos y tratamos a nuestro proyecto como un producto, vamos a tener menos problemáticas que diseñar y comunicar/explicar. Esto se traduce en que el coste global del proyecto (desarrollo+diseño+copy) se reduce e incluso puede llegar a ser mucho más efectivo que con presupuestos mayores pero con más problemáticas “a pulir”.

Con un buen copy, un buen diseño y un proyecto que resuelva problemáticas muy concretas podemos hacer que se entienda su valor a la hora de enseñarlo y darlo a conocer.

Sobre el canal para darlo a conocer, depende mucho del proyecto. Lo que sí es relevante bajo mi punto de vista es cuidar la comunidad en torno al mismo mediante charlas, entrevistas, desayunos de trabajo y cualquier idea loca que se pueda ocurrir para involucrar a la gente que realmente va a aprovechar el valor de usarlo.

Cuando hablo de la comunidad, no me refiero a redes sociales sino a personas. Y también al trato después de conseguirlas como clientes.

Conclusión

Desarrollar pet projects al margen de tu actividad principal puede ser beneficioso tanto a nivel profesional como personal.

Ejecutar un proyecto, indiferentemente de cual sea su objetivo, es una tarea que requiere constancia y priorizar. Si conseguimos alcanzar un equilibrio y ser conscientes muy bien de qué queremos obtener, es posible que obtengamos otras cosas que no esperábamos mientras creamos cosas muy chulas con pocos recursos.

Kintsugi

Kintsugi” es un método tradicional japonés de reparación de objetos de cerámica rotos.

Unían las piezas con una mezcla nada discreta de oro y plata.

En lugar de ocultar la unión de las piezas al máximo posible, la exponían haciendo evidente que el objeto se rompió en el pasado y tras ser reparado, se convirtió en algo nuevo, bello, singular e irrepetible.

Muy inspirador.

Kintsugi: The Art of Broken Pieces from Greatcoat Films on Vimeo.

Más madera

Últimamente estoy reflexionando mucho sobre el tipo de proyectos y productos que ideo y desarrollo junto a mis colaboradores en Simettric.

Desde que desarrollo proyectos para Internet orientados a consumidor final llevo siempre clavada la misma espina, la de no crear “productos que se puedan tocar“.

En realidad, con “productos que se puedan tocar” me refiero más bien a “productos que se puedan sentir“.

Como seres humanos, la gran mayoría de nosotros tenemos la suerte de percibir las cosas y seres que nos rodean con los cinco sentidos.

Sin embargo, cuando creamos un producto o servicio que es consumido a través de un navegador web o una aplicación móvil, disfrutamos de una experiencia de uso que en el mejor de los casos involucra vista, oído y una “aproximación” a lo que sería lo que esperamos obtener a través del sentido del tacto.

Digo aproximación porque cuando tocamos una interfaz esqueuomórfica con apariencia de madera, nuestro experimentado cerebro sabe que estamos tocando cristal y no madera.

Nos perdemos el sentido del gusto y sobre todo del olfato. ¿No sería genial que nuestras aplicaciones oliesen a nuevo cuando nos registramos en ellas y si esperamos percibir madera o metal, sintiésemos la textura o el frío en la yema de nuestros dedos?

Todo esto me lleva a plantearme lo interesante que sería aprender de otros artes como la carpintería tradicional o metálica para crear productos tecnológicos que añadan un componente artesano para ofrecer una experiencia de uso más natural a nuestros usuarios.

Foto por Mathew Knott.