Hay que enseñar

En la universidad tuvimos una práctica que consistió en montar un pequeño ordenador, para lo cual teníamos que soldar los componentes a la placa. Me pareció muy entretenido. No se si el estaño contiene alguna sustancia adictiva, pero me encantaba el olorcillo.

El problema fue que te soltaban en el laboratorio y ahí te las apañases. En una de estas casi la lio parda porque se me cruzó el cable de corriente eléctrica con el estañador, que al final es un hierro caliente, y se derritió algo de plástico. Si llega a derretirse todo el plástico, hubiese habido un buen chispazo, a un palmo de mi «careto»…

Le pedí sopitas a mi tío que se dedicaba a esas cosas. Me regaló un estañador y un desestañador que tenia viejos y lo más importante, me explicó como utilizarlos. No tardó nada, pero me explicó las cuatro cosas básicas que tenia que saber. Entre ellas como poner el estañador y el cable para que no me pasase lo que me pasó en el laboratorio.

Cuando empiezas a trabajar te sueltan y ahí te las compongas. Si tienes suerte y te juntas con compañeros que saben, genial, si te juntas con compañeros de estos tóxicos, pues corres el riesgo de aprender cosas equivocadas.

¡ Que importante es enseñar a los compañeros con menos experiencia !. De como lo hagan ellos también depende el éxito personal. Si el proyecto va bien salimos ganando todos, si va mal tendrás que andar dando explicaciones… y no interesa.

Uno de los objetivos de este blog es contar las experiencias vividas para que puedan servir a otras personas. No es que esté en posesión de la verdad absoluta, pero si que es mi experiencia.

Esta entrada la he etiquetado en dos apartados, porque cuanto mejor formados estén los compañeros noveles mejor para el proyecto y eso es importante tanto para la Industrialización del Desarrollo, como para tu propia marca personal. Si el proyecto va bien (o mal) y tu has estado en el, algo habrás tenido que ver. Tiene también mucho que ver la gestión del conocimiento

Pruebas que no podemos fallar

En esta entrada voy a ponerme un poco en plan abuelo cebolleta, (storytelling si nos ponemos en plan geek) hablando de cuando programaba y de las pruebas de aplicaciones que no podemos fallar. Tiene relación sobre todo con la industrialización de desarrollo, por el impacto que tiene el no probar bien las cosas.

En mis épocas mozas, cuando me dedicaba básicamente a programar, cada vez que le entregaba algún mantenimiento a mi jefa, rezaba (bueno igual es un poco exagerado lo de rezar) para que tardase en encontrarme un fallo. No había cosa que más rabia me diese que tardase poco en encontrarlo, parecía que no le habías puesto interés.

En aquellas primeras épocas programar lo que se dice programar si que sabia, se me daba muy bien, sacaba muy buenas notas en la universidad en las asignaturas de programación. De lo que no tenia ni idea era de trabajar. Es decir de programar en serio, no para una práctica. Bueno el sueldo también iba en consonancia. Por eso me parece importante compartir las experiencias vividas. Es importante «aprovecharse» de los que han recorrido ya antes el camino.

Cuando mas tarde empecé a tener compañeros a mi cargo, he de reconocer que tuve mucha suerte, porque eran muy serias trabajando, les solía decir que había unos errores que no les debía encontrar nunca. Las pruebas básicas, las que alguien sin conocer la aplicación puede realizar.

Obligatorios: coges cada campo que está marcado como obligatorio, lo borras y le das a buscar, guardar o lo que proceda. Uno a uno y todos juntos.
Longitudes: coges cada campo y pones el valor máximo. Si es numero todo 9 hasta que no te deje meter más. Si es texto pones una letra, por ejemplo la a, hasta que no te deje poner más y luego dar a buscar, guardar o lo que proceda.
Formatos: clásico, si es un campo numérico poner letras. Si es un email poner uno inválido, y luego dar a buscar, guardar o lo que proceda.

Estas pruebas como he comentado no las puedes fallar, da una sensación muy mala si el programa falla en cosas como estas. Y creerme, es muy habitual encontrar fallos de estos.

No se quien me comentó que había tenido un jefe que probaba los programas dando teclas sin sentido, casi como lo pudiera hacer un mono. Y conseguía hacer cascar los programas, y el programador de turno se defendía diciendo que no era un uso normal de la aplicación, pero el jefe le contestaba que le daba igual, la aplicación había fallado y no podía fallar.

Muchas veces, por lo menos, a mi me pasaba, que iba probando el programa y corrigiendo errores y cuando ya lo daba por terminado lo entregaba. Como en el anuncio de la tele: ERROR. Cuando creas que lo tienes todo terminado, haz una última prueba global, no sea que hayas arreglado algo y roto otra cosa. Cosa que sucede a menudo.

Hoy día hay técnicas y herramientas para automatizar ciertas pruebas, pero antaño no y cada vez que te encontraban un error y cambiabas el programa las jefas tenían que volver a probar todo y entiendo que se enfadasen porque era un autentico peñazo (Cuando me ha tocado a mi estar en la situación de probador en vez de siendo el probado me he dado cuenta).

Además hay que tener en cuenta una cosa que se nos suele olvidar muchas veces, la «tela». El coste de un analista es mayor que el de un programador. Así que es más barato dedicar un poco más de tiempo del programador para que esté todo mejor probado a entregar algo poco probado y que el analista tenga que dedicar tiempo una y otra vez a probar. Y lo que nos interesa a todos es hacer las cosas lo más económicamente posible, manteniendo los criterios de calidad que se exigen.

A los programadores que he tenido a mi cargo siempre les he dicho que si necesitan más tiempo que lo pidan, siempre que puedan justificar el desvío, pero que no entreguen algo sin probar bien por cumplir las fechas.

Te has esforzado mucho en realizar tu trabajo y luego corres el riesgo de por tonterías dar la sensación de que has hecho un trabajo a la ligera. No es interesante.

Como abordar el desarrollo de una aplicación CRUD

Me ha tocado en varias ocasiones enfrentarme al reto de definir el diseño técnico de una aplicación CRUD, es decir la típica aplicación de gestión de altas, bajas y modificaciones, con sus correspondientes listados. No es una tarea específicamente de arquitectura de desarrollo, pero dependiendo de la magnitud del desarrollo puede realizarse por la misma persona que define la arquitectura.

Normalmente estas aplicaciones las suelen construir programadores junior, que suelen agradecer que las cosas sean lo más sencillas posibles (En alguna ocasión ya he comentado este tema de Kiss).

Yo suelo utilizar una aproximación que me ha dado buenos resultados:

Lo primero es ver que tipos de pantallas va a tener la aplicación y que hay de común en ellas. Normalmente suele ser la cabecera y pie, los tipos de paginas y la navegación entre ellas (página de filtro, luego página de resultado y paginas de mantenimiento), las opciones (añadir, guardar, borrar, modificar,…)

Esta es una tarea a realizar por un analista técnico o también por un arquitecto, aunque el arquitecto suele estar menos cerca del programador y se suele ocupar de temas más abstractos que el detalle de la programación.

El siguiente paso es ver como se pueden mecanizar esos puntos comunes. Seguro que más de uno ha pensado inmediatamente en componentes reutilizables, en librerías de código, etc.

Literatura:
Si, esas cosas de código están bien, pero también hay que pensar en escribir un poquito. Recordemos que la aplicación probablemente la va a construir programadores junior, igual es hasta su primer trabajo, con lo que no tienen mucha experiencia y no queremos tener que estar constantemente con alguien al lado para explicarle las cosas o ayudarle, ya que eso implica incrementar las horas (la del ayudado y la del ayudante). Así que nos interesa que las cosas estén lo más sencillas posible.

Por mi experiencia personal el escribir en un pequeño documento o en una Wiki las reglas que se tienen que aplicar ayuda mucho a los programadores, porque son cosas que no tienen que pensar, ya se las das pensadas y además cuadriculadas. Bastante tienen con pensar el resto de cosas.

El plasmar en un documento cosas como, por ejemplo. Por cada mantenimiento va a haber 3 páginas que se van a nombrar de tal forma y se van a colocar en una carpeta con tal nombre. Cada página va a tener un clase de tal tipo para el código que se ejecuta en el servidor y con nombre tal y en la carpeta cual.

Como he comentado el disponer de este tipo de información facilita mucho el trabajo de los programadores más noveles, porque les centra, además de permitir que se puedan intercambiar programadores de un mantenimiento a otro.

Además disponer de este tipo de estructura de cara al cliente hace que incremente la confianza, ya que demuestra que por lo menos ha habido alguien que le ha dedicado algo de «seso» a pensar estas cosas y a homogeneizarlas, en contraposición a la anarquía del búscate la vida.

Código:
Si tenemos clara la estructura de los mantenimiento y los diferentes componentes (clases, jsp, etc) que hemos tratado anteriormente podemos empezar a pensar en pasar a codificar librerías y componentes.

Hay una cosa muy tonta que me ha dado muy buen resultado y es referida al tema de la presentación en pantalla, que normalmente requiere mucho esfuerzo para dejar a gusto del cliente.

Por ejemplo los botones. Si hemos definido que nuestra aplicación va a tener los botones, Añadir, guardar, borrar, etc, en vez de andar copiando todo el rato el mismo código, dando lugar a que cada uno lo llame de diferente manera, podemos hacer un pequeño componente para cada botón. De tal forma que siempre funcione igual y que además sea más sencillo el incorporarlo a la página, o modificarlo a posteriori si es necesario.

Hay una cosa que es importante tener clara, para automatizar primero hay que cuadricular y para cuadricular primero hay que pensar. No se puede automatizar el que cada uno haga las cosas a su modo. Bueno si se puede, pero es terrible. Lo digo por experiencia…

Gestión del conocimiento

Gestión del conocimiento, que gran concepto y cuan difícil de hacer funcionar. De todos los sitios en los que he estado solo funcionaba realmente bien en uno de ellos, a pesar de que el programa que se utilizaba era horrendo, probablemente funcionaba porque era un proyecto muy grande y muy exigente y la gestión del conocimiento era una necesidad.

El objeto de la gestión del conocimiento es el compartir entre todos los integrantes del equipo o de la empresa las mejores prácticas en el trabajo, los trucos, etc, de tal forma que poco a poco se vaya mejorando la calidad del trabajo que se realiza. Es una parte importante de la industrialización del desarrollo, ya que ayuda a que fluya la información en el equipo.

Hay una serie de características que considero son importantes para que la gestión del conocimiento funcione correctamente:

– Facilidad de búsqueda de la información.

La gestión del conocimiento en email o en documentos ofimáticos compartidos en una carpeta de red no suele funcionar bien, ya que suele ser difícil de encontrar el contenido que queremos. Suele funcionar mejor el empleo de Wikis o herramientas de trabajo en grupo, que suelen proporcionar búsquedas por texto libre más eficientes y la posibilidad de clasificar los contenidos para poder realizar una búsqueda más precisa que con la simple búsqueda por texto libre.

Yo suelo utilizar tres ejes de catalogación:

  • Cliente
  • Tecnología
  • Tipo de contenido

– Facilidad de creación de la información.

Cuanto más sencillo sea el poder crear los documentos más fácil será que la gente colabore. Los Wikis suelen llevar una codificación que, aunque más complejo que un documento ofimático, no suele ser excesivamente compleja.

– Hacer participar al equipo

Esta parte es la más complicada de todas. Me he encontrado con varios tipos de actitudes entre los compañeros:

  • Los entusiastas que colaboran, que suelen ser los menos, y al final se cansan de solo escribir ellos.
  • Los entusiastas que no colaboran, con una actitud de que me cuenten cosas, pero yo no cuento.
  • Los neutrales, que ni les va ni les viene.
  • Los críticos, estos suelen ser los menos, normalmente es alguien que pierde privilegios o notoriedad.

Es muy importante hacer partícipe a todos los compañeros en la gestión del conocimiento y la mejor manera es reconociendo el mérito y propiciando que se introduzcan contenidos en el gestor. El merito puede ser algo a tener en cuenta en las evaluaciones anuales.

Muchas veces hay compañeros que hacen pequeños documentos que los mueve entre un circulo reducido. Estos documentos hay que propiciar que si hace falta se completen y se pongan en el gestor.

También suele haber situaciones en las que algún compañero pregunta alguna duda, si se ve que esa duda no está resuelta en el gestor de conocimiento y es interesante que esté, se puede dedicar un poco de tiempo a añadirlo, como digo siempre, sin que esto afecte a los compromisos adquiridos.

– Velar por la coherencia

Uno de los problemas de la gestión de contenidos es que se puede convertir en una amalgama de textos sin sentido. Es por ello que es importante que exista la figura del editor, que verifique, de coherencia y oficialice los contenidos introducidos.

Las máquinas virtuales en los entorno de desarrollo

En esta entrada quiero traer a colación un tema que me ha supuesto una enorme mejora, a la hora de industrializar el desarrollo de software, sobre la formas de trabajo de hace algunos años. Me refiero a la virtualización.

Todos conocemos las posibilidades de la virtualización, que nos permiten tener muchas máquinas virtuales en una única máquina física.

Yo quiero dar una visión de la virtualización desde el punto de vista de un equipo de desarrollo sobre las mejoras que nos proporciona, lo que se da en llamar devOps. Ya que a veces solo se ve la virtualización como una forma de ahorrarse tener muchos servidores físicos permanentemente levantados, que es el enfoque más típico de sistemas.

Algunas situaciones en las que me ha servidor la virtualización:

– Facilitar el acceso a las redes de los clientes:

Muchas veces cada cliente tiene su software de VPN particular, unos con un fabricante y otros con otro, así que si no tienes la suerte de trabajar para un único cliente te puedes encontrar con varios clientes de VPN instalados en tu máquina. Por experiencia, al de 4 programas de VPN, el windows deja de funcionar y ni siquiera arranca.

Tener una máquina virtual por cada cliente te permite poder solventar esta casuistíca.

– Evitar el reinstalar programas compartidos

Aparte de permitir tener máquinas virtuales para tener las VPN de cada cliente, estas máquinas virtuales te permiten tener ciertas infraestructuras de forma compartida para interactuar con la infraestructura del cliente. En muchos casos en cada cliente necesitas una serie de programas, como clientes FTP, navegadores, herramientas de compilación, etc…

Yo he tenido la experiencia, trabajando para un cliente, en el que yo tenia instalados los programas necesarios para acceder a las máquinas del cliente (favoritos incluidos) en mi máquina y cuando me fui de vacaciones se la tuve que dejar, con las contraseñas y demás a una compañera. Técnicamente el ordenador es de la empresa, pero siempre acabas teniendo algunas cosas personales. Para evitar esto utilizamos una máquina virtual para dejar todos esos programas instalados y así que varias personas pudiesen utilizarla.

– Facilitar el realizar pruebas

Antes de la existencia de la virtualización, cuantas veces no hemos tenido que utilizar nuestro ordenador para probar programas, que al final acaban dejando basurilla en el ordenador haciendo que no vaya muy fino. Y al final teniendo que gastar tiempo en reinstalarlo.

Con las máquinas virtuales te puedes permitir tener máquinas de usar y tirar para realizar estas pruebas. Con una plantilla de cada tipo de instalación que utilices puedes crearte las máquinas que necesites.

– Facilitar tener configuraciones del cliente

A todos los que nos gusta tener versiones actualizadas de los programas que usamos, sobre todo navegadores, el tener que utilizar versiones homologadas por los clientes es un poco fastidio, sobre todo cuando son versiones muy viejas.

Y el problema ya se complica si trabajas para diferentes clientes, cada uno con sus versiones diferentes.

La virtualización te permite tener máquinas con la configuración requerida, y usarlas solo para realizar esas pruebas.

Jugar en primera o jugar en segunda

En mi vida profesional he estado en varias empresas que querían o necesitaban crecer. No me refiero solo a crecer de tamaño, sino sobre todo crecer en la importancia de los proyectos que realizaba. Pasar de proyecto pequeños, relativamente auxiliares para los clientes, a proyectos más grandes y más críticos (y consiguientemente con más exigencia). En varios casos los objetivos no se cumplieron y las cosas acabaron como el rosario de la aurora.

En uno de estos sitios un jefe me hizo un símil con los equipos de fútbol. Del club que va haciendo bien las cosas y va subiendo de categoría. Según el en cada subida de categoría había que ir desprendiéndose de los jugadores que no tenían nivel para la nueva categoría. No todos valen para jugar en primera.

Yo no voy a ser tan drástico, de decir que hay que despedir a toda la plantilla, pero si que creo que hay que adecuar, tanto el equipo humano, como los métodos de trabajo y los medios materiales a los nuevos requisitos.

Lo que si que me he encontrado en, desgraciadamente, demasiadas ocasiones es que los compañeros no son capaces de asimilar esa nueva situación y lo que implica. Siguen con sus niveles de exigencia habituales, sin darse cuenta que no se adaptan a los niveles de los nuevos proyectos.

Y probablemente por parte de la jefatura, bien de la empresa, bien del proyecto, en esos casos no se fue capaz de hacer ver al equipo que si se seguía por el mismo camino, que efectivamente había venido siendo suficiente, con los nuevos niveles de exigencia, se corría el riesgo de fracasar, como así fue en varios casos.

Me parece de vital importancia el trasladar al equipo de trabajo cuales son los requisitos que se nos va a exigir por cada nuevo cliente o nuevo proyecto, para que todo el mundo, por lo menos sea consciente de por que rasero se les va a medir.

Creo que esto es, cuanto menos, algo menos dramático que el cambio de equipo humano, que es la siguiente opción, bueno o directamente el fracaso colectivo.

Este planteamiento creo que encaja bastante bien con todos los temas de marcas personales o tu modelo de negocio, que se está teniendo cierto auge, sobre todo con la crisis actual, que ha obligado a mucha gente a salir de su zona de confort y tener que replantearse su vida, por lo menos la profesional.

¿Porque hay tantas asociaciones?

Hace ya mucho tiempo que me regalaron un bonsai, concretamente un olmo (de ahí lo de olmito).

En una de estas charlando con otro bonsayista amigo y con algunos años más que yo, le comentaba que no entendía porque había tantas asociaciones. El me comentó que en las asociaciones hay gente que comparten un único punto en común, en este caso el bonsai. Pero en esas asociaciones hay personas de muy diferente condición, como el mundo mismo, con mas o menos poder adquisitivo, con mas o menos estudios, con diferencias opiniones políticas, etc. y eso suele provocar roces y escisiones.

Las empresas al final no son muy diferentes en estos aspectos de una asociación, hay mucha gente cada uno de su padre y de su madre. Lo malo es cuando esta lógica diversidad se desmadra y no se gestiona bien.

Siempre hay personas con las que tienes más o menos afinidad, pero cuando las personas empiezan a tomar decisiones de trabajo por motivos personales en vez de por motivos profesionales las cosas suelen acabar mal.

He sido testigo, con tristeza, de varias situaciones en las que ciertos responsables no decían nada a una persona de su equipo que estaba haciendo unas chapuzas inmensas, pero que era de su «cuadrilla», pero ponía a bajar de un burro a otra persona que hacia su trabajo perfectamente, simplemente por «molestarle» con alguna pregunta.

Ni que decir tiene que esos proyectos no acabaron nada bien…

Esto entronca perfectamente con los planteamientos de marca persona. Al final hay que cuidar tu imagen (tu marca) porque las chapuzas que hagas te irán acompañando por las empresas por las que vayas pasando. Es muy ingenuo pensar que con cambiar de empresa todo se evapora.

Los piratas de la oficina

Yo soy una persona anti emails, por lo menos para gestionar las tareas concretas de los programadores, lo que se llama las órdenes de trabajo. Es difícil hacer un seguimiento, si alguien se incorpora a posteriori al proyecto hay que andar reenviando los correos, en fin, no me parece muy adecuado.

En uno de los múltiples proyectos en los que he participado, había una metodología de trabajo un poco desértica, vamos que no había prácticamente nada. Básicamente la típica herramienta hecha en casa para imputar horas y hacer seguimiento económico de los proyectos.

Recalé en ese proyecto justo antes de verano, así que a la vuelta de las vacaciones instalé un Bugzilla en una máquina virtual en mi ordenador y empecé a hacer apología del mismo, hasta que llegó la noticia a uno de los jefazos, que me llamó a su despacho. Y no era precisamente que destacase por ser un bonachón…

Estuvimos hablando un rato y yo ni corto ni perezoso le dije que la herramienta para imputar horas (hecha por la empresa) no me servia para nada, lo cual era cierto. Me sorprendió mucho que estuviese de acuerdo, de hecho me empezó a explicar lo de las ordenes de trabajo, que era un concepto que yo no había oído en mi vida y algunas cosas más.

Y me dijo que le parecía bien lo del Bugzilla, pero que había que encauzarlo con el resto de herramientas de la empresa, porque sino, si iba por libre, me convertiría en un pirata y a los piratas había que colgarlos.

Posteriormente hicimos algunas reuniones para integrar la funcionalidad con la herramienta de la empresa, que al final acabó en nada y finalmente la empresa se sacó la certificación CMMI con el Bugzilla, mi Bugzilla, además con el reconocimiento de la iniciativa que hizo el auditor delante de todo el mundo, dueño de la empresa incluido…

No puedo estar más de acuerdo con el concepto de los piratas. Está bien que la gente tenga iniciativa, proponga mejoras, siempre y cuando no impacte en el cumplimiento de los compromisos adquiridos (terminar las tareas encomendadas en forma y plazo), pero esas iniciativas si no se encauzan correctamente suelen acabar en anarquía y eso no es bueno.

Una vez un compañero de trabajo me dijo: puedes saltarte las normas, pero como lo que hagas no vaya bien te va a caer una buena.

En esa época del Bugzilla ya tenia una considerable experiencia y sabia que podía argumentar sólidamente el uso del Bugzilla, no en vano uno de los primero jefes que tuve mucho antes del episodio del Bugzilla me llamaba Iñigo «Segurola», y eso que en aquella época era un bala perdida comparado con como era en la época del Bugzilla.

Resumen: Innova, propón mejoras, pero estate muy seguro de lo que propones y sobre todo… no seas un pirata. Esta filosofía me parece importantísima para la Industrialización del Desarrollo.

Los artesanos de la informática

He tenido la suerte de vivir la época del despegue de la informática personal a nivel doméstico, con un IBM PS2/30286 (maravilloso teclado). No viví la época anterior de los típicos spectrum, comodore, amiga y demás, porque a mi padre le parecía que solo servían para jugar. Cuando en la oficina compraron el primer PC y vio que tenia usos «serios» me compró uno igual. El pastizal que les costó, prefiero no pensarlo, pero bueno creo que lo podemos dar por bien empleado.

Era una época en la que venían a mi casa mis tíos o amigos a cacharrear con el o bien iba yo a sus casas. Un poco el espíritu que ha resurgido actualmente con la RaspberryPi (de la que tengo 2)

En esa época todo era mucho más sencillo y complicado a la vez. Sencillo en el sentido que la informática era algo accesorio, a diferencia de hoy en el que la tenemos por todos los lados. Y complicado en el sentido de que había mucho menos conocimiento, todo era nuevo, cualquier cosita era todo un reto.

Pero sobre todo era todo muy artesano. Tenias un ordenador, una contraseña para acceder a Internet, un tal, un cual, un… Hoy día necesito una aplicación como Keepass para poder tener anotadas todos los usuarios y contraseñas de todos los sitios en los que estoy registrado. He decidido solo tener anotadas las máquinas con IP fija en la red de mi casa, porque ya no las recuerdo de memoria, el resto desisto. (Alguna vez he hecho el ejercicio de contar todo lo que podía estar conectado a la red de casa, tanto mio como del resto de la familia y me salían una veintena…)

En el aspecto profesional también ha habido un cambio significativo. La primera normativa de Java del Gobierno Vasco la decidieron delante mio literalmente, de hecho alguna cosa se incluyó porque la necesitaba para el proyecto que estaba realizando. Recuerdo que se compilaba con unos simples scripts de shell. Auditoría de código, ni sonaba. Hoy día tienen montado toda una metodología, con certificaciones y demás.

A veces echando la vista atrás echas de menos esa época, en la que tenias mucha libertad, estaba todo por hacer. Hoy día estás mucho mas condicionado, pero también es cierto que en aquella época se hacían proyectos, que aunque eran importantes para la época, eran minúsculos comparado con la cantidad y complejidad de lo que se realiza actualmente.

Ya no es posible seguir como artesanos. Hoy se impone la industrialización, el tener método de trabajo y seguirlo. Definir bien cuales son las diferentes fases y los cometidos que se deben cumplir en cada una de ellas.

He tenido la satisfacción de poder participar en la definición e implementación de algunas metodologías de trabajo en los diferentes proyectos en los que he participado. Soy consciente de que es muy tentador el saltarse esas metodologías e ir por libre, volver a la artesanía, pero en los tipos de proyectos que se realizan actualmente, esa anarquía supone un suicidio.

Ha habido proyectos en los que esas metodologías que he ayudado a definir e implantar han dado unos frutos muy buenos y en otros en los que no se ha conseguido implantar tan bien. La diferencia ha estado en la exigencia del cliente, cuando como grupo te llevas palos porque las cosas las haces mal, la gente empieza a entender que no puede ir por libre y que debe de hilar fino, así que se adapta (o nos muelen a palos). Cuando el cliente es poco exigente, es mucho mas complicado hacer ver al equipo de trabajo que debe seguir la metodología, porque no le ven la necesidad, es un razonamiento del tipo: vale lo hago mal, pero tampoco pasa nada.

Como me comentó un antiguo compañero de trabajo las cosas se pueden aprender de dos formas, por las buenas o por la vía rápida, es decir a palos. A veces tienes tiempo para poder hacer pedagogía y compañeros receptivos y otras desgraciadamente no.

Pueden parecer planteamientos duros pero lo que está claro es que tienes que adaptarte al nivel de exigencia de tu cliente y proyecto. Sino o te «adaptan» o te quedas fuera.

La artesanía está totalmente opuesta a la industrialización del desarrollo

No es mala terapia «artesanal» el usar la RaspberryPi, es barata, personalizable y te permite trastear sin poner en peligro lo que te da de comer. Yo la uso.

¿Para quien trabajas?

En estos últimos días me he hecho con dos libros sobre Marca personal. El primero de ellos es «50 claves para hacer de usted una marca» de Tom Peters, que fue el precursor de esta corriente de la marca personal. El otro es «Marca personal, como convertirse en la opción preferente» de Andrés Pérez Ortega, que es un libro bastante más filosófico, pero que al ser de un español resulta más cercano. Además trabajó en el sector retail, y hace algunos paralelismos con las marcas blancas, lo que en mi caso lo hace todavía más cercano.

Me ha resultado relativamente fácil el llegar a esta filosofía de trabajo, porque por la propia inercia del trabajo ya había llegado a algunos de los postulados.

Trabajos vitalicios

Uno de los planteamientos que se hace en la marca personal es el de que los trabajos de oficina como los de nuestros padres, que empezaban en una empresa y en esa empresa se acababan jubilando, ya no existen. Mi sector es el de la informática, en el que el cambio de empresa es algo que está a la orden del día. Así que cuando empiezas a leer esos libros y empiezan con estos planteamientos no es nada complejo el sentirse interesado.

No me malinterpretéis, nunca he entrado a trabajar en una empresa pensando en que no me voy a jubilar ahí. Aunque en tu foro interno lo sepas. Y además creo que es contra producente.

No comparto algunas filosofías de que «como estoy de paso para que esforzarme». Esos planteamientos lo que hacen es crearte una marca personal poco positiva: de vago, poco implicado, etc. Ninguna cualidad positiva.

Seguro que más de uno se ha encontrado en ocasiones con que en su empresa han entrevistado a alguien conocido y le han pedido su opinión. ¿Te interesa que digan de ti que eres un vago? ¿Un agitador? ¿Un…?

¿No debiéramos de preocuparnos un poco más de que es lo que queremos que digan de nosotros? ¿No debiéramos de preocuparnos un poco más de nuestra marca personal?

Ser la opción preferente

He trabajado en algún sitio en el que existía la filosofía en la dirección de la empresa, de que ellos no distinguían a un programador de otro, por eso les daba igual a quien poner o quitar. Así que cuando Andrés te habla de eso mismo en su libro, no resulta difícil sentirse identificado.

Porque yo no soy igual que mis compañeros, no lo digo con desprecio, todo lo contrario, soy diferente, en algunas cosas mejor y en otras peor. Tengo que resaltar las cosas en las que soy mejor e intentar mejorar en las que soy peor. Es decir, aplicar los mismos principios que las empresas.

En uno de los primeros trabajos que tuve, pasamos por alguna dificultad y se contrató un gerente, vamos a decir, profesional. Nos hizo una reflexión que me pareció muy importante. A diferencia de por ejemplo un astillero o los altos hornos en los que la empresa cuenta con una infraestructura importante, en el sector de la informática y concretamente en el de desarrollo de aplicaciones, la infraestructura necesaria es mínima y fácil de conseguir. Una mesa, una silla y un ordenador con conexión a Internet es suficiente. El principal activo de este tipo de empresas son las personas.

He visto muchas ocasiones contratar o seleccionar a personas con nombres y apellidos, incluso he sido partícipe en algunas de esas operaciones, alguna vez siendo yo el contratado/seleccionado y en otras siendo yo el que he contratado o pedido a alguien con nombres y apellidos. Es decir un planteamiento de «hay mucha gente en el mercado, pero quiero a fulano o mengano, que le conozco y me gusta como trabaja».

Soy mi propia empresa

No en el sentido de ser un autónomo, o de ser una S.L. sino en la de aplicar las mismas técnicas que emplean las empresas, aunque sea un trabajador por cuenta ajena y mi «cliente» sea mi empresa.

Tener claro cual es el producto que vendo, tener un plan a corto y medio plazo de donde quiero estar situado en el mercado, tener un plan de como vender mi producto, tener un plan de formación (dentro de una año ¿voy a poder seguir vendiendo mi producto? o ya no lo va a necesitar nadie y tengo que formarme para vender otra cosa), tener claro que imagen de marca quiero transmitir, es decir que ideas y sentimientos quiero que asocien a mi marca (es decir a mi persona).

A mi me leer estos libros me ha venido muy bien, porque antes del verano el proyecto en el que estaba se había acortado y mi jefe me preguntó a ver que quería hacer para intentar buscar donde encajarme. Y no supe muy bien que contestarle. Solo tenía clara una cosa, quería hacer algo de lo que sentirme orgulloso (Ya lo se, me he saltado la regla de no hablar de mi actual empresa…).

Pero no era fácil responder a preguntas sencillas como ¿que «producto» les puedo ofrecer? ¿que me gustaría estar haciendo dentro de una año? ¿Que necesito para conseguirlo, me hace falta formación?

Es fácil responder a preguntas de tipo curriculum: ¿Quien soy? ¿Que se? ¿Que he hecho?, pero no tan fácil a estas preguntas con más enjundia.

Hagamos cosas asombrosas

Este planteamiento que hace Tom Peter me parece muy interesante. Vamos a hacer proyectos asombrosos y si no lo son los convertimos. Encaja perfectamente con mi planteamiento de querer hacer cosas de las que me sienta orgulloso. Aunque tampoco creo que sea sano el estar buscando constantemente el subidón del estar haciendo cosas asombrosas, también creo que es bueno el dejar reposar las cosas para que se asienten y sobre ellas construir nuevas cosas asombrosas. Y no siempre un peñazo de proyecto se puede convertir en algo asombroso, pero si creo que es bueno intentarlo. Caer en el derrotismo de ni siquiera intentarlo seguro que bueno no es.

Hace algún tiempo me dejaron un libro sobre uno de los responsables de Irizar, la cooperativa que construye autobuses. Este hombre (Saratxaga) consigue coger una empresa en crisis y por la que no daban un duro y convertirla en un referente en su sector. Comentaba que los clientes les decían que se notaban que ahora sabían lo que querían hacer, a donde iban.

Creo que es importante que la gente haga cosas de las que se pueda sentir orgulloso y no dejarse llevar por el pesimismo, del «esto es una mierda». Reconozco que es muy difícil, y algunas veces es realmente difícil. En alguna ocasión en una empresa en la que estuve y que no pasaba por un buen momento comentaba con una compañera, con la que tenia mucha confianza, que el problema no era que no viese la botella medio llena, es que no veía la botella. No es una reflexión que se pueda hacer así en público, porque no hay que desmotivar al resto de compañeros.

Si el proyecto es una mierda y no hacemos nada por mejorarlo y nos dejamos arrastrar será todavía más mierda, y nosotros estamos ahí metidos… No es interesante.

Y esto de la marca personal ¿es bueno para las empresas?

Yo creo que si, tener gente que sabe lo que quiere y que va a tirar para conseguirlo a mi me parece importante. Puede ser que te encuentres en situaciones en los que los objetivos de alguien no encajen con los objetivos de la empresa, pero eso ha ocurrido siempre y seguirá ocurriendo.

Gente que se tome en serio su marca y que se preocupe por cuidarla, ya no solo dentro de la empresa sino con los clientes de esta, creo que es positivo.

Gente que intente convertir un coñazo de proyecto en algo interesante, porque es su negocio, de lo que come, me parece que es un actitud positiva.

En este sector hay mucha mediocridad, mucho proyecto mal planificado y peor pagado y es muy fácil encontrarse actitudes negativas, gente quemada. Es importante intentar reconducirlo.

Como me dijeron una vez: «Si tu progresas la empresa progresa, si la empresa progresa tu progresas».

Yo procuro rodearme de personas que quieran progresar, procuro rodearme de personas que quieran hacer cosas de las que sentirse orgulloso.