Carlos Blé View RSS

Software craftsman
Hide details



El rendimiento está sobrevalorado 19 Jan 2021 8:29 AM (4 years ago)

Una vez tuvo sentido

En las décadas de los 70, 80 e incluso 90, las máquinas tenían muy poca memoria RAM (unos pocos kilobytes al principio) y una velocidad de CPU de pocos megahertz (8 MHz en el caso del Intel 8086). Un procesador Intel i7 de hoy en día supera los 2.66GHz. Se han superado las prestaciones en muchos órdenes de magnitud. Sin embargo hoy se sigue educando a los futuros programadores para que escriban un código óptimo en consumo de CPU y memoria, como si las máquinas tuvieran las prestaciones de hace 30 años.

Cuando las máquinas tenían pocas prestaciones en cuanto a hardware, los compiladores también eran muy limitados comparados con los de hoy en día. Los lenguajes de programación más usados eran de bajo nivel (sobre todo se usaba Ensamblador y después C) y los programadores tenían que gestionar la memoria y optimizar al máximo su código porque ninguna otra herramienta lo iba a hacer por ellos. En la década de los 80, los compiladores empezaban a implementar suficientes optimizaciones como para que el lenguaje Ensamblador fuese perdiendo popularidad. Cuando aparecieron máquinas virtuales de proceso como la JVM, los compiladores experimentaron una revolución, eran capaces de optimizar el código mejor que los propios programadores usuarios del lenguaje (Java, por ejemplo). Cualquier optimización que uno pretenda hacer en Java para ganar unos pocos ciclos de CPU es insignificante en términos de velocidad y a veces incluso contraproducente. El compilador lo hará mejor. Otra cosa es cambiar el diseño de los algoritmos para que en lugar de tener una complejidad cuadrática, pasen a ser logarítmicos, esto sí puede tener un impacto notable si estamos trabajando con cantidades de datos ingentes (si estamos hablando de buscar en 1000 registros en memoria, tampoco se va a notar nada).

Cuándo optimizar

¿Merece la pena intentar escribir código eficiente en consumo de CPU y memoria hoy en día? Hay algunos casos en los que sí, pero son muy pocos. Aquí algunos:

Si no eres David Brevik ni estás trabajando en el siguiente browser más rápido del mercado, ¡olvídate de intentar optimizar tu código! Porque el código que “parece óptimo”, es menos legible, costará más trabajo entenderlo. Digo que “parece óptimo” porque ni siquiera medimos si hay ganancia. El primer paso para conseguir código óptimo es medir, hacer comparativas (benchmarks) para saber de forma empírica cuál es el que mejor rinde. Cuando diseñaron Chrome seguro que no dejaron el código que de primeras les parecía más rápido, sino que hicieron comparativas midiendo consumos. Si de verdad te preocupa el rendimiento, utiliza métricas, no ofusques el código solo por la intuición de que estás ganando en velocidad (ya que seguramente no es cierto).

El cuello de botella está en el acceso a datos

Recuerdo que esta frase se la escuché por primera vez al bueno de Esteban Manchado. El cuello de botella hoy en día está en la latencia de la red y del disco. Una petición de lectura mediante una API REST va a tardar más de 100 milisegundos, fácilmente serán 200, 300 o más. Imagina que el backend trae 10.000 registros de la base de datos y luego en código hacemos alguna operación que filtra, ordena o de alguna forma recorre esos registros, consumiendo CPU antes de devolverlos por la red. ¿Qué importancia tiene la optimización de nuestro código en esta operación en memoria?. He hecho aquí un pequeño experimento para ver lo que tardan en mi pc distintas operaciones. Recorrer un array de 10.000 elementos y leer una propiedad de cada elemento (lo que seria hacer un filtrado simple), tarda menos de 1 milisegundo. Ordenar el array con merge sort tarda unos 50 milisegundos y ordenarlo con bubble sort tarda unos 1000 milisegundos. ¿Tiene sentido que intentes optimizar el código que filtra datos en memoria? Es evidente que no. Sin embargo tiene sentido entender de complejidad de los algoritmos para darse cuenta de que operaciones cuadráticas como el bubble sort tienen un impacto notable, aunque de nuevo dependerá del volumen de datos que estamos moviendo. Si son 200 registros (y no se esperan que aumente el orden de magnitud), no te molestes.
A veces escribimos código oscuro en nombre de la optimización, por ejemplo para convertir un entero en un string:

let text = number + "";

Aun cuando es mucho más explícito lo siguiente:

let text = number.toString();

¿Cuántos miles o millones de veces tendría que ejecutarse esa conversión para que llegásemos a notar algún tipo de diferencia de rendimiento?, ¿lo notaríamos alguna vez?

El código es más fácil de entender cuanto mejor refleja la intención de quien lo escribió, para lo cual se requiere ser muy explícitos escribiéndolo.

Mejor código legible que óptimo

Es preferible  programar para que el código sea legible que para que sea óptimo, aunque no esta de más conocer la complejidad de los algoritmos que podemos usar en librerías, para que escojamos el mejor. Por desgracia hay que escoger entre legible y óptimo, porque son características bastante excluyentes.

Cuando no estamos seguros del volumen de cómputo que a futuro podemos necesitar, yo prefiero quedarme con el código que es suficientemente bueno para hoy aunque mañana se quede corto. Si tengo la idea de que es muy probable que haya que mejorar el rendimiento en el futuro, prefiero anotarlo en el documento de gestión de deuda técnica y dejar el código simple. Prefiero un enfoque lean con buena planificación y estrategia, que la sobreingenieria prematura.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Books on Software Architecture 6 Jan 2021 12:55 PM (4 years ago)

In the recent literature there are well-known books such us the ones from authors like Simon Brown (I’ve read and liked them) and also Bob Martin (I haven’t read Clean Architecture yet). The first book where I remember reading about architecture was Code Complete by Steve McConnell. I didn’t know many more books on architecture until last year, when I was invited to attend the GSAS conference in Barcelona and met seasoned professionals, I met book authors that I didn’t know. Just because of their wisdom when talking during the conference and the fact that many of them have been in the industry for more than 30 years, I got interest on their books. The point of view of veteran professionals is fascinating to me. Here you go, some of the books I discovered:

During the conference I also had the chance to talk with David Farley (author of the great book Continuous Delivery), and to meet old community colleagues like Viktor Farcic (who has written several interesting books), Álvaro García, Cristian Cotes, Juan Manuel Serrano or Cristian Ciceri among others. I had the chance to meet Alex Soto in person for the first time, author of Testing Java Microservices and more colleagues from the community that I had never met in person before. I really liked the event, had a great time and am thankful to all the people who made it possible.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Negotiations 4 Jan 2021 4:13 PM (4 years ago)

Three recent podcasts that helped me learn about negotiation:

The three sites have a great summary of the podcast or the transcript. All episodes share something, the same ingredients that work for coaching and for making change happen actually. I’d remark the following tips:

 

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Seth’s tips on podcasting 21 Dec 2020 1:51 PM (4 years ago)

This is a small set of interesting ideas that struck me from David Nebinski’s interview with Seth Godin on podcasting – well, actually on his new book The Practice, which I am enjoying a lot – will blog about it soon. There are so many other insightful ideas in the podcast but I believe I have them internalized after the altMBA.

Insightful tips for my ongoing podcast and the new one we are about to launch soon.

Thank you for your podcast David!

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Dieta de dopamina: adiós Twitter 24 Nov 2020 1:10 PM (4 years ago)

Dieta de dopamina

Recuerdo cuando teníamos blogs y con los agregadores de RSS podíamos escoger leer los que nos gustaban. Los RSS se han muerto con plataformas como Twitter. Ahora en vez de ser tú quien selecciona lo que quiere ver, los algoritmos de las redes sociales te “sugieren” lo que está bien que leas. El cambio parece sutil pero es profundo. Cuando usábamos lectores RSS no teníamos el problema del scroll infinito infernal. Tampoco existían los “likes”. Este funcionamiento del scroll sin fin, engancha y me produce sensación de insatisfacción porque no se termina y no sabes muy bien si te estás dejando algo “interesante” sin ver. Las redes sociales están diseñadas para disparar la dopamina en nuestros cerebros, tal como se cuenta en documentales como The Social Dilemma. Esto aplica a todas, LinkedIn, Facebook, Instagram, TikTok, etc etc. Los chutes continuos de dopamina hacen que luego nos cueste realizar tareas difíciles que requieren concentración. Puedes encontrar ya mucha información en Youtube y en libros sobre las dietas de dopamina y por qué son recomendables para podernos centrar en trabajos que requieren concentración.
Creo que es especialmente preocupante la situación de los jóvenes que han crecido ya con estas dosis constantes de dopamina porque no pueden comparar con otro estilo de vida. Los que nos criamos sin internet sí podemos comparar con otra época (mi primer contacto con internet fue a los 18 años y era un internet muy primitivo, no había redes sociales ni tampoco existía Google. Las conexiones iban muy lentas y no había smartphones, solo podías conectarte desde casa).

La red más adictiva para mí era Twitter porque se coló en mi vida con la excusa de que laboralmente es positiva, que hace falta para estar al día de lo que ocurre en el sector. No me gusta tener ninguna adicción. Las veces que me he dado cuenta de que tenía adicción a algo, lo he abandonado por completo porque no me gusta ser dependiente de nada. Esto mismo he hecho con Twitter, lo he dejado de mirar por completo. He hecho “unfollow” de todo el mundo para dejar de manifiesto que ya no lo leo.

En el smartphone también he escondido lo más posible las aplicaciones de correo electrónico como para no poderlo mirar en automático, para que me cueste más abrirlas, ya que se había convertido en una especie de tic nervioso. Ahora solo lo utilizo si tengo que enviar un mensaje urgente y no para mirar la bandeja de entrada cada media hora. He quitado todas las notificaciones del teléfono. La sensación es fantástica, se va pareciendo a la época de adolescente cuando no tenía internet. Es una sensación de libertad y de reducción del estrés, de pasar de modo reactivo permanente a modo creativo proactivo. Mi mente necesita tranquilidad y menos dopamina para que las buenas ideas vengan y pueda acceder al proceso mental de flow que me permite escribir, diseñar e incluso tener conversaciones de calidad. Al final del día lo que me hace sentir bien es haber sacado trabajo adelante, haber producido algo. Los días que se me iban entre reuniones, emails, mensajes de slack/telegram/whatsapp y antes además los mensajes en redes sociales, me dejaban muy mala sensación, de estar perdiendo el tiempo y no haciendo un buen trabajo. Para sacarle partido a las reuniones por ejemplo, necesito disponer de un tiempo después para reflexionar sobre lo hablado, sacar conclusiones y escribir sobre ello. Esto no ocurre si me paso el día entero en modo reactivo. La prueba de estar en modo reactivo en los últimos años es que estaba escribiendo muy poco en mi blog, pese a ser algo que siempre me ha aportado muchísimo. Escribir para mí, para aclarar y cristalizar mis ideas.

El problema de Twitter

No sé tener conversaciones profundas/interesantes por Twitter por la limitación de caracteres y porque están abiertas a todo el mundo. Es como ir a La Puerta del Sol y ponerme a pegar voces, con frases sueltas sobre un tema que me interese, esperando entablar una conversación enriquecedora con la gente que pase por allí. Al menos yo no he sabido hacerlo. También es cierto que soy introvertido, me siento más cómodo y más enérgico en las conversaciones con reducido número de personas. Para personas extrovertidas que cargan sus baterías hablando en círculos grandes de gente, la historia seguramente es diferente.

La mayor parte de lo que se puede leer por Twitter es irrelevante para los demás, es pura queja, troleo o pensamientos a medio cocinar. Lo usamos para decir estupideces creyendo que somos muy listos, a veces con formas y actitudes que no tendríamos cara a cara, en persona. Actitudes que en realidad nos perjudican (más de lo que la gente piensa) por la mala imagen que damos. Que nos distancian de los demás en vez de acercarnos. A veces ponemos cualquier tontería que se nos acaba de pasar por la cabeza como si no la viera nadie y no fuera a quedar grabada. Otras veces vamos al extremo opuesto y dedicamos demasiado tiempo pensando en cómo queremos que nos vean a través de las redes sociales, invirtiendo mucho más de lo que vamos a retornar.

Tampoco me proporciona una experiencia social satisfactoria, no me acerca verdaderamente a mis amigos. Al contrario, nos ha terminado por poner en un compromiso, ya que los amigos pueden llegar a esperar que leas todo lo que ponen y se pueden llegar a molestar si se te han pasado sus tweets, como si fuera una falta de lealtad. A veces me veía en el compromiso de responder cuando me citaban en hilos de discusión o hacían comentarios sobre algún material que había publicado (podcast, artículos…).

Para socializar con los que están lejos, encuentro mucho mejor hablar por teléfono o videoconferencia y tener conversaciones privadas o en grupos pequeños. La realidad es que yo no soy capaz de tener una relación cercana y enriquecedora con miles de personas, como te hacen creer las redes sociales. No es verdad que puedas tener cientos de amigos o por lo menos que puedas cuidar de ellos.

En cuanto a progresar profesionalmente, a formarme, tengo una lista de más de 100 libros de calidad pendientes de leer. Contenido cuidadosamente pensado y trabajado por personas experimentadas en su campo. Si no tuviera todos estos libros que leer y todos esos fabulosos podcast que escuchar, recurriría a Twitter para formarme. Las redes sociales no son el lugar al que acudir para formarte, aunque si no tienes ni idea de lo que quieres aprender, si todavía no tienes esa lista de libros, cursos y otros materiales, puede ayudarte a descubrir qué personas están creando el contenido que te interesa. Si las usas con este objetivo, no necesitas mirarlas todos los días.

Lo peor de todo es que no somos dueños de nuestros datos. Estamos vendidos. La conexión con los demás depende de los algoritmos, el timeline es el que nos quieren mostrar. Si dependo al 100% de Twitter para difundir los contenidos que publico (por ejemplo mis podcasts) y mañana deciden cerrar mi cuenta por cualquier motivo, de repente desaparezco de internet. También podría pasar si hackean mi cuenta. Pierdo la conexión con todas las personas que consumen mis contenidos. Esto le ha pasado a personas como Jordan B. Peterson que un día vieron como de repente su cuenta de Youtube estaba eliminada, o por lo menos así se cuenta en el documental The Creepy Line. A mi amigo Adriá Fontcuberta le pasó hace algún tiempo con su cuenta de Twitter.

Antiguamente los comentarios de un post en mi blog quedaban en mi blog. Si aterrizabas en un artículo tenías allí los comentarios de otras personas y estos enriquecían mucho la publicación original. Ahora cuando publico en un artículo o un podcast y lo anuncio en Twitter, los comentarios de la gente se hacen en Twitter y dejan de enriquecer el post original. Esos valiosos datos que son el feedback, los comentarios, quedan bajo la propiedad de las redes sociales.  Con el paso del tiempo se pierden en un mar de datos. Los autores de los contenidos no tenemos forma de gestionar ese feedback, directamente nos vemos obligados a participar en las redes sociales para responder al mismo.

En cuanto a hacer marca personal, que tengas más seguidores en Twitter o menos no tiene gran importancia, tienes más seguidores cuanto más tiempo inviertes en las redes sociales y más contenidos pones, aunque no sean de calidad. Si son sandeces, críticas destructivas y vulgaridades ganas muchos seguidores. Esto no mejora tu marca personal. La marca personal se hace desde tu propio dominio, tu propio sitio web, publicando contenido de calidad que luego puedes exportar a Twitter y otras redes como RSS. Webinarios, presentaciones en congresos/conferencias, cursos/talleres, mesas redondas… esta es la forma de hacer marca personal que yo prefiero.

Las redes sociales me parecen un entretenimiento como otro cualquiera. Pueden estar muy bien para reírte un rato. Puedes consumirlas para pasar un rato divertido, pero no es imprescindible que estés en ellas para mejorar profesionalmente. Progresarás más profesionalmente si dedicas ese tiempo a estudiar buenos libros.

El uso que le quiero dar a las redes sociales

Por el momento he dejado totalmente de usar Twitter. Dieta estricta de dopamina. Anteriormente cerré mi cuenta de Facebook a comienzos de la pandemia, en marzo o abril de 2020. El uso de Instagram lo he restringido para seguir solo a los amigos más cercanos y enterarme mejor de las conversaciones que luego ocurren cuando nos vemos en persona. Abro Instagram cada X días. Estoy cansado de que las apps como Instagram escuchen las conversaciones que tenemos en voz alta, sin pedir permiso.

Estoy animando a las personas que quieren estar al tanto de mis publicaciones a suscribirse a mi newsletter que no es otra cosa que un feed con contenido curado. Bien pensado y planificado. A veces obsequio a los lectores con contenido exclusivo y descuentos.  Luego estoy usando la cuenta de Twitter de Lean Mind como feed para algunos de mis contenidos, para aquellas personas que prefieren usar esta plataforma como RSS.

En el futuro habrá alguien que se encargará de mi cuenta “personal” de Twitter y la usaremos únicamente como otro canal más de sindicación de contenidos, para quienes prefieren esta red social para “mantenerse informados”.

Para terminar, me gustaría recomendar también el documental The Great Hack, donde se habla de la manipulación de la sociedad mediante las redes sociales.

Utilizar las redes sociales en su justa medida y de forma deliberada, no significa aislarse del mundo. Es abrir la puerta a nuevas formas de emplear el tiempo que antes perdíamos haciendo scroll hasta el infinito, esperando “gustar” a nuestros “seguidores”. No le estoy diciendo a los demás que  dejen de usarlas como yo he decidido hacer yo por ahora, sino que se pueden usar con moderación, compartiendo el contenido que nos gusta o aporta sin pretender nada más. Hace pocos años no existían y eramos más sociales, más productivos y seguramente más felices.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

¿Por qué Lean Mind? 13 Jul 2020 5:23 PM (4 years ago)

Weekly meeting

Arranqué Lean Mind a principios de 2018. Una marca totalmente nueva y la tercera empresa que inicio en mi vida. La primera fué Shidix en 2004 y la segunda Codesai en 2015. Son  empresas de las que me enorgullece haber formado parte y que siguen estando activas y prósperas hoy en día. Algo de lo que ayudé a construir sigue quedando allí y me alegra ver que siguen cumpliendo años.

Cuando uno termina una relación laboral típicamente es porque hay una diferencia importante con sus empleadores o sus socios, es decir, porque valoramos cosas distintas o le damos un peso diferente a valores elementales. Además, la situación de cada persona del grupo, su momento vital, influye muchísimo en la vida de las relaciones. Cuando decidí marcharme de Codesai, mi visión empresarial de futuro no coincidía con la de mis compañeros, hasta el punto de que ellos se han convertido en una cooperativa y yo he fundado una sociedad limitada donde soy el único socio mayoritario.

Había tres motivaciones principales para mí al crear Lean Mind.

  1. La primera y más importante: generar empleo de calidad en el lugar donde vivo, Canarias.
  2. Contribuir al desarrollo del sector TIC en nuestro país construyendo productos de calidad y de impacto, con humanidad y profesionalidad.
  3. Dirigir una empresa en solitario, sin consensuar decisiones con otros socios. Esto es nuevo para mí, quería vivirlo y aprender de la experiencia.

Casi dos años y medio después de iniciar Lean Mind, somos un equipo de 22 personas ilusionadas con nuestro propósito, que nos sentimos afortunadas de trabajar con el grupo humano y profesional que formamos. El objetivo de la empresa nunca ha sido crecer por crecer, no es que nos hayamos propuesto multiplicar la facturación cada año ni nada por el estilo. El dinero nunca ha sido el objetivo. Simplemente crecemos cuando aparece la oportunidad, el proyecto adecuado y los candidatos adecuados, porque queremos compartir con la sociedad lo bueno que nos está ocurriendo. En una época tan incierta como esta que estamos atravesando de la pandemia del COVID-19, mantener el empleo y crear más puestos de trabajo en Canarias, es para mí una de las mejores contribuciones que humildemente podemos hacer.  Digo “podemos” en plural porque una gran parte del éxito depende de todos los que formamos Lean Mind. Las primeras personas que entraron al equipo fueron las que trajeron a las siguientes y así es como sin darnos cuenta nos estamos convirtiendo en un grupo conocido en nuestra comunidad por su cultura, su calidad, su profesionalidad y su buen ambiente.

Me he dado cuenta de que para trabajar en equipo y construir algo bueno y beneficioso para todos, no es necesario que todos seamos socios de la empresa. Todos los roles son importantes y necesarios y me siento cómodo como director. No es un trabajo solitario como hace años pensaba que podría ser.

Al comienzo de los tiempos pensaba que debíamos enfocarnos en hacer desarrollos a medida para clientes finales. Tenía claro que nuestros clientes estaban fuera de Canarias porque el mercado TIC local da cobertura a las administraciones públicas locales, cosa que experimenté con mi primera empresa y no tenía en mente repetir. Hicimos varios desarrollos para clientes de varios países pero, con el paso de los meses, nos dimos cuenta de que nuestro fuerte es respaldar a equipos de desarrollo que generalmente tienen un producto propio. Nuestro apoyo consiste en sumarnos a su equipo casi como si hubieran contratado personal interno. Nosotros abrazamos su cultura y ellos la nuestra, enriqueciéndonos con la fusión cultural. No llegamos como elefante en cacharrería sino queriendo entender las circunstancias y los hábitos de los equipos en los que trabajamos, para después ser capaces de potenciar sus virtudes o ayudar a cambiar los aspectos que el equipo quiere. Lo que hacemos es programar juntos, ni más ni menos. Nos suelen llamar porque tienen mucho trabajo y quieren desarrollar utilizando las técnicas que manejamos, TDD, Pair programming, … queriendo adoptar nuestros estándares de calidad en sus procesos. Trabajamos en remoto desde Canarias para el mundo. Hemos trabajado para clientes de USA, UK, UAE, Alemania y por supuesto España.

El futuro es muy prometedor porque somos un gran equipo humano y porque el mercado TIC está en plena expansión y lo vamos a hacer bien. Estamos donde tenemos que estar, cuando tenemos que estar. Tenemos mucho talento en las islas y sobre todo buena gente, con buenas y grandes aspiraciones. Somos una empresa que crece a través del crecimiento de sus integrantes, una empresa que crece con las personas. La marca Lean Mind aún es desconocida fuera de Canarias pero no pasarán más de cinco años hasta que se nos reconozca como marca de confianza en Europa. Haber llegado hasta aquí es para mí ya un gran éxito pero esto solo es el principio.

No creo en historias que dicen que una persona de éxito “se hizo a sí misma” y triunfó por sus propios medios. Nosotros estamos aquí por muchos factores, por la contribución de muchas personas, no solo por trabajar duro. En mis valores está ser agradecido y hay una larga lista de personas y entidades a las que les tenemos que agradecer estar hoy aquí y haber llegado a donde estamos. Empezando por la familia. Sin el apoyo de Domingo Alonso Group, en concreto de AIDA, creo que nunca se hubiera consolidado Codesai y sin Codesai no hubiera surgido Lean Mind. Le debemos mucho en particular a Antonio Torres, Emilio Macías, Borja Navarro, Manolo Suárez y Jesús Quintana porque apostaron por mí cuando estaba solo como freelance y confiaron plenamente en mí. Agradezco el apoyo de la ULPGC, en concreto de José Juán Hernández y sus compañeros, porque fue decisivo para ganarnos la confianza de varios colaboradores importantes y para darnos a conocer a los estudiantes, que después serían nuestros aprendices y luego compañeros.

El papel de Kairós también fue muy importante porque nos permitió hacer una contratación clave desde Codesai, gracias a la inversión tan oportuna que hicieron en nuestra empresa. Mi conexión con Kairós se fortaleció con Lean Mind, de hecho, fue la primera empresa para la que trabajamos con la nueva marca, en un proyecto muy bonito de formación a desarrolladoras junior. ¡Muchas gracias por apostar por nosotros fielmente, Kairós! Esperamos seguir colaborando mucho tiempo.

Hoy en día, tanto la ULPGC como la ULL y múltiples centros de formación profesional de Tenerife y Gran Canaria, nos apoyan enviándonos a sus alumnos más motivados para las prácticas en empresa y varios egresados son ya parte del equipo de Lean Mind.

Quiero agradecer a todos mis ex-compañeros en las anteriores empresas todo lo que me enseñaron y me permitieron aprender de mí mismo. A todos los clientes que apostaron por mí durante todos mis años de freelance, que fueron al menos 6. A las comunidades de práctica, la comunidad Agile, la comunidad Craftsmanship y por supuesto las comundidades locales CanariasJS y Python Canarias, por crear una red de conexiones que nos nutre y por darnos a conocer.

Muy importante también para Lean Mind el apoyo de InTech Tenerife y de SPEGC por darnos a conocer, alojarnos en sus instalaciones y estar ahí siempre que les necesitamos.

Gracias a nuestra psicóloga y coach Rosa Elvira González por todo su acompañamiento en nuestro viaje y a nuestra especialista en branding María Inés Arroyo por ayudarnos a expresar lo que somos y a clarificar cuestiones tan importantes como quién es nuestro cliente ideal.

Evidentemente no estaríamos aquí sin nuestros clientes, nuestros queridos y valientes colaboradores, que han apostado por una marca joven como es Lean Mind, sobre todo los primeros meses cuando partíamos de cero. Mil gracias a todos por la confianza depositada en nosotros. Nuestro progreso se debe 100% a ella y es un placer y un honor trabajar con todos vosotros. Mención especial a los amigos de Lean Mind que se acuerdan de nosotros recurrentemente para proyectos diversos, allá donde van. Por motivos de privacidad no pondré todos los nombres de nuestros colaboradores, ni entidades ni personas.

Lo malo de los agradecimientos es que siempre se quedan personas y entidades fuera, pero los que nos han apoyado saben que les tenemos en el corazón, saben que sin ellos no estaríamos aquí, creando empleo en Canarias.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Liderazgo: ¿lead developer? 25 May 2020 5:54 PM (4 years ago)

Remando juntos

No todo el mundo entiendo lo mismo por líder. Algunas personas piensan que un líder es un jefe que incluso puede ser autoritario. Líder y liderazgo son palabras de las que se ha abusado en diferentes medios como la televisión y por eso para algunas personas tienen connotaciones negativas. Así pues lo primero es entender ¿qué significa ser líder?

Ser jefe no convierte a nadie en líder. No es líder quien ordena y manda, porque no se trata de autoridad. Ser manager tampoco significa líder, porque la gestión y el liderazgo son aspectos diferentes de una organización. Sin embargo una jefa o manager podría ser buena líder por sus acciones, pero no por su cargo.

Líder es aquella persona que lleva el timón del barco al que los demás deciden enrolarse voluntariamente. Que tiene el valor de navegar por territorio inexplorado, abriendo nuevas rutas, transmitiendo seguridad a su tripulación y la ilusión de llegar a un destino mejor que el puerto de salida.

Por tanto no se puede pedir a nadie que sea líder, es una decisión totalmente personal y para lo que no todo el mundo está dispuesto a sacrificarse. Por eso el “cargo” de “lead developer”, “team leader” o “team lead” no puede asignarse, solo puede escogerse. Algunas organizaciones usan ese nombre cuando en realidad quieren decir “manager”. No en todos los equipos hay líderes pero cuando los hay, se les reconoce a pesar de no tener un título encima de su mesa.

Todos los equipos necesitan el rol de “manager”, porque son las personas que se encargan de cuidar de que el trabajo se hace en la forma acordada. Cuidan de que se cumplen los procesos establecidos y se mantiene el orden y la disciplina necesarios para que el trabajo salga adelante. Es un rol, no una persona, por lo que en equipos de desarrollo de alto rendimiento son varias las personas que realizan tareas de gestión (en realidad todos, aunque en diferente medida). Las tareas de gestión tienen que ver con la calidad y esta aumenta cuando todos tienen interés por mantener un buen nivel de calidad. Es muy importante que haya desarrolladores comprometidos con la gestión y la calidad. Ser buen manager requiere de un buen puñado de habilidades blandas, no es tarea fácil.

En equipos donde la innovación no es relevante, se puede llevar a cabo un buen trabajo sin que haya líderes, pero en nuestro sector sí que es importante. Las organizaciones de futuro son las que están en permanente proceso de innovación, descubriendo nuevos caminos y surfeando nuevos retos.

Liderazgo significa saber gestionar la incertidumbre y el riesgo de explorar un terreno desconocido, caminando con paso firme. Una líder está al servicio permanente de los demás. El concepto de “servant líder” es redundante porque no existe un líder que no esté dedicado al 100% a los demás, esta es una de sus cualidades fundamentales. No hay otro tipo de liderazgo. El nivel de sacrificio que exige ser líder pone al ego a raya, porque se trata de anteponer las necesidades del equipo o la organización a las propias, para que alcance sus objetivos, para lo cual se vuelca con las personas que la componen. Liderar significa sentir un interés genuino por ayudar a los demás, no por colgarte medallas.

Si lo que buscas es status y reconocimiento, el camino del liderazgo no es la solución. Fue uno de mis principales errores durante años puesto que un gran líder no espera que le comprendan ni que le reconozcan. Hace lo que tiene que hacer, por un propósito que es mayor que sí mismo, sin esperar nada a cambio. Es muy bonito el reconocimiento, pero si no llega hay que seguir trabajando mientras haya personas a las que servir. De hecho, no se puede liderar a todo el mundo. Cada líder tiene su distinguido grupo de seguidores y tendrá también muy posiblemente sus detractores. Mientras unos le ven como una líder y se emocionan con su visión, otros vibran en ondas de diferente frecuencia y no se sienten motivados a seguirle.
Para liderar es crítico escoger muy bien a qué personas se quiere servir, porque no es viable volcarse con cualquier persona, debe haber algo que le inspire a trabajar para ellos cada día. De aquí la gran importancia del proceso de selección en un equipo o en una organización. Va a ser mucho más difícil o imposible liderar a personas con otros valores. No se puede ser líder en todas partes.

Hay personas que por su carisma tienen habilidades de liderazgo innatas, la gente se les pega por su sonrisa o por su energía. Eso les da una cierta ventaja pero lo más importante es que tengan el corazón que se necesita para cuidar de los demás en todo momento, con constancia y firmeza ante el paso del tiempo. La buena noticia es que no es obligatorio nacer líder para serlo. Las habilidades de liderazgo se pueden aprender y entrenar.

Ahora que has leído hasta aquí, ¿aún quieres aprender a ser líder?. Es un propósito vital muy bonito el de guiar a los demás hacia un futuro mejor. Yo me encuentro estudiando y aprendiendo el camino del liderazgo. Aún lejos de ser el líder que me gustaría pero en proceso de ello. Te comparto ideas y recursos que me ayudan a mí.

Para liderar a los demás uno debe liderarse a sí mismo primero. Liderarse emocionalmente. Me refiero a cuando nos sale el rejo (tentáculo) o nos invaden los miedos, por ejemplo. Esto es probablemente lo más difícil de todo, alcanzar la suficiente autoestima y el respeto a uno mismo para gestionar las emociones propias adecuadamente. Lleva toda una vida, o puede que varias vidas. Es un trabajo permanente y el mejor entrenamiento para liderar a los demás. Cualquier disciplina que ayude al autoconocimiento y al autocontrol, será útil para esto. A cada persona le funcionan diferentes técnicas.

Una característica común que observo en todos los líderes a los que sigo es que publican muchísimo contenido. Tienen muy trabajada su marca personal. Escriben libros, publican podcasts, artículos en revistas, aparecen como invitados en programas, son ponentes en congresos… hacen una labor divulgativa constante en el tiempo. Divulgan con pasión y con entrega. Mucha gente decide seguirles porque resuenan con el mensaje que transmiten. Es una forma de ganarse el respecto de la gente que les sigue. Para apostar por una líder hay que sentir respeto hacia ella. Pese a que un líder no busca realzar su ego ni ser reconocido, ser referente en una disciplina va a ayudar a que naturalmente mas gente quiera seguirle. Para quienes realmente lo que buscan es prestigio, trabajar la marca personal es el mejor camino hacia ello. Así que es bueno para varios objetivos. Para mí la base de trabajar la marca personal es producir contenido de calidad orientado a tu público. Primero saber quién es tu público y después trabajar en material/servicios de calidad para ellos.

Si quieres convertirte en líder, imita a tus líderes, cópiales. ¿Quiénes son las personas que te inspira seguir? ¿tu padre? ¿tu madre? ¿algún familiar? ¿algún amigo?…. fíjate que es lo que hace esa  persona que te entusiasma y compórtate como ella. Copia todo lo que te gusta y desecha lo que no. La forma en que los humanos hemos progresado ha sido mediante la transmisión de conocimiento y eso se ha hecho siempre copiando. Copiar no es malo, plagiar sí.

Uno de mis autores favoritos en castellano (también publica mucho en catalán) es Daniel Gabarró. Su libro Liderazgo consciente es gratuito, cortito y muy bueno, te lo recomiendo.
Luego sigo a muchos autores de habla inglesa, escucho sus podcasts y leo sus libros. Aquí cito algunas de las personas que más me aportan. Algunas de estas personas tienen libros, podcasts propios, cursos, charlas online… otras no tienen su propio podcast pero merece la pena buscar podcasts en los que ellas son las entrevistadas, son buenísimas entrevistas.

Algunos otros podcasts que me aportan (además de los anteriores):

Espero que los recursos te resulten de utilidad. ¿Qué recursos me puedes recomendar?

 

Si te ha gustado este articulo, apúntate a mi newsletter y te aviso en próximas publicaciones.
 

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

How to make the most of an UNconference 8 Jan 2020 11:16 PM (5 years ago)

In a traditional conference, the agenda/program and the speakers are selected weeks or months before the date of the event. There is a C4P months before, aspiring speakers send their proposals and the organization chooses and configures the agenda.

Unconferences are quite different. The agenda is configured on the fly as the spontaneous speakers speech their proposals during the marketplace, first thing in the morning the day of the event itself, and talks/workshops are selected democratically by all the participants. The marketplace is just a circle made of people standing and listening to the person in the center who’s got a few minutes to explain her or his proposal. There is no psychological gap between “speakers” and “attendees” as everyone is a participant from the very beginning, there is no panel. This makes for a very friendly atmosphere where everyone feels equally empowered to talk to others. You don’t ask me for an autograph here, you buy me a whisky and then I buy you another one 😀

It’s crucial to have a seasoned facilitator with experience in unconferences/open spaces in order to explain the basic rules to people and to make them feel welcome and willing to participate. It’s also very important to have a comfortable venue and good organisation.

Now, you don’t want everybody to improvise everything during the event. I bet you want to listen to interesting talks and enjoy nice workshops. Well, in an unconference, it’s your responsibility to make that happen. This is the big difference with a regular conference, your are accountable for the quality of the event.

It turns out that speakers should not be that spontaneous, the quality of the event goes higher when everyone aspires to conduct a session. If most people propose a session, chances are that not all of them will make it into the agenda so there will be a selection and this will raise the quality of the program. It’s great to facilitate and to join totally improvised sessions but it’s usually better when someone has prepared something upfront. The good news is that you don’t have to prepare a master class or a master workshop, you just need to facilitate a session where you aim for certain things to happen. Perhaps you want some answers to your questions, or to listen to people who have already overcome the issues you are experiencing at work. You could ask for advise or even for a hands-on session on something you want to learn about. But even for that, you should think of it upfront and prepare questions or challenges to conduct the session. If your session gets selected you will get exactly what you want to learn thus getting a lot of value from the event.  If you don’t make a proposal nobody else may guarantee that the topics of your interest will be explored. You may propose a debate/discussion/round table around some topic, therefore you will probably need a bullet list to conduct the session. On the other hand, participants really appreciate when someone come up with a prepared talk/workshop. I encourage you to work on a talk or workshop exactly as you do for regular conferences. Get your slides or materials ready, rehearse as much as you can and deliver a well-prepared session. Yes, it could be the case that you work on your stuff at home and then it doesn’t get selected for the agenda, but you can reuse your material for any other conference anyway.

Your speech during the marketplace is critical to get your session chosen. You get a minute or two to explain your idea and then you write the name of your session and your name on a piece or paper than goes to the panel. When there are more than 50 proposals in the marketplace, participants usually forget your speech and all they are left with is the piece of paper with the title and your name. If you speech is brief, clear and to the point you get more chances to be remembered and selected. You need to grab all the attention during your speech and make sure you focus on just one idea. You could write down your speech days before the event, something from 50 to 150 words is more than enough and then in the marketplace you just read it to the audience is that is more comfortable for you. Because it’s not about being a showman, it’s about being clear and communicate. Reading your speech is perfectly OK. Then make sure the title of your session matches your idea and your speech to be remembered.

When you decide to attend to a regular conference, sometimes you base your decision on an expected outcome. You like the program, the speakers, the networking. The same applies to an unconference. Define your goals, aim for a certain return of the investment, and contribute to the event so that it happens.

What are you going to propose for the next open space? Don’t forget that having fun is one of the top most priorities in any unconference!

See you there 🙂

 

 

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

A year to remember: 2019 31 Dec 2019 3:53 PM (5 years ago)

CAS2019What a wonderful year 2019 has been! a year in which I’ve grown a whole lot as a human being.

To be honest this year has had very tough times with several relatives passing away, some of them under hard-to-accept conditions, but one of the things I’ve learned this year is that feeling as a victim doesn’t help at all. I’ve learned this important lesson by observing my relatives/family members cope with all kinds of health issues. Considering yourself a victim is an easy way to blame everyone else, god or whatever you want, to not take responsibility for your own life and actions. There are always other beings suffering way more than you are, remember that things can always get worse. Value and enjoy the good things in your life. Feeling as a victim  is not the way I want to go. I did it in the past for a long time and it didn’t help.

In 2019 has put the pieces of the puzzle together, a puzzle I’ve been trying to figure out throughout the last decade. The meaning and purpose of my life, goals, happiness, desires, fears, flaws… understanding life and people. As a result, the relationship with my friends and family members have improved a lot during this year and I am living a great time. I’ve met new people too. I am very lucky to be in a very good health and to have a great job.

There have been important milestones in my career/life this year:

If I had to enumerate more ingredients for the personal growth and success I am experimenting, I would say:

For a long time I used to think this old idea that all the potential to succeed in life is already inside of oneself was pretty much bullshit. No, it’s not. I don’t think that anymore. When you feel well in solitude, when you treat yourself with kindness and support, when you manage your emotions calmly, when you acknowledge your flaws and work on them with positive attitude, you instill respect for yourself. When you act as your authentic self, others will notice and feel respect.

When facing a difficult situation you don’t have behave like you think others in your circle (or in the society) expect you to behave. You don’t have to follow a conventional behavior if it plays against your style. You don’t have to like others but to like yourself. You can do whatever is sensical according to your values and principles. If you act firmly with authenticity and self-trust, you will feel good about it and most people will respect your position. You may show up firm but non-violent, or with humor, with a smile, or disobedient. Your dignity is not subjected to what others think of you – that’s their affair anyway, not yours.

Working everyday against laziness, procrastination, bad mood, addictions (notifications and likes!) and negative thoughts helps me get closer to the person I want to be in the future. Most of us, most of the time, come up with negative thoughts in our heads. Our perception of the reality has a lot to do with the thoughts we choose to hold. The narrative you tell to your inner self is shaping your reality. You can choose what is your narrative. Every negative idea is an opportunity to practice mindfulness and train your emotional intelligence. The truth lies within, here and now.

Now some resources I’ve find useful this year (I’ll probably add more in the upcoming days):

Books:

Podcasts:

Talks:

Interviews and talks I’ve delivered this year – and are recorded somewhere:

Sport:

I am done with Barra Libre training program from Marcos Vazquez. In 2020 I will start Max Size from Jeff Cavaliere (Athlean-X).

Thank for you for reading, and Happy 2020 to you!

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

I am an altMBA alumni 29 Dec 2019 9:31 PM (5 years ago)

In the spring of 2019, I enrolled in an online program called altMBA, aiming to get better at sales, marketing, management… aiming to level up my CEO skills. As a developer I felt I needed to take an MBA to complement my studies but I didn’t want to spend several years on a traditional MBA. I’ve been running my own companies for over a decade, learning the hard way, making mistakes. At this time I felt that a traditional MBA wasn’t exactly what I was looking for.

At the beginning of the year I saw an advertisement about altMBA, saw that it was designed by Seth Godin and within minutes I sent my application for it.

altMBA (#30) surpassed all my expectations, it’s been a milestone in my life. I highly recommend this program to anyone who wants to make an impact.

I’ve recorded a short video telling my experience, what’s all about and how it works:

Brief summary of the video:

Go for it, make an impact!

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?