La importancia de los peones

Recuerdo una vez que un compañero de la universidad, que venia de la FP, me comentó que un profesor suyo les decía que por mucho arquitecto que tengas si no hay un peón que ponga un ladrillo detrás de otro el edificio no se levanta.

Este sector de la informática es un poco puñetero porque hay escasez de profesionales y los proyectos cada vez son más grandes y críticos, porque la informática cada vez está más introducida en nuestro trabajo y en nuestra vida.

He tenido compañeros de trabajo que cuando las cosas se ponían crudas, porque no se llegaba a los plazos, o la calidad no era la suficiente, comentaban que se debería contratar gente buena.

Esto aunque de primeras pueda parecer fácil, es algo no tan sencillo, por una serie de motivos:

Adecuación:

Creo que la mejor forma de explicar el tema de la adecuación es con una anécdota de la que yo fue protagonista sin saberlo, de hecho me enteré a posteriori. Un compañero de trabajo le hizo un planteamiento de este tipo a nuestro jefe: «Si Iñigo te saca las cosas adelante, porque no contratas a más como el» a lo que nuestro jefe le contestó que podría hacerlo y tener a dos más como yo, pero que no tenia trabajo de suficiente nivel para 3, así que tendría que ponernos a hacer otras cosas y al final nos aburriríamos y nos acabaríamos marchando.

No se yo si hay mucho arquitecto que se sintiese realizado poniendo ladrillos…

Es difícil encontrar gente:

En este sector es complicado encontrar gente, ya no buena, simplemente gente válida, así que como para poder fichar a mucha gente que marque diferencias.

Me entristece cuando ves a compañeros criticar a otros sin tener en cuenta las condiciones en las que realizan su trabajo. Puedes tener compañeros más o menos torpes, pero normalmente también hay trabajo para ellos. La principal cuestión, no olvidemos que estamos hablando de trabajo, es si son o no rentables.

La conclusión, en mi punto de vista, es que hay que valorar a todos los profesionales, tanto si son los jefes de proyecto como si son el becario recién llegado. Cada uno tiene sus responsabilidades y hay que valorarles conforme a como las cumplan y las condiciones en que lo han tenido que realizar.

Hay otra derivada de esta situación, que es la de cuando tienen que poner a compañeros a hacer tareas no porque estén capacitados sino porque no tienen a nadie mejor, pero eso es materia para otra entrada.

Como convertir una buena idea en un problema

En la época de la construcción de aplicaciones J2EE con tecnología Struts y JSP trabajé en una empresa de servicios en la que introduje el uso de las etiquetas personalizadas (Custom tags).

Estas etiquetas funcionaban como librerías y nos supusieron una gran mejora, ya que, por ejemplo, en vez de tener que hacer corta y pega con el código para una campo de fecha, poníamos la etiqueta que nos habíamos hecho y esta nos generaba el código. Todo el mundo estaba contento, era una tecnología muy sencilla que nos permitía evitar todos los problemas del corta y pega.

Pero no era todo de color de rosas. Un año más tarde, esa misma gente, estábamos poniendo esas, originalmente maravillosas, etiquetas como ejemplo del problema que teníamos. Me explico.

Cada jefe de proyecto en cada proyecto aplicaba un criterio diferente. Unos decían que era mejor validar los datos en la perdida del foco, otros en el submit, incluso hubo uno que hacia mezcla de las dos, el formato en la perdida del foco y el valor en el submit. Unos decían que había que validar los datos antes de pedir confirmación de la operación y otros al revés.

Conclusión, en cada proyecto la etiqueta era diferente, eso provocada que aparte de perder tiempo en adaptar la etiqueta, si un programador tenia que pasar de un proyecto a otro necesitaba un cierto aprendizaje, porque obviamente no solo era la dichosa etiqueta la que se cambiaba en cada proyecto, todos para el mismo cliente, había más cosas que cambiaban.

Es decir, incrementábamos el tiempo de desarrollo y no aportábamos absolutamente ningún valor a nuestro cliente.

Estos errores los he seguido viendo en otras empresas y con otros grupos de personas, porque la gente no parece que sea capaz de interiorizar ciertas cosas:

  • Hay que maximizar el aportar valor al cliente.
  • TU casa la puedes poner a TU gusto, pero el proyecto, por muy jefe que seas (y en alguno he sido bastante jefe), NO es tuyo, es del cliente.
  • Toda mejora supone un cambio, pero no todo cambio supone una mejora.
  • Si algo es razonable, aunque tu lo hubieses hecho de otra manera, déjalo y céntrate en mejorar cosas que estén realmente mal.

Tu eres parte de la imagen de la empresa

Una vez, en uno de mis primeros trabajos, un comercial con el que trabajábamos me dijo, un poco indignado porque veía a muchos jóvenes que no llevaban corbata: «En el momento que estás de cara al cliente eres parte de la imagen de la empresa».

En aquella época con menos de un año de experiencia no supe valorar muy bien lo que me decía, pero a lo largo del tiempo lo he podido ir comprobando. Por ejemplo he tenido algún jefe que no enviaba a compañeros al cliente, simplemente ¡porque no se afeitaban!.

Me surgen una serie de reflexiones sobre este tema de la imagen.

No controlamos los valores o criterios que otros tienen:

Nos pueden parecer o no planteamientos aberrantes, pero hay gente que piensa así, y normalmente cuantos más años tenga la otra persona es más fácil que se acerque a esa mentalidad. Y normalmente en las empresas los que toman decisiones no suelen ser recien licenciados que van al trabajo con pantalones «cagaos».

Hay que contar con ello. Creo que si quieres destacar por tu valía profesional y no por las pintas, hay que procurar ir acompasado con el sitio al que vas y la empresa a la que representas. No es lo mismo hacer una visita a un sitio en el que hay cierta informalidad en el vestir que a un sitio en el que todo el mundo va de punta en blanco. Tampoco es lo mismo si eres un diseñador que si eres un jefe de proyecto.

La delgada línea entre parecer Google o una panda de amiguetes.

Todos hemos visto esas imágenes de las oficinas de Google, con sillones de colores, futbolines, salas de masajes, etc. Y me imagino que todos hemos soñado con poder trabajar en un ambiente así. Pero ellos se pueden permitir esos lujos porque son Google, ganan mucho dinero, hacen cosas geniales y además parece que se lo pasan pipa.

En una empresa en la que trabajé había hilo musical, y desgraciadamente el altavoz estaba justo encima de mi sitio y el volumen lo ponían bastante alto, tanto es así que muchas veces, para hablar con la persona que tenia sentada enfrente, mesa con mesa, tenia que levantar la voz. Algún cliente en alguna llamada por teléfono me comentó que «vaya hilo musical más ligerito que teníamos» y eso unido a las chapuzas mayúsculas que hacíamos pues probablemente transmitíamos una imagen de panda de amiguetes haciendo una práctica de la universidad.

Si hubiésemos hecho cosas geniales probablemente la impresión que hubiésemos dado hubiese sido distinta. Por cierto esa empresa acabó cerrando.

La imagen no es solo la publicidad

Tengo la sensación de que a veces se piensa en la imagen como la publicidad, la fachada, y creo que no es solo eso. No es solo el ir bien vestido (es decir vestido acorde con la situación), también son cosas más sutiles, como transmitir una sensación de solvencia, de disponer de los medios para hacer el trabajo, en general de profesionalidad.

En una ocasión, después de más de diez años, en la empresa en la que estaba por aquella época, contratamos a uno de los primeros jefes que tuve, para que nos echara una mano en un tema colateral del proyecto que teníamos entre manos y que nosotros no teníamos suficiente nivel para abordarlo. Me encanta la profesionalidad de ese hombre, cuando le decías: «Iñigo, como podríamos hacer que…» y te contestaba con un «Eso, sin problema, montamos un …» y luego realmente era así, sin problema.

Venia con su Mac portátil, en una mochila también blanca. No como en ocasiones que he visto a gente con portátiles del pleistoceno en una maleta toda destartalada, teniendo que pedir un cable de red, etc…

Cuando hablo de transmitir una imagen, no es solo por fachada, sino porque detrás hay argumentos sólidos que sustentan esa imagen, hay medios, hay profesionalidad, hay un «Sin problema»

Aquí entramos en un área que está tomando cierta popularidad últimamente y es la de la marca personal, pero eso lo dejaré para otra ocasión. Solo un pequeño aporte, técnicamente no contratamos a Iñigo, contratamos a la empresa donde el trabajaba, pero porque estaba el… Marca personal.

Motivación y Autocensura

Cuando empiezas a escribir sobre temas profesionales, contando tus experiencias, corres el riesgo de molestar. De que ciertas personas se den por aludidas, etc.

Este grupo de entradas intentan reflejar las experiencias vividas profesionalmente y las lecciones aprendidas de ellas. No son, por supuesto, todas sino las más relevantes.

Siempre he procurado contrastar las cosas y no guiarme por las opiniones de una única persona. Me parece una actitud enriquecedora. Así que tampoco creo que nadie deba tomarse mis vivencias y opiniones como dogma de fe. No lo hago ni yo mismo, ya que cada día surgen vivencias nuevas y las opiniones pueden, y es bueno, que vayan evolucionando.

Pero si espero que puedan ayudar a reflexionar y que cada uno se forme su criterio. Sobre todo a las personas con menos experiencia profesional y que consecuentemente tienen menos puntos de referencia para formarse un criterio.

Así que me he auto impuesto una cierta «censura»:

No hablar de mi actual empresa.

Ni para bien ni para mal, por motivos obvios. Otra cosa es que ciertas experiencias vividas, positivas y negativas, haya gente que piense que se reproducen en mi actual empresa. Las opiniones son libres.

Ni siquiera las cosas que me han funcionado bien en una ocasión tienen porque funcionar bien en mi actual empresa. Son situaciones diferentes con casuísticas diferentes.

No revelar secretos

Es por un mínimo de ética profesional, aparte de por temas legales, el no revelar «secretos» o cualquier información que sea estratégica para las diferentes empresas o clientes en los que he trabajado. Así que en algunos temas soy intencionadamente un poco difuso. De todas maneras este es un blog personal, así que el objetivo es que todo el contenido, opiniones incluidas, sea personal.

Procurar ser constructivo.

He estado en situaciones en las que he tenido una cierta responsabilidad sobre un proyecto o sobre un equipo de trabajo. Se lo complicado que es, así que procuro no criticar alegremente. Que fácil se veían las cosas de «los jefes» cuando era un simple programador y que complicadas se ven cuando eres un «jefe»…

He participado en procesos de selección en los que yo era parte de los que daban su opinión y soy consciente de lo complicado que es conseguir gente buena, por el precio que les puedes pagar. Por eso intento ser constructivo, porque he visto a demasiada gente, compañeros honestos la mayoría, con responsabilidades para los cuales no estaban preparados, pero eran los mejores disponibles, y que hicieron lo posible para realizar correctamente su trabajo. Yo mismo, sobre todo al principio, he estado en puestos con responsabilidades que me superaban totalmente.

Evitar las experiencias negativas (las positivas no son problema) en las que sea muy claro quien eran los involucrados.

Procuro contar experiencias y sacar conclusiones de vivencias que se han repetido en más de una situación. Con tuerce botas todos nos hemos tropezado y seguiremos tropezándonos, de hecho en un libro leí que hasta las mejores empresas, las más punteras, tienen mínimo un 10% de gente toxica. No merece la pena malgastar mi tiempo en ellos. Prefiero dedicarlo a colaborar con los mejores.

Dime con quien andas y te diré quien eres

Quien no ha escuchado esta frase alguna vez: «Dime con quien andas y te diré quien eres»

Siempre la había escuchado en un entorno personal, de la vida privada, pero leyendo el libro «50 claves para hacer de usted una marca«, me he dado cuenta de que también se puede aplicar a los negocios. Es un concepto que había escuchado hace ya mucho tiempo, el de que «tus clientes te dan prestigio», pero no lo había unido con la sabiduría popular.

Es decir, no es lo mismo haber hecho un proyecto exitoso para un cliente muy exigente que para un cliente muy poco exigente.

Es un concepto importante a transmitir a los compañeros de trabajo con menos experiencia, que muchas veces no se dan cuenta de las implicaciones que tiene su trabajo, pensando que todo el problema se reduce a ir a la oficina. Si que es cierto que mil euros de un cliente exigente pueden comprar lo mismo que mil euros de un cliente poco exigente. Pero tu vales menos.

Una compañera de trabajo me comentó una vez que fue a hacer una entrevista y en un momento de la misma el entrevistador le dijo que muy bien, pero que en todos los sitios en los que había estado habían acabado en desastre. Eran sus primeros trabajos, de programadora y lógicamente ante ese planteamiento se quedó de piedra.

Alguna vez comentando con compañeros de trabajo este caso, se indignan porque les parece injusto. Pero es así, si estás en un proyecto, algo de responsabilidad será tuya, poco o mucha, para bien o para mal.

Es algo que la gente debería tener en cuenta. Para mi, desgraciadamente ya son varias veces en sitios diferentes que me encuentro con situaciones en las que las cosas no van bien, que hay compañeros que no se implican, o que tienen demasiada tontería y poca profesionalidad, pero hay otros compañeros que optan por reírles las gracias o directamente por no hacer nada, hasta que ocurre lo inevitable, por lo menos en las empresas pequeñas, surgen los problemas económicos.

Así que «Dime con quien andas y te diré quien eres». Yo lo tengo claro, quiero andar con los mejores.

Google Chrome

Acaba de salir el nuevo navegador de Google.

Como desarrollador de aplicaciones Web hay una cosa que me gusta mucho de este nuevo navegador y es la posibilidad de configurar un Web como una aplicación.

¿ Y porque ? Pues porque te elimina todas los elementos de menu del navegador, todos los botones de atrás, adelante, etc. Es decir te acerca mas a una ventana de una aplicación en la que tu gestionas los menús y toda la navegación sin tener una aplicación por encima con la que te puede descontrolar todo el control que necesitas de tu aplicación.

Cosas como no tener que preocuparte de controlar si el usuario te da el botón de atrás porque no lo tienes disponible, o no presentarle la opción de activar el historial.

Es decir que el navegador se comporte sobre ese web como si fuese una aplicación y no un visualizador de páginas/documentos.

Ojalá los demás navegadores lo copien.

La calidad del código II

La calidad en el código es un tema que me interesa desde hace ya algunos años.

Lo que me sorprende es comprobar que me ha sido imposible implantar estas prácticas en los diferentes sitios en los que he desarrollado mi trabajo. Quizá sea por mi incapacidad para trasmitir el mensaje, no lo se, pero me he encontrado con ciertos posicionamientos.

  • Se ve como algo caro. Como si hubiese que desembolsar mucho dinero para comprar productos, cuando existen hoy día herramientas gratuitas y libres que funcionan muy bien.
  • Se ve como que eres un purista que vas a poner un sistema que va a parar el desarrollo en pos de la excelencia técnica. Cuando es perfectamente factible implantar un sistema progresivo. A mi personalmente me gusta la técnología, pero me gusta mas la pasta ($).
  • Se ve como pijadas que no van a hacerte que entregues a tiempo. Si es cierto que comprometerse a que despues de un igual o una llave exista un espacio en blanco puede parecer una chorrada, y que no va a hacer que el programa funciona mejor, pero es que cumplirlo tambien es una chorrada. Te lo hacen los propios editores de código al formatear.
  • Pero sobre todo el principal problema es que los clientes no miran el código. Como me dijo una persona hace tiempo: «Para que te preocupas tanto por el código si nadie lo mira». El problema de este planteamiento es cuando te encuentras en un proyecto grande que lleva 8 años desde que se inció y tienes que mantener código que tira para atras solo el leerlo.

Yo veo la calidad en el código como una forma de diferenciarse de la competencia, como una forma de mantener un mínimo de control en proyectos en los que hay una circulación de gente fuerte. Y sobre todo me parece que no es para nada caro si no entramos en planteamientos maximalistas.

La calidad del código

No deja de sorprenderme el encontrarme con código que da dolor leerlo.

Puedo entenderlo en programas viejos desarrollados cuando no se disponia de herramientas que te ayudasen a mejorarlo.

Pero hoy día con la cantidad de herramientas gratuitas que existen me es muy dificil de entender que mucha gente ni las conozca y lo que es peor, que las conozca y no las use.

Es muy triste que el control de calidad se quede en «compila y funciona».

Algunas herramientas para auditoría y métricas gratuitas como PMD, CheckStyle o Eclipse nos pueden ayudar de una forma muy facil a escribir mejor código con muy poco esfuerzo