Porque me preocupo tanto por las personas

Una amiga me dijo hace no mucho que debería añadir más entradas de índole técnico en el blog, para que se viese más claramente el nivel técnico que tengo.

Si me guiase por maximizar el número de visitas y mirase las estadísticas de entradas más vistas debiera de hacerlo, ya que con diferencia la que mas visitas ha tenido ha sido la que hablo sobre ant, maven y gradle.

Pero el objeto de este blog, aparte de que no es aumentar mi ego, está mas centrado en contar experiencias. Y he estado en demasiados sitios en lo que había suficiente nivel técnico pero la cultura de empresa o la visoñez de la gente acabó cargándose el «chiringuito».

Por eso me preocupa tanto esa parte. Probablemente debiera de ser tarea de recursos humanos y no de un técnico como yo, pero al final te acaba salpicando.

La (des)confianza en los programas

Estaba esta mañana probado un servicio/aplicación que ha lazado el BBVA, para manejar dinero con el móvil. Se llama Wizzo.

Me registro, pongo una contraseña un poco larga para que sea algo más segura. Me registro correctamente, pero al entrar me dice que no, que no es correcto. ¿Me habré equivocado? Bueno pues pruebo el recordar contraseña, con la misma clave, me acepta la contraseña, pero al intentar entrar me sigue dando error.

Después de probar unas cuantas veces, saco la vena tester y pruebo con una contraseña más corta… y funciona…

¡¡¡¡ No han validado las longitudes de los campos !!!!

Creo que esta gente del BBVA debiera de echarle un vistazo al artículo de pruebas que no podemos fallar.

Da mucha seguridad confiar tu dinero a una aplicación con unos fallos tan básicos… Esto ya no es deuda técnica, es desprestigio técnico…

¿Donde está el Gordon Ramsay de la informática?

Esta semana pasada he andado algo acatarrado/griposo así que he pasado bastante tiempo en la cama echo un trapo y haciendo zapping he visto algunos capítulos de pesadilla en la cocina en su versión americana.

Lo más curioso del asunto es que ves situaciones en un negocio de restauración que también he visto en sitios por los que he pasado como informático. Falta de liderazgo, por unos u otros motivos, gente que funciona por amiguismos, personal desmotivado, falta de calidad, etc.

Sobre el tema del amiguismo no me puedo quitar de la cabeza una dueña que había cogido el restaurante en el que trabajaba de camarera y no había cambiado nada así que defendía a su amigo al chef… que no sabia hacer ni una albóndiga.

Puede parecer un poco extraño, pero al final muchos de los problemas en una empresa son problemas con las relaciones entre las personas y el trabajo, no simplemente con el trabajo.

Porque te preocupas por el código, si no lo mira nadie.

Hoy quiero hablar de un tema que tenia en la cabeza desde hace tiempo y que la excelente entrada de Javier Garzás sobre la calidad del producto me viene como anillo al dedo.

El tema es como he vivido la evolución de la informática de desarrollo desde que empecé a trabajar, desde el punto de vista de un técnico que se dedica a la industrialización del desarrollo de software y a la arquitectura J2EE.

A principios del año 2000 (porque decir principios de la última década suena a muy mayor) estaba en un proyecto en el que una persona, y no programador precisamente, me hizo el comentario que figura como título de la entrada: «Para que te preocupas tanto por el código, si no lo mira nadie».

Es lo que se llevaba en esa época, cumplir los plazos y que la aplicación hiciese lo que tenia que hacer. Es decir se le daba muy poca importancia a los técnicos, eramos básicamente programadores, los que cortaban el bacalao eran los funcionales. Y los clientes tampoco es que se preocupasen mucho por el código.

Siempre me ha gustado intentar hacer las cosas lo mejor posible, así que por aquella época empecé a utilizar herramientas como PMD y Chekstyle, JUnit, etc que cuando las proponía usar me miraban raro. Parece que son herramientas nuevas, pero llevan desde hace más de 10 años.

Pero tenía claro que al final esa falta de preocupación por la calidad tenia que acabar explotando por algún sitio. Y así ha sido.Hoy día la mayoría de clientes de la zona están en mayor o menor medida implantando controles de calidad en el producto, independientemente de que exijan a sus proveedores la ISO o el CMMI.

Hoy día no resulta extraño encontrarse clientes con un Sonar, un SVN, un Jenkins, etc.

La siguiente gran práctica que creo que va a incorporarse va a ser el tema del TDD y todo lo relacionado con la automatización de pruebas. Ahí estaremos.

Un mes de marca personal agil: Sobre la marca personal

Sobre la parte de marca personal de este binomio de agilismo y marca personal estoy contento con la marcha del blog y del seguimiento que voy teniendo.

Me he apuntado al Bilbostack para ir ampliando horizontes. Hasta me he hecho unas tarjetas de visita, que aunque cada vez se usan menos, todavía hay ciertas situaciones en las que son útiles. También se supone que el curriculum está muerto, pero te lo siguen pidiendo, así que mejor tener cubierto ese flanco.

Es curioso en alguna entrevista que he hecho sonaba raro el hecho de decirles que el curriculum lo tienes en LinkedIn. Supongo que son costumbres que tardan en ir desapareciendo.

Algunos amigos y excompañeros me preguntan a ver que tal lo llevo, y la verdad es que nunca me había sentido tan a gusto. Desde que empecé aya por verano con estos temas de marca personal tengo las cosas mucho más claras sobre lo que puedo aportar, cual es mi producto, y eso da confianza.

Si me hubiese quedado sin trabajo antes de verano probablemente hubiese estado más desorientado, pero me pilló con las ideas bastante ordenadas. Ideas sobre cosas que normalmente los técnicos no solemos dedicarle mucho tiempo. Como por ejemplo responder a una simple pregunta como ¿cual es tu producto?, ¿que es lo que ofreces?.

Normalmente en una entrevista de trabajo estamos acostumbrados a soltar una retaila de herramientas, lenguajes, metodologías y clientes en los que hemos estado, diciendo por supuesto lo maravillosos que somos en esas cosas.

Pero hacer un planteamiento de, te puedo ayudar con este tipo de problemas y situaciones es completamente diferente, tanto es así que me cuesta no hacer una entrevista clásica de «leer el curriculum».

Un mes de marca personal agil: Sobre el agilismo

Hace algo más de un mes, cuando decidieron prescindir de mis servicios en mi antigua empresa, me propuse gestionar mi nueva situación intentando una mezcla entre marca personal y agilismo.

Empecé a utilizar evernote para tener el backlog y los sprint, porque era la herramienta que utilizaba en ese momento para organizar las ideas y pequeñas notas, pero no me acaba de convencer. Se puede hacer pero es un poco forzado. Así que he empezado a utilizar una herramienta que creo que se ajusta más a la filosofía ágil. Esta herramienta es trello.

Por otra parte una de las cosas que más me está costando es cerrar ciertas tareas, porque son como quien dice historias de usuario continuas. Es decir, buscar trabajo es una tarea continua y las historias de usuario van surgiendo conforme se te van ocurriendo ideas de como conseguirlo, así que incluso un sprint de una semana se hace largo, sobre todo si tienes en cuenta que se supone que en el sprint no debes cambiar las tareas a realizar.

Creo que debería hacer sprints incluso todavía más cortos, de un par de días. E incluso más concretos, los que he realizado hasta ahora eran un poco vagos o amplios.

Las restrospectivas normalmente no son formales porque obviamente me reuniría conmigo mismo y estoy reunido conmigo mismo hasta cuando duermo… Así que según se me ocurre algo que mejorar lo apunto o a veces incluso directamente lo hago (esto está mal…).

De vuelta de las fiestas… y algo más

Bueno ya estoy de vuelta de las vacaciones de navidad. Inicialmente había pensado en seguir escribiendo entradas, pero con tanta fiesta se te rompe el ritmo, es por eso que siempre me ha gustado cogerme vacaciones en estas fechas. Este año han sido obligatorias, pero bueno.

Así que me había propuesto retomar el teclado después de reyes, pero me he debido portar mal este año, porque me ha caído una gripe, que me ha tenido echo un trapo toda la semana.

Así que esta semana es la de empezar a retomar el trabajo de ir alimentando este blog, de ir buscando un trabajo, etc.

Es duro escribir una entrada todos los días, de hecho me asombro a mi mismo cuando veo la cantidad de entradas que he escrito.

Arquitectura Web: Porque me atrae AngularJS

En este breve repaso de la evolución de la arquitectura de aplicaciones Web, desde los comienzos muy estáticos hasta la actualidad, quiero comentar porque me resulta interesante el empleo de AngularJS y porque estoy introduciéndome en su uso.

Hemos visto que cada vez se ha ido trasladando más lógica de presentación a la capa en la que se realiza la presentación, es decir al navegador. Con el empleo de jQuery nos podemos acercar mucho, pero no completamente. Lo que nos aporta AngularJS a este objetivo:

La capa de presentación la construimos con javascript y html estático, es decir, ahorramos recursos:
– Al ser ficheros estáticos los puede servir un servidor web, más ligero que un servidor de aplicaciones.
– Al delegar la ejecución de la lógica de presentación en el navegador necesitamos menos potencia en el  servidor, ya que el servidor de aplicaciones no tiene que construir la página.
– Al ser los js y html recursos estáticos el propio navegador los puede cachear, con lo que se reduce el tráfico de red.

Existe una separación más clara entre los roles de desarrollador de la interface y de la lógica de negocio. Esto nos debiera permitir especializar más a los desarrolladores, sobre todo teniendo en cuanta que hay que gestionar la capacidad de la gente. También nos debiera de permitir el poder trabajar dos personas en paralelo la misma funcionalidad.

El estado de la sesión la podemos mantener en el propio navegador, con lo que el servidor se acerca a un sistema sin estado, lo que hace que sea más fácil escalar.

Podemos controlar el historial del navegador, sin que el empleo del botón de atrás nos rompa la aplicación.

Estas características hacen que sea muy interesante el por lo menos dedicarle un rato a introducirse en el empleo de AngularJS para confirmar que tiene la buena pinta que aparenta.

Arquitectura Web: Javascript al poder !!!

En esta revisión de la evolución de la arquitectura de aplicaciones Web, tal y como yo la he vivido hoy toca hablar de algo que nos acerca mucho a los planteamiento de AngularJS. La explosión definitiva del uso del javascript en el cliente con la popularización de JQuery

Recordemos que fuimos pasando de unas webs muy estáticas a unas webs con contenido más dinámico y asíncronas , pero en el que el empleo de javascript se hacia más complejo, porque se trabajaba a demasiado bajo nivel y lidiando con las peculiaridades de cada navegador.

En este escenario es donde jQuery empieza a imponerse como una solución para hacer más sencillo el construir este tipo de aplicaciones web. Además de aportar una serie de plugins que nos permiten hacer muy fácilmente desde animaciones hasta componentes como tablas paginadas.

El empleo de jQuery nos acerca a tener una lógica de presentación ejecutándose en el navegador.

– Avanzamos en la reducción del trasiego de páginas completas desde el servidor a los navegadores.
– Avanzamos en trasladar el mantenimiento del estado al navegador.
– Avanzamos en dotar a las aplicaciones de una mayor riqueza visual.
– Avanzamos en una mayor velocidad de uso.

Pero este planteamiento de SPI o SPA (Simple Page Interface o Arquitecture o Application) también nos provoca ciertos problemas:

– Tenemos problemas para controlar el histórico, es decir si el usuario utiliza el botón de atrás del navegador
– No tenemos un mecanismo fácil de plantillas y de programación de la página Web, aunque jQuery ayuda, hay ciertas cosas que seguimos teniendo que hacer en el servidor, porque resulta más sencillo y cómodo.

¿Me estoy pasando tres pueblos?

Hoy tocaba una entrada sobre la evolución de la arquitectura web, la tercera, pero he leído una entrada en el blog de Andrés Pérez Ortega que me ha recordado algunas preguntas que me he hecho últimamente.

Como he comentado alguna vez este dominio lo tengo desde el 2001, es decir un poco más de doce años, me voy a ahorrar el comentario sobre como pasa el tiempo…

En aquella época tener un web personal era una cosa sumamente rara, aunque técnicamente era muy sencillo. De hecho el como registrar el dominio lo saqué de un artículo de una revista de esas de trucos y revisiones que compré en un quiosco. Daba mas yuyu el tema de pagar por Internet, porque además se lo compré a un proveedor americano.

Nunca he tenido claro si me pasé tres pueblos con ello, me refiero a dar una impresión de ir muy adelantado a lo que se esperaba en esa época. Además hay que tener en cuenta que era cuando estaba empezando a trabajar.

Ahora con estos temas de la marca personal tengo la misma sensación. Yo tengo claro que el mercado ha cambiado y que ya no es como el de nuestros padres que empezaban en una empresa y ahí se jubilaban. Yo llevo 6 empresas en 15 años y soy de los que no les gusta cambiar mucho…

Así que hay que adaptarse y estar preparado para esta situación. Esto me hace plantearme dos cuestiones.

Adelantarse al futuro

Recuerdo una vez, muy al principio de mi vida profesional, que empezábamos un proyecto y le comentaba a mi jefe mis inquietudes, a lo que me respondió, que a el ese proyecto ya no le preocupaba, lo que le preocupada era conseguir otro para cuando terminásemos ese. Es la visión de un programador contra la de un gerente…

Creo que si quieres dedicarte a estos temas de industrialización del software y a la arquitectura web tienes que tener un cierto planteamiento de intentar anticiparte al futuro, como he hecho con la marca personal, sino te vas a ir encontrando problemas no previstos en el peor momento y tendrás que andar poniendo parches, es decir entramos en el terreno de la deuda técnica.

Cada uno es como es

Recuerdo otra ocasión en la que a una persona, muy relevante y respetada del mundo de la selección de personal, le comenté, también muy al comienzo de mi vida profesional, que había empresas en las que tiraban a la basura un curriculum simplemente por poner XWindows en vez de XWindow. A lo que me preguntó si me gustaría trabajar en una empresa así. Y la verdad es que no.

Así que ese problema de la percepción que pueda tener el resto de personas, sobre todo las que puedan tener en sus manos el contratarte o no, me inquieta pero relativamente.

Si que es cierto que en alguna entrevista que he hecho me he encontrado que todavía resulta un poco raro que no lleves tu curriculum en papel y le remitas al web y a LinkedIn. Creo que les descoloca un poco. Se fijan mucho en las tecnologías y productos que sabes o no sabes, que aunque son importantes, lo que mayormente determina el éxito o el fracaso de un proyecto es la gente, el formar un equipo de gente compatible.