¿Llega la escasez de programadores a "provincias"?

Hace mucho tiempo que se habla de la escasez de programadores en España, pero hasta hace no mucho no lo había notado en mis carnes. Lo máximo que me había llegado hasta entonces era algún correo de amigos y conocidos pasando el perfil que buscaban las empresas en dónde trabajaban por si los destinatarios conocíamos a alguien o nos interesaba.

Hará cosa de tres o cuatro meses que me empezó a llegar algún correo de empresas de Madrid y Barcelona para que les envíe mi currículum, parece que buscan en portales/comunidades de programadores perfiles que puedan ajustarse a sus necesidades (o quizás algunos simplemente hagan spam), tampoco me sorprendió demasiado esto al leer por ahí el problema para encontrar gente en las dos grandes capitales.
Esta situación parece que ya ha llegado este verano a "provincias", o al menos a la mía. He recibido llamadas de consultoras de RRHH que tendrán desde hace dos años o más mi currículum (muy desactualizado).

Un día me llamaron para ¿consultor? de navision, al decirles que ni idea... la conversación se quedó ahí , mi perfil no encajaba, pero mi sorpresa fue cuando volvieron a llamarme para el mismo puesto, que el perfil que buscaban había ¿cambiado?, y entonces ya les dije que no me interesaba.
Otro día fue para un perfil de programador en .NET, en ese currículum aparecía que había tocado VB 6.0, mientras estudiaba guarreano un mucho, y menos de 200 horas de prácticas de empresa. Lo único que no me quedó claro es si era para senior o junior, por el salario que ofertaban diría que para un junior con unos 6 meses de experiencia con .NET (sólo me faltarían 6 :)).

En ninguna de las llamadas me pidieron si quiera que les enviara el currículum actualizado, por lo que además me llevé una mala impresión de la forma en que trabajan.

Además de esto alguna empresa parece que no tiró mi currículum a la basura en su día :), hace muy poco me llegó un correo de una empresa de desarrollo, informándome de que tenían un proceso de selección abierto y que si me interesaba me inscribiera en la oferta en un conocido portal de empleo.

Al entrar a ver la oferta, deja de extrañarme que me hayan mandado un correo, para varios puestos que publicaban en la oferta menos de 10 inscritos. Esto me hizo ir a ver el número de inscritos para perfiles junior, ya que la última vez que busqué trabajo en ese portal era el perfil que tenía, y veo que en algo más de año y medio hay entre la mitad y un tercio de inscritos en las ofertas.

Habrá que ver cómo acaba el trabajo del futuro, porque encima parece que cada vez hay menos estudiantes de especialidades informáticas al ver que los que estamos en este mundillo recomendamos no meterse, sino te gusta mucho claro. Y por otro lado, también hay muchos de los que acaban de estudiar que no quieren programar, prefieren colocarse en departamentos de informática de grandes empresas y realizar tareas de soporte o cualquier otra cosa, así ahorrarse las comidas de cabeza que nos metemos a veces los programadores.

Principios del programador

De vez en cuando le doy una ojeada a programame, un clon de meneame temático de programación, y voy encontrando cosillas interesantes.

En esta ocasión, una traducción del artículo Principled Programming al castellano, Los principios del programador, la verdad me ha parecido un artículo que hay que recordar de vez en cuando para tener más presentes estos principios para mejorar nuestro trabajo.
Los diferentes principios son:

El Principio del Carácter Personal establece: Escribe tu código de forma que refleje, y saque a relucir, solo lo mejor de tu carácter personal.

El Principio de la Estética establece: Esfuérzate por conseguir la belleza y la elegancia en cada aspecto de tu trabajo.

El Principio de la Claridad establece: Dale el mismo valor a la claridad que a la corrección. Utiliza activamente técnicas que mejoran la claridad del código. La corrección vendrá casi por sí sola.

El Principio de la Distribución establece: Usa la distribución visual de tu código para comunicar la estructura de tu código a un lector humano.

El Principio de lo Explicito establece: Intenta siempre favorecer lo explícito sobre lo implícito.

El Principio de Código Auto-Documentado establece: La documentación más fiable para el software es el propio código. En muchos casos, el propio código es la única documentación. Por lo tanto, esfuérzate en hacer que tu código sea auto-documentado, y allí donde no sea posible, añade comentarios.

El Principio de los Comentarios establece: Comenta mediante frases completas para resumir y comunicar la intención.

El Principio de las Suposiciones establece: Da los pasos que sean razonables para comprobar, documentar y prestar atención a las suposiciones hechas en cada módulo y rutina.

El Principio de la Interfaz con el Usuario establece:Nunca hagas que el usuario se sienta estúpido.

El Principio de Volver Atrás establece: El momento de escribir buen código es justamente el preciso momento en el que lo estás escribiendo.

El Principio de El Tiempo y El Dinero de Otros establece: Un verdadero profesional no gasta el tiempo ni el dinero de otras personas produciendo software que no esté razonablemente libre de fallos; que no esté mínimamente probado; que no cumpla con los requisitos establecidos; que esté falsamente adornado con características innecesarias; o que tenga un aspecto deplorable.

Habrá que intentar cumplir estos principios en la medida de lo posible, aunque a veces los tiempos ajustados no nos ayudarán demasiado a hacerlo.

Como todos los meses de Agosto...

... al llegar la fiesta mayor.

Es el principio de la canción 15 de Agosto del grupo maño Ixo Rai!, día que coincide con las fiestas mayores de la mitad de poblaciones del país, entre ellos mi pueblo, San Esteban de Litera en honor a San Roc (San Roque).

Las fiestas empiezan mañana martes 14 hasta el domingo 19, el programa de fiestas está disponible en la web no oficial desde hace unos días en pdf. Como se puede ver, una programación muy típica de pueblos de la zona: fútbol, juegos aragoneses, petanca, tiro al plato... menos vaquillas de todo, por la noche orquesta y simultáneamente fiesta en las peñas al menos hasta el inicio de la discomóvil.

Después lo más curioso, los resopones y almuerzos (que son gratis), que creo se hace en muy pocos sitios, además que las peñas regalamos la bebida, eso sí sólo cervezas y poncho (bebida hecha a base de vino y melocotón), y si hay suerte en algún sitio hasta refrescos :), por eso no hace falta ni que lo diga... quien quiera que se acerque. Ah! se me olvidaba seguramente después de cada resopón habrá after probablemente en La Carpa que últimamente somos los que liamos más juerga.

Menos mal que todavía me quedará una semana de vacaciones para recuperarme.

Usar Facelets con Tomahawk

Después de empezar a usar facelets, necesitaba utilizar, cómo no, los componentes de myfaces tomahawk, para esto hay una documentación muy buena en el wiki de apache, use facelets with tomahawk.

El primer paso que debemos dar es crear un taglib.xml que describa cada componente, está recomendado llamarlo tomahawk.taglib.xml por si necesitaramos añadir alguno más, podemos utilizar el que está puesto como ejemplo en el wiki.

También debemos añadir en el web.xml un context-param con param-name facelets.LIBRARIES con el param-value que apunte dónde está nuestro taglib, ej:/WEB-INF/tomahawk.taglib.xml.

Con esto nos funcionarían casi todos los componentes, pero en el caso del updateActionListener no funcionaría, en JSF 1.2 se puede usar el equivalente del core setPropertyActionListener, pero en mi caso al utilizar la implementación de myfaces 1.1.5, que es una implementación de la especificación JSF 1.1, necesitaba este componente. Para poder utilizarlo, es necesario, descomentar la línea que describe el componente updateActionListener, y descargarnos el .jar TagHandler de jsf-comp y añadirlo a nuestro proyecto.

Frameworks de PHP

En maestrosdelweb, han escrito dos artículos Los Frameworks de PHP agilizan tu trabajo (y II).

Aquí nos presentan algunos de los muchos frameworks que implemetan el patrón MVC de PHP, de los que alguno no conocía su existencia, eso sí he hechado de menos phpMVC, que es un port a PHP de struts y creo que está bastante utilizado al ser de los más veteranos.

Aprovecho también para comentar que hace un tiempo que está disponible la traducción al español de la guía de Symfony. Symfony, la guía definitiva.

Parece que poco a poco hay más documentación en español y alguna iniciativa interesante para poder aprender a trabajar de una forma más ordenada con PHP, empezando por la documentación oficial de PHP5.