La importancia del currículum en la actual industria tecnológica

Curriculum Vitae

El vehículo para movernos por el mundo laboral ha sido siempre el currículum, ese documento de presentación de cada uno que lista las características que nos hacen únicos en el mundo. Se podría decir que al fin y al cabo no deja de ser un documento de marketing, un documento que tiene el objetivo de vender algo, el candidato, a alguien, el empleador. ¿Y qué tienen en común todos los documentos de marketing? Que todos manipulan la realidad para conseguir su objetivo, reforzando las luces y ocultando las sombras de lo que se pretende vender.

Lo reconozco, yo mismo lo he hecho, sí. Quizás he puesto que conozco una tecnología que se ha utilizado en un proyecto en que he participado aunque su uso lo haya llevado a cabo íntegramente algún compañero, o he podido decir que tengo un nivel medio en algún lenguaje de programación del que no tengo más que algunas nociones básicas. Muchas otras veces, sin embargo, he hecho lo contrario. No soy precisamente habilidoso a la hora de venderme a mí mismo y esto ha hecho que más de una vez no le haya dado importancia a algún conocimiento en el currículum incluso pudiendo considerarme un experto. Por tanto sea por una razón u otra el currículum no es normalmente la mejor herramienta para obtener información veraz sobre un candidato. Además debe ser así, no hay que olvidar que estamos ante un documento para encontrar trabajo y por tanto no va a ser objetivo. Esto es conocido por todo el mundo y así está aceptado.

¿Siendo esto así, por qué sigue existiendo entonces el currículum? En mi vida me ha tocado estar en los dos lados de la mesa, como candidato y como entrevistador, y en ninguno de los casos se puede decir que el documento que nos ocupa tuviera una importancia capital. Es posible que sea de ayuda como canalizador de la conversación de forma que se vaya pasando todos los puntos en el mismo para que las partes vean cómo de cerca se está del acuerdo. También es verdad que a veces puede usarse como un primer filtro que separe los candidatos que dicen saber algo de los que no. Desgraciadamente tengo una mala noticia para este caso, ya que leyendo la oferta de trabajo se puede crear currículum ad-hoc que permita superar este primer paso.

Yo tengo claro que no es posible conocer a un candidato simplemente leyendo su currículum y la prueba ello es que nunca suele contratarse a nadie basándose sólo en él, a no ser que existan razones legales para ello. En un proceso de selección las partes quieren conocerse entre sí y una vez que esto se consigue (o se piensa que se ha conseguido) se toma una decisión. Honestamente creo que este proceso sería muy parecido sin un currículum sobre la mesa.

Hoy en día casi a diario llega alguien a través de sitios como LinkedIn hablando sobre un puesto de trabajo disponible en su empresa (como digo siempre, al menos en mi sector) y diciendo que después de haber visto nuestro perfil piensan que podemos ser la persona indicada para ocuparlo. En ese momento se supone que el recruiter tiene un mínimo de información sobre nosotros pero aún así te piden un currículum si nuestras algo de interés, normalmente en formato Word o PDF, a saber por qué razón.

Perdona pero se supone que en el perfil que has visto sobre mí tengo la misma información que aparecería en el currículum. ¿Qué te hace pensar que encontrarás más información? De qué forma será de ayuda ese segundo documento? Yo creo que de bien poco.

Estando al otro lado también te suelen decir mismo siempre: la semana que viene entrevistaremos a un candidato, toma su currículum y échale un ojo. Y sí, normalmente se le echa un ojo para saber algo sobre el candidato o preparar preguntas. Pero, ¡oye! ¿Las preguntas deben ser sobre el candidato o sobre el puesto? Pues bueno, si queremos hacer una entrevista decente deberán ser sobre ambas y por lo tanto necesitaremos cierta información sobre el entrevistado. ¿Entonces currículum sí o no? Dos opciones, o currículum o hacer siempre la misma pregunta en primer lugar: ¿Puedes contar lo que has hecho hasta ahora? Con esa pregunta la persona que busca el trabajo contará lo mismo que pone su currículum pero en este caso tendremos dos ventajas: es más fácil identificar mentiras en una conversación que a través de un frío documento preparado de antemano y además tendremos la oportunidad de ver cómo el candidato es capaz de expresarse y explicar conceptos.

Por lo tanto creo que el currículum no tiene mucha importancia en nuestro sector aunque a veces puede servir de utilidad. Útil sí, imprescindible no.

En vez de esto, ¿no sería mejor mirar cosas medibles? Una cuenta de GitHub, por ejemplo, puede ser el mejor currículum para un programador ya que es ahí donde puede verse con qué tecnologías trabajado, qué estilo de programación tiene, si utiliza las arquitecturas correctas o la importancia que le a la documentación. Bajo mi punto de vista se puede conseguir más información de esta forma, una foto que se acerca bastante más a la realidad.

De hecho, la mera existencia de la cuenta GitHub es un indicador perfecto de los intereses del candidato. En el mundo de la informática trabajan a diario millones de personas, muchas de ellas porque les apasiona este mundo y muchas otras porque de alguna manera hay que ganarse la vida y en algún momento han caído aquí. ¿Quiénes pensáis que tendrán proyectos personales fuera del trabajo?¿Quiénes son más proclives a estar aprendiendo constantemente? Aquellos a los que les gusta algo tienen más posibilidades de ser excepcionales y son éstas las personas que son de ayuda en el trabajo. Por desgracia suele ser muy difícil clasificar a la gente en los mencionados tipos de persona basándonos en el currículum porque en ellos todo el mundo es excelente, profesional, trabade equipo y creativo.

No estar buscando trabajo hace de este momento uno muy interesante para probar la idea con los recruiters que llegan con ofertas. ¿Como reaccionará una empresa si un candidato le dice que no tiene currículum? Descartará a ese candidato inmediatamente o estará abierta a explorar otras formas de conocer a la gente?

Anuncios

El caso NPM y la forma en la que gestionamos las dependencias en proyectos de software

npm-logoJavascript se encuentra en su edad de oro en estos momentos. A pesar de llevar décadas con nosotros es ahora cuando este lenguaje de programación ha conseguido un éxito que nunca antes ha tenido y últimamente he oído en varios sitios que es el lenguaje de programación más utilizado del mundo (no sé si será cierto).

Sin duda la llegada de HTML5 por un lado y la aparición de una tecnología como Node.js por otro han hecho que el espacio en el que se mueve Javascript haya crecido exponencialmente y además se haya mostrado como una opción totalmente válida en esos territorios que ha ‘colonizado’. En los últimos años han aparecido miles de frameworks, librerías y herramientas y la mayoría de ellos son de código abierto. Con la llegada de tal número de opciones se vio la necesidad de una ayuda a la hora de poder hacer uso de ellas y es aquí cuando llegaron herramientas como npm (Node Package Manager) o Bower, con las cuales podemos gestionar todas las herramientas que utilizaremos en nuestros proyectos de forma que se eliminan gran parte de los quebraderos de cabeza que surgían antes.

Que herramientas como Bower y npm son un paso adelante está más que claro, pero esto no quiere decir que su uso no vaya a generar problemas. Hace poco miles de programadores aprendieron de forma bastante poco cómoda que estos problemas son reales y que utilizar componentes de terceros puede ponernos en una situación delicada si no tenemos un poco de cuidado. El tema es que las herramientas de terceros que utilizamos en nuestros proyectos no dejan de ser dependencias, es decir, nuestro proyecto dependerá de ellas porque las necesitará para funcionar.

Siendo ésta la situación podría pasar que en caso de que una de las dependencias cambie algo en su código nosotros tengamos que hacer cambios también para adaptarnos a dichos cambios. Este hecho suele ser bastante habitual en el mundo del desarrollo de software y las librerías y frameworks que están bien mantenidas suelen avisar con bastante antelación de cambios que no sean compatibles hacia atrás.

Pero en la situación que he mencionado más arriba no hubo ningún aviso previo. La historia es la siguiente: el dueño de un módulo npm llamado Kik tuvo una disputa con la empresa que tiene el mismo nombre debido al nombre de marras y cuando la propia npm se posicionó del lado de la empresa el desarrollador decidió eliminar todos sus proyectos de dicha web. Como es habitual entre los usuarios de npm este usuario tenía multitud de proyectos y resulta que uno de ellos era uno llamado Left-pad. Podríamos decir que este proyecto es bastante simplón ya que se compone de un único fichero de 17 líneas.

Sin embargo este pequeño proyecto no era de esos que sólo conoce y usa su creador. Proyectos gigantes como Babel o Atom utilizaban Left-pad en su código, es decir, dependían de Left-pad. La desaparición del pequeño componente a causa de la disputa por el nombre causó que proyectos de tal envergadura dejaran de funcionar y con ello despertó el debate en torno a npm y las dependencias.

En mi caso lo que suelo intentar al iniciar un proyecto es aplicarme la ley de generar el mejor número de dependencias posible. A veces las cosas no van como uno quiere y acabamos teniendo una interminable lista de dependencias en el fichero de configuración de npm y también es cierto que volver a hacer algo que ya está hecho es perder el tiempo, así que no estoy diciendo que utilizar el trabajo ofrecido por otros sea mala idea. Lo que pretendo decir es que añadir dependencias constantemente puede traer problemas en el futuro.

Por tanto, sabiendo esto, mi filosofía es intentar usar el menor número de dependencias posible. Si necesito un pedazo de código muy pequeño, digamos una función o dos, suelo preferir implementarlo yo a importarlo de otro lugar y debido a esto creo que un caso como el de Left-pad no hubiera afectado a uno de mis proyectos. Pero que nadie piense que esto es porque soy más listo que el resto del mundo, simplemente es así por la forma de trabajar que yo he escogido. Seguramente Left-pad es una herramienta totalmente fiable y testada y puede ser que yo hubiera introducido algún error en mi propia implementación que en este caso no hubiera afectado a Atom o Babel.

Una cosa es clara: cuantas más dependencias tengamos más complejo (tanto por ser más grande como por tener partes no hechas por nosotros), potencialmente con menor rendimiento (sobre todo en aplicaciones para navegadores, cuanto más código tengamos más tiempo hasta falta para descargar todo y poner la solución a correr) y más difícil de gestionar (porque tendremos que tener bajo control la evolución de las dependencias para evitar que cambios en las mismas hagan que nuestro trabajo deje de funcionar) será el proyecto. Mi recomendación es que antes de añadir una dependencia nos hagamos las siguientes dos preguntas:

  • ¿De verdad necesito esta dependencia?
  • ¿Es ésta la dependencia que realmente cubre mis necesidades?

Creo que le segunda pregunta es muy interesante. Normalmente las librerías y frameworks hacen muchas cosas y puede ser que nuestro proyecto no vaya a usar la mayoría de ellas. Por ejemplo, no tiene ningún sentido utilizar Angular.js en un proyecto si lo único que nos interesa es el enlazado de datos (two way data-binding). Estoy seguro de que hay otras opciones que ofrecen solamente esta funcionalidad y en este caso concreto Angular.js es claramente una dependencia excesiva.

En resumen, mi opinión es que es mejor tener el menor número de dependencias posible y que éstas estén bien escogidas para que hagan únicamente lo que necesitamos, ni más ni menos. Y por supuesto, aún con sus problemas, recomiendo encarecidamente usar herramientas del estilo de npm o Bower porque facilitan mucho la gestión de las dependencias.

Ubuntu dentro de Windows? Tecnología, política y filosofía mezcladas

bash-windowsHace unos días tuvo lugar la conferencia para desarrolladores Build en la que Microsoft presenta novedades en sus tecnologías. En este evento anual suele haber presentaciones de hardware y se habla sobre las nuevas herramientas que ofrecerá el gigante de Redmond para Windows, Office, Visual Studio o Xbox. Pero además de todo eso en esta edición se presentó algo que dejó a muchos bastante descolocados.

Si hace unos años hubiéramos oído que Microsoft consideraría a Linux como una plataforma válida para sus planes muchos hubieran reaccionado con una gran carcajada. Pues bien, parece que en la última conferencia se ha demostrado que las cosas han cambiado. No puede decirse otra cosa al hecho de que Microsoft haya colaborado ni más ni menos que con Canonical para presentar una instancia del bash de Ubuntu que se podrá ejecutar desde dentro de Windows.

Sí, Microsoft colaborando con la empresa que desarrolla la distribución de Linux más conocida para abrirle las puertas de Windows a un sistema que hace unos años consideraban un cáncer.

Y qué conseguirán los usuarios de Windows con esta nueva herramienta? En realidad los usuarios comunes no se darán cuenta de la existencia de esta novedad ya que es una herramienta dirigida a desarrolladores. Para éstos últimos dará la oportunidad de utilizar una terminal Linux y algunas de las aplicaciones que están disponibles para el sistema operativo libre, siempre sin salir del ámbito de la terminal. A decir verdad la terminal nativa que ofrece Windows es bastante vergonzosa mirando el año que nos muestra el calendario y si lo comparamos con el de Linux las diferencias son evidentes. Además de la terminal hay algunas aplicaciones muy utilizadas por los desarrolladores que no funcionan tan bien en Windows o cuyo proceso de instalación es más complejo por estar pensadas para sistemas Unix (por ejemplo Linux o Mac). Por ponerlo simple Windows pierde todo atractivo para desarrolladores que no se limiten al mundo de .NET y parece que Microsoft no ha encontrado la forma de ofrecer una alternativa decente en años.

Por tanto este anuncio tan poco anticipado cambia el escenario de los desarrolladores que trabajan con Windows de forma muy positiva. En lo técnico no creo que se le podrán encontrar muchas pegas a la nueva tecnología pero ya sabemos que si esta industria se moviera sólo por parámetros técnicos esto sería demasiado aburrido y por tanto la política y la filosofía tienen su espacio después de este tipo anuncios.

Siempre hemos vivido una lucha encarnizada entre las dos formas de ver la computación, los defensores del software libre frente al imperio empresarial. Y ahora que dos empresas han decidido diluir la línea que separa esos dos mundos es vital que decidamos quien saldrá ganando y quien ha cometido un error para que podamos dormir tranquilos 🙂

Para muchos Microsoft, al permitir la integración con Ubuntu, acepta no sólo que sus herramientas no han llegado al nivel esperado sino también que no ve cómo conseguir alcanzar a Linux en el futuro y mueve ficha de esta forma para intentar atraer a desarrolladores o al menos evitar que los que ya tiene se vayan.

Sin embargo otros piensan lo contrario, que es precisamente Canonical la que da un atractivo a Windows al integrar Ubuntu en el sistema operativo y causará que los potenciales usuarios de Linux se queden en Windows porque no les haga falta cambiar. Dicho en otras palabras, hay quien piensa que esta herramienta supondrá un obstáculo para la adopción de Linux.

Yo personalmente no veo riesgo para Linux ya que no soy capaz de dibujar ese escenario en el que Windows haya borrado del mapa al sistema operativo libre. Cabe recordar que esta herramienta está pensada para desarrolladores y puede presuponerse por tanto que es para usuarios avanzados. Al ser esto así deberíamos llegar a la conclusión de que para este grupo de usuarios Linux o Mac OS deberían ser de sobra conocidos. A donde quiero llegar con esto es que si estos desarrolladores utilizan Windows es por una de las siguientes razones:

  1. Están obligados a utilizar Windows bien porque trabajan con .NET, porque necesitan alguna herramienta que sólo esté disponible en Windows o porque en sus empresas existan extrañas normas que así lo estipulen.
  2. Simplemente les gusta Windows. Personalmente no sé cómo se llegaría a tener esa preferencia pero lo cierto es que gente a la que le gusta Windows, haberla hayla, y por supuesto es una preferencia totalmente válida.

Aquellos que cumplan una de las dos condiciones nunca se pasarán a Linux ya que de haber querido y podido ya lo hubieran hecho hace tiempo. Sin embargo es muy probable que dichos usuarios encuentren muy útil tener una consola Ubuntu a mano una vez que la herramienta esté lista.

En el otro lado, para los usuarios de Linux, no va a haber ningún cambio. Las distribuciones no se van a ir a ninguna parte y seguirán existiendo porque la decisión de Canonical no tendrá ningún efecto sobre el sistema operativo. De hecho si usuarios de Linux se ven en la necesidad de utilizar un ordenador con Windows de forma puntual estos podrán acceder a un conjunto de herramientas y comandos con los que están familiarizados.

Para mi esta noticia no pone en peligro al mundo Linux y creo que será de gran ayuda para aquellos que trabajen con otro tipo de software. Sé que para muchos estamos ante una traición de Canonical por haber trabajado codo con codo con Microsoft para crear esto pero pienso que el referente a la empresa de Mark Shuttleworth es otro debate eterno en el que no entraré en este post.

El día a día de escribir en el blog

Ya llevo un tiempo sin escribir ninguna entrada. Es posible que será porque estoy inmerso en una de esas épocas en las que no encuentro sobre qué hablar. Ante esta situación de falta de inspiración se me ha ocurrido hablar sobre la mecánica y costumbres que sigo al escribir en este blog.

Este rincón de internet cumplirá pronto 9 años y durante sus años de vida ha tenido muchas formas. En un principio comencé a escribir en la plataforma Blogger, únicamente en euskera, concretamente en el euskera particular de mi pueblo llamado Soraluze. Más tarde decidí empezar a escribir en el euskera unificado que hoy en día es el oficial y después de este cambio el castellano y el inglés no tardaron en llegar.

También dejé a un lado la plataforma Blogger para pasarme a WordPress, que es el CMS que utilizo a día de hoy. Si bien a pesar de que en los primeros tiempos del blog Blogger resultó ser muy útil, llegó el momento de abandonar esta herramienta de Google. Y fue precisamente ésto, el hecho de ser una herramientas de Google uno de los motivos que me llevó a plantearme el cambio, ya que consideré que ya usamos demasiados servicios de la empresa de Mountain View. Además de eso pasarme a una instalación de WordPress me daba más control sobre el sitio web y tenía la posibilidad de tener muchas más herramientas mediante plugins. Que WordPress sea software libre también fue un aliciente para decidirme por el cambio.

En cuanto a escribir los contenidos del blog todo se basa en tener ganas, tiempo y algo sobre lo que escribir. En referencia al primero de los requisitos lo cierto es que no puede hacerse demasiado. Durante el año hay momentos en los que se tienen más ganas de escribir y otros en los que menos y nunca he sido de los que se pone un mínimo de posts a escribir como objetivo. Creo que hacer esto puede llevarte escribir cosas de menor calidad y para hacer las cosas medio bien, mejor no hacerlas.

El tiempo es también algo que hoy en día nos falta demasiado, tanto por el día a día demencial que hemos construido como por la mala organización de nuestro tiempo. Sin embargo yo dispongo de un tiempo que me es imposible evitar ya que el autobús y metro que tomo para ir a trabajar me da unos 40 minutos que son los que dedico al blog. Cómo no, además de escribir es necesario leer para poder saber qué decir acerca de los temas de actualidad y por lo tanto utilizo dicho tiempo tanto para escribir como para leer. Las dos cosas son indispensables para mantener vivo este blog.

Así que ya he revelado de dónde salen los temas a tratar, de los artículos que leo durante mis viajes de casa al trabajo y viceversa. Muchas veces no suele suponer más que traer una noticia al blog pero en otras ocasiones las entradas acaban plasmando los pensamientos que algún artículo ha generado en mi cabeza (en los últimos años la mayoría de entradas suelen ser de éste tipo).

Aplicaciones y herramientas involucradas en en proceso

De la misma forma que pasa con la actividad de la gente en internet la mayoría de mi actividad en el blog ocurre en el móvil. Mis fuentes de información suelen ser normalmente Google+, LinkedIn y mi servidor Tiny Tiny RSS pero a través de los diferentes chats de Slack que comparto con mis compañeros de trabajo también me llegan artículos muy interesantes. A la hora de leer utilizo las aplicaciones Android de Google+, LinkedIn y Firefox, además de la aplicación Tiny RSS desarrollada por mí mismo (un cliente para mi instancia de Tiny Tiny RSS). Cuando me topo con un artículo interesante que no puedo leer en ese momento la guardo para leerla más tarde en mi servidor Wallabag. Esta aplicación es similar a la famosa Pocket pero a diferencia de ésta ofrece la posibilidad de ser instalada en una máquina propia, además de ser de código abierto. En estos momentos Wallabag no es totalmente estable (sobre todo su aplicación para Android) pero sí que es suficiente para su uso en el día a día. Además los desarrolladores de Wallabag están trabajando en un rediseño completo del proyecto que debería suponer un paso adelante para el mismo.

La mayor parte del proceso de escritura también la hago a través del móvil gracias a la aplicación de WordPress para Android. A través de ésta escribo los textos en euskera, castellano e inglés. Una vez los tres textos están listos me paso a un ordenador para dar los últimos retoques como añadir imágenes y enlaces o gestionar las etiquetas para finalmente publicarlos (las versiones en euskera y castellano en el propio blog y en LinkedIn para el caso del inglés).

¿Será sexy el software libre algún día?

firefox-osHace unos pocos días Mozilla nos dio una mala noticia. Han decidido dejar de desarrollar el sistema operativo libre para móviles que conocenos como Firefox OS. Aunque parece que el proyecto no morirá por completo los dispositivos objetivo de sus orígenes, los mencionados teléfonos móviles, no tendrán nuevos desarrollos.

No soy usuario de Firefox OS, aunque he desarrollado la aplicación Tiny RSS para dicha plataforma, pero en cualquier caso me parece una mala noticia desde el punto de vista del software libre. Ya sabemos que el mercado móvil está copado por Android y iOS, unos sistemas que ya hemos catalogado como algo diferente a software libre (no, Android tampoco) por lo que cualquier opción que trate de entrar en la puja con una filosofía más abierta siempre será positiva.

Este hecho que tiene como protagonista a Firefox OS me ha llevado a pensar sobre la situación actual y futura a la que se enfrenta el software libre en el mercado. En otras palabras, me he preguntado si el software y hardware libre tienen algún futuro frente a sus respectivas contrapartidas cerradas.

Los dispositivos más exitosos del momento están en esa situación porque han logrado convertirse en objetos aspiracionales. Por ejemplo, cada día se ven más portátiles fabricados por Apple ahí fuera y sus dueños no son únicamente expertos en tecnología. La gente simplemente quiere productos de Apple a pesar de que un gran porcentaje de los compradores no sabrían argumentar si dichos dispositivos son mejores que los de la competencia o no. Al final el argumento técnico queda en un segundo plano para muchos compradores. Microsoft ya ha entendido esta idea y también ha empezado a intentar lo mismo con productos como Surface pero lo cierto es que ahora mismo no veo un sistema Linux convirtiéndose en aspiracional entre el público general.

Además las aplicaciones más importantes del momento no se encuentran disponibles en plataformas libres teniendo éstas que limitarse a ofrecer la experiencia que ofrece la tecnología web. Diría que la plataforma web esta acortando distancias respecto a lo nativo de forma muy rápida pero eso no quiere decir que los desarrolladores de dichas aplicaciones y servicios vayan a considerar salir del desarrollo nativo, al menos en la industria móvil. De momento se limitan a centrarse en las plataformas que más opciones de rendimiento económico proporcionan, una plataformas que como hemos dicho no son el paradigma de la apertura.

Las razones pueden ser muy variadas pero ninguna de ellas es de índole técnica. Las principales razones podían ser la falta de ciertas aplicaciones o juegos. El caso de la suite Office se suele poner muchas veces como ejemplo, un software cerrado y que tradicionalmente no ha estado disponible en plataformas libres. En en caso de los juegos sucede sido parecido ya que no se suele tener la posibilidad de acceder a los juegos importantes desde plataformas libres. Es cierto que alguien podría decir que existen LibreOffice o Steam pero lo cierto es que estos proyectos están obligados a luchar contra estándares de facto o no tienen por el momento una cuota de mercado importante. Siempre es positivo que existan este tipo de proyecto, pero lo cierto es que les queda mucho trabajo por delante.

Creo también que aquellos proyectos que consiguen levantar capital de inversores se ven obligados a darle la espalda a la apertura ya que esto suele ser percibido como una pérdida de control sobre el producto. No puedo imaginar a Whatsapp, Pocket, Periscope o tantas otras aplicaciones que hoy en día son muy utilizadas siendo licenciadas bajo GPL. Volviendo al ejemplo del proyecto open source de Android (que, repito, no es el que llega a nuestros dispositivos) fue creado bajo una licencia abierta de las catalogadas como permisivas y estoy seguro de que fue con el objetivo de poder captar el apoyo de los fabricantes.

¿Es, tal vez, un asunto de tiempos? Si no hay una diferencia de nivel técnico entre ambas filosofías, ¿podría ser que los que apostaron por la libertad estén en su situación actual debido a que llegaron en un momento en el que el mercado ya había sido ocupado por otros rivales? Por poner un ejemplo, si una empresa como Canonical hubiera aparecido al mismo tiempo que Microsoft, ¿sería hoy en día una empresa mucho más conocida entre el usuario medio? Quizás sí. Si en el momento en el que el mercado tecnológico estaba configurándose con los diferentes actores que querían luchar en él hubiera habido alguno con filosofía abierta tal vez hubiera conseguido alcanzar los acuerdos con fabricantes que a la postre consiguió Microsoft. Pero a pesar de esto, yo no le daría demasiada relevancia a esto del timing ya que no podemos olvidar que estamos hablando sobre un sector que prácticamente cambia por completo cada año. Google, Facebook o Twitter no llegaron hace tanto tiempo y sólo hay que ver la posición de fuerza que tienen a día de hoy.

Entonces, ¿es que a la gente no le gusta el software libre? Este tipo de Software está entre nosotros desde hace mucho tiempo y si no ha sido capaz de conseguir el éxito en el mercado puede ser que simplemente no será lo suficientemente atractivo. En mi opinión este tampoco es el caso. Por desgracia cuando la gente va a comprar un producto tecnológico la libertad no es una de las razones que decantarán la balanza sobre un producto u otro. En el caso del hardware se mira la estética exterior y unas cuantas especificaciones técnicas que en algunos casos el comprador tampoco entiende del todo y con eso suele ser suficiente. A la gente en general no le importa si la plataforma que mueve dicho hardware puede ser estudiada por cualquiera o si se pone el interés del usuario en primer lugar o no. Por eso diría que en caso de que las aplicaciones arriba mencionadas estuvieran publicadas bajo licencia GPL no tendríamos una gran diferencia desde el punto de vista de la percepción de la sociedad ante la posible compra de las mismas.

Por lo tanto el problema no es técnico y tampoco una falta de atractivo hacia la gente. ¿Entonces?

Yo diría que la respuesta está en una idea que he mencionado antes. Simplemente el software libre no es considerado como una opción para hacer negocio. Hoy en día el tesoro más valioso que al que pueden aspirar las empresas son los datos de los usuarios. Para conseguir dichos datos de forma efectiva y eficiente hace falta invertir tiempo, y por lo tanto dinero, para desarrollar ciertos algoritmos. Y ciertamente son pocas las empresas que están dispuestas a dirigir millones a obtener mejoras técnicas para luego regalárselas a la competencia. Lo que cada uno consigue, tanto mejoras técnicas como información de usuarios, se guarda en secreto ya que es ésta precisamente la ventaja competitiva de cada uno. Por decirlo de alguna manera el sistema económico competitivo no parece ser compatible con la idea colaborativa del software libre.

¿Y podemos decir que la lucha del software libre está perdida? Yo diría que no. Aún con los problemas mencionados en esta entrada hay que decir que los productos de software libre tienen mucho que decir en el panorama tecnológico actual, incluyendo a empresas que basan sus estrategias en software privativo. Sin ir más lejos, en el ámbito de los servidores Linux es el lider indiscutible. La amplia mayoría de dispositivos móviles funcionan con dicho sistema operativo a pesar de que luego se le pongan capas software por encima. Entre todas las webs que podemos visitar en la red hay millones que están construídas con gestores de contenido como WordPress y uno de los navegadores más conocidos para visitar la red, Firefox, es también software libre.

Por lo tanto puedo decir que no veo a este tipo de proyectos en peligro de muerte ya que todo el mundo entiende la importancia que tienen. El problema aparece cuando nos topamos con el objetivo de hacer negocios. A día de hoy no veo al software libre ni siquiera considerado como una opción para la mayoría y esto ciertamente es un problema. Parece que todos somos defensores del código abierto, siempre y cuando este código haya sido escrito por otros para que nosotros podamos usarlo. Eso sí, una vez que somos nosotros los que vamos a empezar un desarrollo parece que no vemos tan claras las ventajas que puede traer la apertura.

Que un puesto de trabajo tóxico no destruya tu vida

toxic_nightmare_by_kornolho-d3cx5b3Ya está otra vez en despertador haciendo ruido. No hay más remedio que levantarnos de la cama y ponernos de camino hacia eso que tenenos que hacer todos los días para sobrevivir. Ya habréis inferido que estoy hablando de nuestro puesto de trabajo. Sí, eso que todos nosotros tenenos que hacer día tras día. Podemos tomarnos ésto que nos pasa cada mañana con diferente humor pero siendo algo que no vamos a poder cambiar más nos vale dedicar todas nuestras fuerzas a encarar las horas que tenenos por delante de forma positiva, más que nada por nuestro bien.

Ya sé que ésta es una de esas cosas que es mucho más fácil de decir que de hacer ya que no siempre nuestros puestos de trabajo son los que nos gustarían, o incluso ni siquiera tenenos uno dada la situación de hoy en día. Pero no nos limitamos a esos casos. Incluso en casos de gente con trabajo en el sector de su elección encontramos personas que no están a gusto con su situación. ¿Somos otra vez víctimas de esa extraña habilidad para no ser nunca felices? En algunos casos seguro que sí, ¿pero siempre? ¿Y si en estas situaciones en problema fuera la propia empresa? Lo cierto es que no es extraño ver lugares de trabajo totalmente tóxicos, de esos que no importa qué tipo de gente incorporen porque nunca van a ser del gusto de nadie.

En el sector de la tecnología en el que me muevo cuando se habla de este tipo de empresas enseguida afloran las llamadas ‘cárnicas’. En ellas lo que se espera de sus trabajadores no es más que hacer, hacer y hacer. No importa cuantas horas se dediquen y cómo se hagan las cosas pero no alcanzar el objetivo no es una opción. Es cierto que en esta situación hay gente que termina totalmente quemada pero tampoco diría que estas empresas sean sinónimo de experiencias negativas. Cada persona es diferente y habrá personas a las que les guste trabajar de ese modo e incluso les parezca aceptable dicha metodología.

Yo pienso que al final lo que hace que una situación se decante hacia un lado u otro son las propias personas y la cultura corporativa generada de la relación entre ellas. En el día a día la gente necesita motivación porque este es el motor que hace que las compañías se muevan. ¿Y cómo se puede motivar a un grupo de gente? La respuesta fácil: con un buen sueldo. Lo que es un buen salario lo decide cada individuo pero es verdad que si la plantilla de una empresa percibe que cobra menos de lo que debería, cualquier esfuerzo que se les pida desde la dirección les parecerá desmedido. Pero en realidad siempre habrá alguien que pague mejor así que si el atractivo de una compañía se limita a sus salarios ésta tendrá verdaderos problemas para retener el talento.

¿Qué se puede hacer entonces para conseguir que la plantilla se quede donde está? Como mínimo tratar a la gente como personas adultas. Cada uno tiene su vida y una empresa no debería postularse como una alternativa a dicha vida. El meter horas por el mero hecho de meter horas hace tiempo que debería haber sido erradicado. Cada uno sabe, o debería, cuáles son sus quehaceres y desde la empresa no debería ponerse en duda por defecto el compromiso de su gente. Hacer lo contrario ahoga la motivación y en muchos casos genera falta de confianza en el seno de los equipos. Otra buena costumbre: no hacer como si tus empleados fueran tontos. No puedes estar vendiendo ciertos valores de la compañía si luego éstos no aparecen por ningún lado. Si pasa esto al final la gente se sentirá engañada. No son pocas las empresas que se llenan la boca hablando de que tienen equipos de alto rendimiento pero en realidad no hacen más que ofrecer sus trabajadores a terceros a modo de externos.

Pero bueno, parece que el objetivo de esta entrada no es otro que criticar a los gestores de las empresas, cuando ésta no es ni mucho menos su intención. En grupos de trabajo en el que los miembros están al mismo nivel también se dan comportamientos que muestran que la empresa, o al menos dicho grupo de trabajo, es tóxica. Si algo supone el trabajo, eso es tener que relacionarse con otras personas, relación en la que todo el mundo tiene unos objetivos comunes. Los problemas aparecen cuando cada miembro del equipo lucha por defender sus propios intereses, momento en el que comienza la falta de confianza, desaparece el trabajo en equipo y se ve claramente cómo baja la productividad.

Al trabajar en equipo cada componente del mismo debería tener la solidaridad y la confianza en los demás como primer objetivo a cumplir. Es indispensable hacer propios los errores de otro y prestarle la ayuda necesaria para enmendar la situación. Es muy común el tipo de persona que echa la culpa de sus propios errores a un tercero, normalmente para no quedar mal delante de algún superior. Este hecho corta de pleno las capacidades del equipo ya que nadie hace nada para no arriesgarse a fallar, cada uno hace lo mínimo cada día y punto. Incluso se llega a dejar de prestar ayuda a compañeros por miedo a que nos dejen vendidos ante algún imprevisto.

Otro tipo de gente que muestra falta de solidaridad es el ‘traficante de información’. En los últimos años se ha popularizado mucho ese mantra que habla de que la información es poder y hay algunos que llevan esto hasta los límites. En vez de compartir toda la información posible con todos los interesados, estos individuos se la quedan para ellos. Se creen que de esta forma se hacen imprescindibles en la empresa y que nadie les echará a la calle porque son los únicos que saben hacer algo concreto. Estas personas son también tóxicas y su filosofía es completamente egoísta. No dudarán en pisar a cualquier compañero si lo necesitan para salvar su culo o conseguir alguna mejora en su situación laboral.

¿Pero qué hacer para reconducir la situación?

Cuando nos encontramos con un panorama como este muchas veces la oficina es un auténtico infierno. Es el tipo de oficina en el que cada cual lucha constantemente para no perder su estatus mientras que el trabajo realmente importante se queda en un segundo plano. Cuando esto pasa ya se puede decir que tanto nosotros como nuestros compañeros hemos perdido toda profesionalidad.

¿Qué se puede hacer entonces para no llegar a esta situación? Una regla de oro: predica con el ejemplo. Somos nosotros los que en primera instancia debemos demostrar que sabemos trabajar en equipo. Concede a tus compañeros el derecho a fallar, tarde o temprano seremos nosotros los que cometeremos algún error. Cuando alguien haya hecho algo mal, que todo el equipo analice de forma constructiva las razones para poder encontrar soluciones de cara a que no se repita, evitando siempre entrar en la dinámica de acusaciones que no va a llevar a ninguna parte. En el caso opuesto, si el que ha metido la pata es uno mismo lo que deberíamos hacer es aceptarlo abiertamente y no ponernos a buscar excusas o responsables donde no los hay.

Ante cualquier tarea a realizar, el responsable tendrá muchas más probabilidades de hacerla mal si no dispone de toda la información que precisa. Por esta razón, deberíamos poner toda la información relevante para cualquier cosa encima de la mesa lo antes posible ya que de no hacerlo estaremos contribuyendo a una posible pérdida de tiempo para el equipo, y por ende a nosotros mismos. Los imprevistos o el tener que estar continuamente haciendo suposiciones debido a la falta de certezas causan siempre una paralización de los proyectos.

Resumiendo, la única forma de estar legitimado para pedir mejoras al resto es que uno mismo sea consecuente con lo que pide de los demás. Antes mencionaba a algunas empresas que venden una cosa cuando en realidad hacen otra. ¿Con qué cara pueden pedir cambios a la gente si son ellas mismas las primeras que deberían aplicarse el cuento?

Pues eso, hay que ganarse la autoridad con hechos, no con palabras, y a partir de ahí proponer cosas de forma honesta para intentar ir a mejor. Con un poco de suerte se podrá conseguir algo.

¿Y qué pasa si no hay suerte?

Los humanos tenenos todos algo en común: vemos los cambios como una amenaza y las críticas, incluso las constructivas, como insultos. Cuando nos vemos en una situación así ponemos todo nuestro inmovilismo sobre la mesa para intentar mantener el statu quo. Lo que quiero decir con esto es que no siempre las cosas se pueden arreglar y que siempre nos encontraremos con gente y empresas que ayer, hoy y mañana serán tóxicas. Ante esto poco puede hacerse. Llevan tanto tiempo en esa dinámica de autodestrucción que no conocen otra forma de vivir y absorben a cualquiera que se acerque a ellos. Ya sé que la situación social de hoy en día es bastante complicada para muchos y que por lo tanto mi consejo puede ser un poco delicado pero mi experiencia me dice que si vemos que arreglar las cosas no es posible lo mejor es buscar otro puesto de trabajo y dejar el actual. Como digo, puede que en mi sector hacer esto sea más factible pero en cualquier caso creo que si un trabajo se va a llevar nuestra vida por delante la única salida es poner una solución antes de que sea demasiado tarde.

Parece que Ubuntu se acercará a Gnome en su versión 16.04

Untitled-2[ACTUALIZACIÓN] Parece que las noticias que hablan sobre la eliminación del Centro de Software de Ubuntu a lo largo del siguiente post no son del todo ciertas según se puede leer en este enlace. Aún así, las opiniones que dejo siguen siendo válidas por lo que dejo el post en su forma original.

Para los que seguís este blog será conocido que soy usuario de Linux. Concretamente es Ubuntu la distribución que tengo instalada en mi máquina. Se podría decir que hoy en día es la distribución Linux más conocida tanto en el ámbito personal como en entornos más profesionales y es además el sistema operativo que ayudó a eliminar las tradicionales barreras que existían para muchos a la hora de apoyar Linux.

Ubuntu tiene una empresa comercial detrás, una empresa fundada por el sudafricano Mark Shuttleworth bajo el nombre de Canonical. Este hecho ha traído más de una crítica a Ubuntu ya que no son pocas las voces de dentro de la comunidad del software libre que piensan que Canonical trabaja mucho por su cuenta sin devolver parte del esfuerzo a la comunidad, dejando de funcionar como el espíritu del software libre dicta.

Tengo que decir que en algunos casos dichas críticas están bien argumentadas viendo algunas decisiones de la compañía, ya que a veces no ha hecho otra cosa que defender sus propios intereses. Podemos encontrar un buen ejemplo de esto en el servidor gráfico Mir. El mundo de Linux se encuentra actualmente en mitad de un proceso de sustitución del viejo servidor gráfico X Server mediante el desarrollo del proyecto Wayland. Este proyecto, sin embargo, no cuenta con la participación de Canonical peso que ésta decidió desarrollar su propia opción, el mencionado Mir. Cuando esta decisión se dio a conocer se acusó al desarrollador de Ubuntu de separar a la comunidad, algo que en cierto modo no deja de ser cierto ya que al final tendremos dos opciones que hagan lo mismo. No es menos cierto, sin embargo, que Canonical tiene entre manos un proyecto muy importante, Ubuntu Touch o la plataforma que nos traerá la convergencia entre móviles y ordenadores. Seguramente Canonical necesite un servidor gráfico que pueda controlar por lo que esto les ha llevado a desarrollar Mir.

Las decisiones que han generado disputas con la comunidad no se quedan ahí pero parece que en los últimos tiempos Ubuntu está intentado dar pequeños pasos para desacelerar su alejamiento de la comunidad. Hacer poco decidieron utilizar SYSTEMD y en los últimos días se está hablando de que en su versión 16.04 concreta a acercarse al proyecto Gnome. Por ejemplo, existe un debate sobre la inclusión del calendario de Gnome en la distribución y también de la posibilidad de eliminar el Centro de Software de Ubuntu para utilizar la alternativa de Gnome.

Estos cambios supondrían por un lado abandonar software que ha quedado obsoleto además de dejar de duplicar el trabajo entre comunidades. Si una aplicación hace bien su trabajo, ¿por qué duplicar trabajo? Entiendo que Canonical tenga su hoja de ruta ya que no deja de ser una empresa que como fin último tiene ganar dinero. Eso, en cualquier caso, no debería suponer tomar un camino que sea perjudicial para la comunidad. Si en su día tomaron la decisión de escoger esta filosofía deberían de ir con ella hasta el final y sin lugar a dudas Ubuntu tendrá mejor salud siempre que no se separe demasiado de la misma para hacer la guerra por su cuenta.

Volviendo a la eliminación del Centro de Software de Ubuntu me surge una pregunta. Conociendo el proyecto de sistema operativo para móviles, ¿cómo resolverá Ubuntu dicha funcionalidad con la nueva aplicación? ¿Será la aplicación de Gnome compatible con la plataforma en desarrollo o hará falta algún tipo de adaptación? Como siempre, el único que responda estas preguntas será el tiempo.