deSymfony2016

Hace unos días pudimos disfrutar de la conferencia más importante de habla hispana sobre Symfony y su ecosistema. Llevaba tres años sin celebrarse y lo echábamos de menos.

Para mí, deSymfony no es solo una conferencia, es una comunidad. Una comunidad brutal. Es poder volver a ver y charlar con personas excepcionales a nivel profesional y personal.

Personas que empezamos siendo contactos y hemos acabado siendo grandes colegas profesionales e incluso amigos. Hasta tal punto es esto, que hay personas que acuden a la conferencia para compartir unos minutos con esta gente aunque ya no trabajen con Symfony o php siquiera.

Y los organizadores. Es impresionante lo que han creado y su preocupación para que todo salga bien y darnos el mejor trato posible. David Castelló, Javier López, Javier Eguiluz, Marcos Labad, Nacho Martín y también Ariel Ferrandini, son auténticos héroes no solo por hacer un evento como este, sino por cuidar de esta comunidad y escucharla.

Este año tenía como objetivo tomarme un descanso de dar charlas pero la excepción ha sido obligatoria para este evento.

Se me había olvidado la presión por el nivel del resto de ponentes y de los asistentes. Y es que deSymfony se caracteriza porque cualquiera de los que están entre el público puede dar una ponencia de nivel.

He echado en falta a grandes amigos que no pudieron venir a España para acudir a esta cita, espero poder volver a verles pronto para compartir un café o unas cervezas.

Ahora solo queda esperar al próximo deSymfony, que estaría genial volver a disfrutarlo en una ciudad más pequeña que Madrid o incluso en algún pueblo de los que tenemos repartidos en España, para que la experiencia sea tan brutalmente buena como lo ha sido hasta la fecha o incluso mejor.

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.

Mis últimos cuatro meses

Hace cuatro meses me establecí en Cihuri, La Rioja con el firme propósito de realizar cambios en mi agencia Simettric e impulsar ideas de servicios que se desarrollarían como producto propio de la misma.

Haciendo retrospectiva, básicamente esto cuatro meses han sido de acondicionar mi zona de trabajo, conseguir una buena instalación de fibra en un pueblo de unos 200 habitantes, diseñar los servicios a desarrollar y coordinarme con las personas con las que los estoy llevando a cabo.

En mi mente esperaba tener ya al menos un par de MVPs en el mercado pero la realidad siempre nos termina dando un guantazo que nos estampa contra el suelo. El mayor guantazo ha sido un pequeño susto en uno de mis ojos –por una cicatriz en la córnea que me acompaña desde hace algunos años, pero ya estoy totalmente recuperado.

En estos momentos no me motiva la idea de hacer crecer una agencia que ofrezca únicamente servicios de desarrollo de software a clientes, como otra más. Esto me ha llevado a parar la entrada de proyectos de clientes durante este periodo.

Realmente los servicios de desarrollo de software generan una entrada de caja muy atractiva a corto plazo pero son muy caros en tiempo. Para que no absorban todo el tiempo del que dispones hay que saber digerir la demanda, saber elegir a tus clientes y gente con la que sacas el trabajo adelante, gestionar muy bien tus recursos y definir el producto a desarrollar.

Por ello, el combinar los servicios de desarrollo para clientes con el desarrollo de producto propio parece una utopía muy difícil de conseguir, imposible incluso si lo haces desde España. Llevo cinco años invertidos en transformar esta utopía en una realidad. Este será mi tercer intento, quizás el más agresivo.

Creo que una de las mejores decisiones que estoy tomando es la de ejecutar los proyectos con otra gente que –a excepción de uno de los mismos– son de otro perfil distinto al tecnológico.

Al margen de Simettric, en 4visions estamos haciendo avances muy significativos y es un momento muy emocionante para todo el equipo. Es el momento en el que ya tienes los productos en el mercado, mides su uso y vas consiguiendo las primeras ventas de suscripción. Cualquier persona con experiencia vendiendo SaaS o hosting sabrá exactamente de lo que hablo.

En el plano personal, este periodo de tiempo que puede parecer bastante breve, ha sido invertido en una reflexión mental muy intensa, muy útil para definir próximos pasos de una estrategia a medio-largo plazo pero también para deshacerme de prejuicios y alguna otra cosa que te van agotando sin aportarte valor. Creo que podría definirlo como una recarga de baterías mientras defino las bases de lo que se va a construir el año que viene y en los próximos años.

He empezado a deshacerme de cosas que tenía que gestionar y que no me aportaban nada en realidad, solamente ruido. Por ejemplo, he vendido a precio de coste casi todos los dominios que tenía sin utilizar y  algunos incluso los he dejado caducar. Tengo localizadas otras “cosas” pendientes de simplificar o de las que deshacerme.

También este año me he tomado un periodo de descanso en lo que a charlas y formaciones que suelo impartir u organizar se refiere. Esa es la intención a priori, por lo que intentaré no dejarme liar tan fácilmente en este sentido.

Y esto es todo lo que veo interesante de contar por el momento. Con unas cervezas o café, seguramente pueda enseñaros cosas en las que estoy trabajando mientras comentamos sobre estos u otros temas.

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.

Un pequeño paréntesis

Es imposible para mi en estos momentos escribir lo que ha supuesto en mi vida mi paso por Sevilla de estos dos últimos años.

Vista desde las Setas

Puedo decir que Sevilla es una ciudad con un potencial brutal y cuenta con gente trabajando día a día para hacer que así sea.

Las personas que hemos nacido y crecido en el Gran Bilbao tenemos muchas cosas que aprender tanto de ella como de su gente. Y creo con rotundidad que el punto de vista sobre la forma de ver la vida en la parte sur de España es algo que todos deberíamos experimentar más allá de una visita por varios días, una película de dudosa calidad o una serie.

Mi aventura por el sur cierra una primera parte, que tendrá su secuela después de un pequeño paréntesis ya que como algunos ya sabéis, me he mudado por un tiempo a Cihuri, un pequeño pueblo al norte de La Rioja perdido entre viñedos.

Mis objetivos al cambiar mi contexto de Bilbao trasladándome a Sevilla eran demasiados y algunos muy pretenciosos. Quería ampliar mi perspectiva personal, cambiando cosas de mí que no me gustaban, a la vez de crear productos propios en mi agencia Simettric reduciendo el tiempo dedicado a ofrecer servicio a clientes. Esto último no lo he conseguido.

Estos dos años he experimentado mucho a nivel personal, he dejado muchas cargas en forma de “demonios” atrás y he ganado muchísimo en perspectiva. No podría valorar en dinero este cambio de ver la vida y lo que he aprendido sobre mí.

En lo profesional tampoco me ha ido mal precisamente. He invertido mucho tiempo en I+D (sobre todo en la parte de desarrollo mobile), en Simettric contamos con nuevos colaboradores y nuevos clientes.

Sin embargo, últimamente me quedaba un sentimiento agridulce que me atormenta un poco al no haber podido cerrar proyectos internos que en algunos casos con un poco de dedicación estarían ya en “el mercado”. Antes de plantearme crecer con Simettric necesitaba quitarme esta espina.

Por lo tanto, mi idea con este nuevo cambio es reducir el tiempo de servicio a clientes para poner más foco en proyectos y productos internos que muestren la esencia que quiero como filosofía de desarrollo en Simettric y sirvan para dibujar su futuro.

En lo personal también tengo el objetivo de mejorar notablemente mi salud física, manteniendo mi reciente cambio de alimentación inspirado en la dieta de carbohidratos lentos que aparece en 4hour body de Tim Ferriss y aumentar mi dedicación al deporte. La verdad es que en estos dos años no he cuidado nada mi alimentación y eso no ha sido nada positivo.

Sobre el tema del deporte, durante estos dos últimos años he intentado adquirir una rutina de salir a correr sin éxito. Aunque he tenido temporadas de varias semanas saliendo, no he podido ser constante al final y he terminado por romperla. Sin embargo, desde hace unos meses he empezado a practicar el remo indoor y de momento hasta este mes he tenido una dedicación aceptable.

Echaba de menos el remo, deporte que practiqué hace más de diez años en el club sestaotarra Kaiku y ha sido genial volver a ello, aunque sea de forma Indoor. He de decir también que Sevilla cuenta con un club de remo con unas instalaciones brutales, pero por falta de tiempo no me apunté y preferí realizar el entrenamiento por mi cuenta.

He hecho y me han pasado muchas más cosas interesantes durante estos dos años. Los que me seguís en persona o por Twitter ya las conocéis de sobra, pero ahora mismo creo que no las he asimilado lo suficiente como plasmarlas en un único post.

Cuando estás en movimiento conoces a gente nueva, gente increíble, y te metes en mil fregados que al final te hacen aprender y conocer a más personas de esas que merece la pena tener en tu vida a nivel profesional, personal o ambas si eres afortunado.

Estoy muy emocionado de empezar este nuevo año experimentando este paréntesis en un sitio brutal y tranquilo, donde el contexto rural creo que me va a aportar también nueva perspectiva y serenidad para cumplir los objetivos que me marcado.

Ya os iré contando por Twitter y también podéis leer la lista de cosas concretas en las que ando metido.

Felices fiestas y urte berri on!

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.

Algunas cosas que he aprendido con la experiencia

  • Puedes morir en cualquier momento.
  • “Hacer más” no es hacer más cosas en menos tiempo, es hacer menos pero lo que hagas esté completo y aporte valor.
  • El silencio bien usado, es una herramienta muy potente. Lo mismo que las palabras.
  • No existe “la oportunidad de tu vida”, a lo largo de tu vida tienes varias oportunidades a las que puedes optar dependiendo de lo que te muevas, tu actitud, tus recursos y tu perspectiva.
  • El tiempo es más caro que el dinero. El tiempo con tus amigos o gente que te importa, y a la cual le importas, no tiene precio.
  • Con dinero se compra tiempo. Con tiempo, actitud, experiencia y conocimientos se puede generar mucho dinero.
  • Aunque tu causa sea buena y moral, no tiene que dejar de ser menos buena y moral si generas dinero con ella.
  • La libertad y la soledad deben ir acompañados de disciplina, al menos la mínima disciplina para no abandonarse.
  • Si estás cómodo en la soledad, es importante forzarte a relacionarte con otra gente para que esa comodidad no se te vaya de las manos.
  • A veces es mejor no cumplir un objetivo, que cumplirlo a medias y acomodarse con lo conseguido. Dedicar tiempo a pensar si merece la pena o necesitas un cambio, es de los tipos de inversión más importante que puedes hacer en tu vida.
  • En los negocios llevarse las cosas al terreno personal es falta de experiencia. Tomarse un negocio como algo personal o que se convierta en “tu vida”, es falta de experiencia y de perspectiva.
  • Fuera del sector tecnológico y en España, puede dar peor imagen presentarse como un emprendedor o CEO que tener una cuenta de correo electrónico en hotmail.
  • Si en un negocio o proyecto tienes socios, ese proyecto no es tuyo, es de todos. Pero todos no deben tomar la decisión final en todo.
  • Ser un líder no puede forzarse.
  • Si lees en un medio de comunicación que hay una oportunidad en un sitio o en un sector, ya es tarde.
  • No tienes por qué montar negocios o trabajar para otro, las cosas surgen de forma natural. En la vida hay más colores que el blanco y el negro, debes aprender a distinguirlos todos por ti mismo y hacer lo que te aporte o necesites en cada momento.
  • Perder a una persona de las que tienes en tu vida por un negocio, es algo muy lamentable.
  • La mayoría de los problemas no son más que una tarea más que debes atender y resolver lo antes posible.
  • Tu físico importa y es prioritario cuidarlo, pero por ti y no por otros. Para atraer o seducir otras cualidades como la seguridad y actitud son más relevantes, aunque también depende mucho de lo que quieras y de con quién lo quieras.
  • “Quien anda mucho y lee mucho, ve mucho y sabe mucho” Don Quijote de la Mancha.
  • El orgullo es una espada de doble filo. Sin orgullo no se llega a nada, pero como decía Fernando Fernán Gómez en “El Abuelo“, el orgullo sin controlar es una mierda.
  • Antes de concluir que una persona o idea es estúpida, escucha o piénsalo dos veces antes.
  • Eres un ser humano y puedes ser más que competente en varios campos totalmente distintos. Si tienes hambre de conocimiento y dedicas tiempo, puedes alcanzar buen nivel en casi cualquier campo con cuatro años de experiencia real y aprendizaje. Y tener experiencia en unos campos aporta perspectiva a otros distintos.
  • A programar se aprende programando proyectos reales.
  • Dependiendo de lo que hagamos como persona y nuestras experiencias, podemos ser varias personas distintas en distintos momentos de nuestra vida.
  • Es mejor hacer que decir lo que vas a hacer. Aunque a veces la ilusión te impide contenerte.
  • Ser humano conlleva ser imperfecto. Y en general, aprender a apreciar lo imperfecto y aprovechar al máximo lo que puede aportar, te hace conseguir más con menos recursos.
  • Ser humano, tener inteligencia y hacer cosas conlleva cometer errores.
  • El conocimiento y las experiencias son más importante que las cosas. Pero darse un capricho o premiarse de vez en cuando alimenta la ilusión y la ilusión, es clave.
  • La religión es algo personal de cada uno, imponer tu vista sobre otro es una falta de respeto, un ataque brutal a su libertad de elegir y sentir.
  • Cambiar de opinión no es haber mentido, a menudo es reconocer tu error.
  • Sobre el sexo: no es aceptable ni justo para otros ser mediocre, conformista o egoista en el sexo. Tener mentalidad cerrada con respecto al sexo te limita a la hora de entender y aprender de las personas. El sexo no se pide.
  • Pareja se es, no se tiene.
  • No conoces a una persona por lo que escribe o dice, la conoces por situaciones que vives con ella. Compartir un café vale más que cuatro años de following en Twitter.
  • Nunca vas a hacer todo tú solo. No aceptar o pedir ayuda es falta de experiencia.
  • Tu hogar no tiene por qué estar en un sólo sitio.
  • Escribir bien es básico. Leer bien también.

 

Sobre externalizar tu desarrollo si eres una Startup

Hace unos días Joel Gascoigne, cofundador de la herramienta SaaS para social media Buffer, escribió en su blog tres razones para no subcontratar el desarrollo de tu startup en freelances o agencias de desarrollo.

Imagen por John Kraus

Me parece un tema interesante, sobre todo para contar mi opinión trabajando con clientes que son startups en Simettric.

Las tres razones que exponía son las siguientes

1. “Los objetivos de un freelance y los de una startup están completamente desalineados.”

No puedo quitarle la razón si generalizamos, pero el problema es precisamente este, el generalizar.

En el artículo se hace referencia al concepto de “scope-creep” que se da cuando un proveedor se compromete a tener un desarrollo por una cantidad fija de dinero. A menudo el “contrato” del desarrollo son los requisitos funcionales presupuestados y cuando estos cambian, que es lo más normal cuando trabajas con startup, el desarrollador pueda ponerse a la defensiva y evite el cambio para no perder rentabilidad.

Esto es un error que se comete mucho por parte del proveedor o incluso viene impuesto por algunos clientes. Sin hacer una labor de producto previa se estima un presupuesto y un tiempo fijo para desarrollar funcionalidades en lugar de soluciones a problemas del producto.

Trabajando de este modo es muy fácil no satisfacer las expectativas del cliente y entregar un producto de software que incluso no solucione las cosas a nivel de negocio.

Pero… ¿esto se evita teniendo desarrolladores contratados? La respuesta es no. De hecho el problema no está en quién haga el desarrollo, sino en el pensar que el desarrollo es la solución a todos los problemas y que al delegarlo, puedes desentenderte de la labor de analizar lo que quieres solucionar.

Existe un paso previo al proceso de desarrollar un software y es saber por qué quieres desarrollar la solución del problema y cómo lo vas a resolver en base a los recursos que tienes. Puede que ciertos problemas no requieran tanto o incluso ninguna inversión en desarrollo y en su lugar hacer esfuerzos en otras partes como textos, diseño o soporte humano.

En Simettric no empezamos un desarrollo ni damos un precio cerrado hasta haber realizado un estudio del producto o servicio previamente. Sin esa labor es imposible cumplir con las expectativas del cliente y el proyecto no va a ir bien para ninguna de las partes involucradas.

No somos los únicos y creo que cada vez más agencias y profesionales están evolucionando hacia este punto en lugar de dar un precio fijo en base a unos requisitos vagos en detalle.

Pero no puedo decir que esto sea lo habitual. Desde hace tiempo cada vez se ven más empresas con un proyecto al que no sólo le falta funcionalidad o que pueda tener errores, sino que la funcionalidad planteada no sigue un sentido coherente con el problema que intenta resolver.

En estos casos se da que se ha intentado hacer demasiado en programación pero no se ha seguido evolucionando el diseño, comunicación y en general experiencia de usuario en coherencia, por lo que el producto siempre da la sensación de no estar acabado.

En otros casos, quizás los más habituales, el proveedor se ha salido del proyecto y necesitan alguien que lo continúe. Algunos de estos casos son dramáticos ya que el cliente ha invertido todo el dinero que tenía, incluso su casa y ha vendido su coche, para descubrir finalmente que el desarrollo no resuelva el problema o tenga demasiada deuda técnica.

Pero este caso también se da si contratas equipo interno y de hecho puede incluso ser más dramático dependiendo de cómo lo hagas.

Sin entrar en lo difícil que es retener a un desarrollador senior en una empresa en España y el sueldo que ese perfil esté dispuesto a cobrar, de no disponer de una persona que piense bien el producto y alguien que gestione el equipo de desarrollo cubriendo las necesidades técnicas de la empresa también, las cosas pueden salirse de madre muy fácilmente.

No pretendo dar a entender que externalizar es siempre la mejor opción, ni mucho menos, pero no creo que defender una fórmula u otra como si vendieses una bala de plata sea correcto.

De hecho hay casos en los que el desarrollo tiene cierta complejidad más allá de consultar a bases de datos o APIs REST, con algoritmos y know-how que el cliente pueda perder si no lo tiene en “casa”. En estos casos sí que veo importante el no sacar el desarrollo fuera.

Pero aún así hay fórmulas intermedias. Muchas veces puedes externalizar una parte o un primer producto muy acotado para probar si realmente funciona en el mercado, antes de contratar o hacer inversiones más potentes. Puedes pactar en que el proveedor imparta formación a tu futuro equipo de desarrollo, es algo que en Simettric hacemos e incluso acompañamos en algunos casos al equipo hasta que pueden desligarse del trabajo que hemos hecho.

2. “Te hace pensar de forma equivocada sobre lo que cuesta sacar un producto adelante.”

Esta idea la comparto totalmente, pero creo que también se aplica al ser cauto a la hora contratar un equipo de desarrollo desde el primer minuto.

El pensar en utilizar algo ya hecho, o incluso no utilizar software en absoluto para validar tu idea de negocio es algo que más que aconsejable, es lo que debería hacerse siempre que sea viable. Hay casos en España como el conocido de Carlos Sanchez, al que he hecho referencia alguna que otra vez por aquí.

De hecho creo que lo ideal es que nuestra labor, la de agencias y freelances, debería venir tras esa validación previa y siempre pensando en añadir soluciones con el mínimo desarrollo que aporte el máximo beneficio en mercado.

No nos interesa desarrollar funcionalidad por que sí, haciendo que el proyecto se alargue indefinidamente y que nunca llegue a salir al mercado, quemándonos y quemando al cliente. Salir al mercado cuanto antes de hecho es algo muy beneficioso para nosotros, se cierran etapas, se detectan necesidades reales que aportan beneficio al cliente y este cuenta con más recursos para invertir en desarrollo.

Llegará el momento en el que ya no nos necesite, pero eso también está genial. Nuestro negocio no puede basarse en depender de un único cliente al igual que dicho cliente no debe depender de nosotros. De darse este hecho, no puede ser una relación sana desde mi punto de vista.

3. “Cada fundador debe llevar cada uno de los sombreros (roles).”

Esta forma de pensar creo que depende más del tipo de servicio que ofrezcas y la filosofía de la empresa que del cómo ejecutes el desarrollo junto al resto de tareas en la empresa.

A las personas con perfil técnico nos gusta trabajar con personas de perfil técnico y aunque en algunos casos está muy justificado, hay muchos tipos de negocio en los que el punto de vista tecnológico no es lo más clave, a pesar de ser importante.

De nuevo, no creo que deba aconsejarse que todo el equipo fundador deba saber y encargarse de programar sin ver de qué tipo de negocio estamos hablando.

Lo que personalmente sí que veo importante es que el equipo fundador tenga experiencia previa creando proyectos de este tipo y sepa la importancia de pensar las cosas bien antes de afrontar una inversión de desarrollo apostando por la fórmula que sea.