Skip to content
🙈🙉🙊 A Curious Animal

Archives

All the articles I've archived.

20269
October1
  • Builders vs Keepers,la guerra civil de la ingeniería de software

    En los últimos años ha surgido una división cada vez más profunda dentro de los equipos de ingeniería. No hablo de lenguajes, frameworks o religión de tabs vs espacios. Hablo de algo más fundamental, la guerra entre builders y keepers. Dos formas de ver el software que chocan constantemente y que, si no se gestionan bien, pueden dinamitar un equipo.

September1
  • ¿De verdad la IA nos va a matar?

    Recientemente las declaraciones de un ahora ya ex-ingeniero de Anthropic se han hecho virales a nivel internacional alimentando, una vez más, la idea de que la IA va a sustituir ya no solo a los programadores si no a la humanidad entera y que de paso nos va a aniquilar a todos. En este artículo voy ha realizar un breve análisis de lo sucedido y dar mi humilde opinión al respecto y, que por una vez, tal vez te asombre.

June1
  • La falacia de la IA burbuja y realidad

    ¿Te suena alguna de las siguientes frases? En seis meses los programadores no serán necesarios. El codigo ha muerto. Programar ya no es lo importante. El codigo ya no aporta valor. Son el mantra repetido una y mil veces en los ultimos dos años y ya sabemos que **una mentira repetida mil veces se convierte en verdad**.

May1
  • De quien es el código que escribe la IA? Y por qué debería importarte

    Si eres como el 99% de los programadores de hoy en día, probablemente uses una IA, ya sea Claude, Cursor, GitHub Copilot, o cualquier otro que existe ahora mismo. Es genial, le pides un componente en React, una función compleja en Python o un script de base de datos, y en segundos tienes código listo para producción. Pero, si estás construyendo un proyecto personal, una startup o trabajando para clientes, hay una pregunta incómoda que la mayoría de los devs ignoramos ¿De quién es realmente ese código?

April1
  • Oracle, despidos masivos y su apuesta por la IA

    En Febrero salto la noticia de que Block (empresa matriz de Square y Cash App) despedía al 40% de su plantilla, alrededor de 6000 personas, con la justificación de que con la IA los equipos podían ser mucho más productivos. A su CEO parece que se le olvidó comentar que en tres años habían pasado de ser una empresa de menos de 4000 empleados a una con mas de 12000. Uno locura de sobre-contratación. La semana pasada la noticia fue que Oracle despedía al 18% de su plantilla...

February2
  • Salarios IT ¿Es el cambio de empresa la única forma de escalar salarialmente?

    ¿Cuánto gana un desarrollador en España? ¿Es el cambio de empresa la única forma de escalar salarialmente? Hoy os presentamos algunas conclusiones que hemos extraído a partir de diversos hilos que hemos encontrado en Reddit donde los usuarios hablaban de forma transparente de su evolución salarial en el sector tecnológico, permitiéndonos tener una visión "realista" de lo que realmente se está pagando en el mercado actual.

  • ¿El fin de la era "Junior"?

    Durante la última década, el modelo se resumía en "Aprende React/NodeJS en 12 semanas, consigue un puesto de Junior y termina de aprender trabajando". Pues bien, ese puente se está rompiendo, la irrupción de la IA ha puesto una carga de dinamita en sus pilares y pocos quieren atravesarlo.

January2
  • El drama de StackOverflow y la IA

    A estas alturas nadie duda que la irrupción de la IA es toda una revolución y, como toda revolución, tiene sus cosas buenas y sus cosas malas. En su momento StackOverflow fue una revolución. Lo que comenzó como un foro de preguntas y respuestas ha llegado a convertire en una fuenta de valor enorme.

  • ¿Qué te hace ser un buen Ingeniero de Software?

    Es un tema recurrente pero es un error que siempre se repite, principalmente entre gente junior y middle, pero también entre "seniors". ¿Qué es lo que te hace ser un buen Ingeniero de Software? y sobretodo ¿qué es lo que te hace ser valorado en una empresa?

202522
December1
  • El mejor país de EU para trabajar este 2026

    Tomar la decision de irse a trabajar a otro país no es una decision sencilla. No todo es cuestion del salario ya que hay otros aspectos importantes a tener en cuenta como los impuestos, el clima o la calidad de vida. En este artículo vamos a valorar algunos países de Europa con sus pros y contras.

November1
  • Cómo gestionar código obsoleto en Node.js con `deprecated`

    Todo evoluciona y tu código tampoco se libra de ello. Si has escrito o mantenido alguna vez una librería o código que usan otras personas ya sabrás que es comun que los nuevos cambios dejen obsoletas otras partes de tu código. En este artículo te explico la mejor forma de marcar como "deprecated" aquellas partes de tu codigo, de forma que tus usuarios sean concientes de ello y se muevan a utilizar las nuevas funcionalidades.

September3
  • Los 5 errores que detienen tu ascenso de middle a senior

    El camino de un desarrollador Mid a Senior no solo se trata de escribir mejor código. A menudo, el verdadero salto está en cambiar nuestra mentalidad y nuestras responsabilidades. El reciente video de Emilio Carrión, titulado "5 errores que impiden que llegues a Senior", es una guía esencial que destila la experiencia para identificar y corregir esos hábitos que nos mantienen estancados.

  • Cultura DEV... ¿Cuándo se volvió tóxica?

    ¿Alguna vez has sentido que no sabes lo suficiente en tu campo? ¿Sigues a "influencers" del mundo dev que son capaces desarrollar un SaaS completo en dos horas en su canal de Twitch? ¿Te sientes un "falso" en el mundo del desarrollo de software? Tranquilo, no estás solo.

  • ¿Cual es tu salario esperado?

    Estás en una entrevista de trabajo. La conversación fluye y sientes que todo va bien, pero de repente te preguntan ¿Cual es tu salario esperado? Aquí te explico por qué nunca deberías revelarlo y cómo evitarlo.

August1
  • 6 razonas por las cuales no invertiría en una app de nutrición

    Con la llegada de la IA se está produciendo un boom en la creación de apps y la nutrición no es una excepción. En concreto parece haber una explosión de apps y webs destinadas a crear planes nutricionales. Pero... ¿realmente es tan buena idea de negocio una app de creación de planes nutricionales?

July2
  • Gestiona tus dotfiles con Git y un Bare Repo

    Los dotfiles son archivos ocultos que comienzan con un punto (como .bashrc, .vimrc, o .gitconfig) y sirven para personalizar herramientas como el terminal, tu shell o tu editor de texto. Vaya, que son los archivos de configuración y son esenciales para que tu entorno de desarrollo se sienta tuyo y funcione como te gusta. Tenerlos organizados no solo mejora tu productividad diaria, sino que también te permite replicar fácilmente esa configuración en otros equipos.

  • ¿Data Engineer, Data Analyst o Data Scientist?

    Hace algunos años lo normal en las ofertas de trabajo era encontrar demanda de roles de BigData o Business Intelligence, pero como todo, ha ido evolucionando y especializándose y ahora lo normal es encontrarte demanda de roles como Data Engineer, Data Analyst y Data Scientist pero ¿cual es exactamente la diferencia entre estos tres roles o disciplinas?

June4
  • ¿La primera semana lo dice todo? Claves para saber si un trabajo es tu lugar

    Hace poco leí un artículo muy interesante que hablaba de algo que a muchos nos ha pasado, ¿cuánto tiempo necesitas para saber si un nuevo trabajo es el adecuado para ti? La verdad es que la respuesta del autor ha dado vueltas en mi cabeza y, es que a veces, la intuición nos dice más de lo que pensamos.

  • El arte olvidado del buen liderazgo, el ejemplo

    En un mundo empresarial lleno de herramientas digitales, métodos de gestión modernos y frameworks sofisticados, a veces perdemos de vista lo más básico y humano, los equipos aprenden más observando a sus líderes que escuchando sus discursos. El acto de modelar comportamientos positivos no es solo una estrategia útil, es también una responsabilidad moral del liderazgo.

  • Aspectos no técnicos claves en un proceso de selección tech

    Cuando pensamos en un proceso de selección para un puesto tech solemos enfocarnos en las habilidades técnicas, lenguajes de programación, algoritmos, estructuras de datos, etc. Sin embargo, las empresas valoran cada vez más los aspectos no técnicos, ya que pueden ser determinantes para el éxito dentro del equipo y la organización.

  • La IA no te va a quitar el trabajo. Pero sí te va a poner delante del espejo

    Con la llegada de la IA a las masas nos encontramos dos grupos de personas, los sensacionalistas que utilizan el miedo de "la IA nos va a quitar el trabajo" y los pragmáticos, que ven a la IA como otra herramienta más que debemos aprender a usar para mejorar nuestra productividad.

May1
  • Fork bomb, el script que te volará la cabeza y algo más

    Un fork bomb es un pequeño script que se replica a sí mismo infinitamente, generando miles de procesos en muy poco tiempo, lo cual satura la CPU y la memoria de tu sistema haciendo que se vuelva inusable. Es como si un ejército de clones apareciera de golpe y todos quisieran trabajar al mismo tiempo. Suelen tener un aspecto "raro" o "inofensivo" pero si los ejecutas en un terminal te aseguro que lo vas a recordar.

April2
  • Las 10 cualidades que realmente importan para ser un buen Software Engineer

    Ser un buen Software Engineer no es solo cuestión de saber escribir código que funcione. Es mucho más que eso. Implica pensamiento crítico, empatía, comunicación, trabajo en equipo y, claro, una buena base técnica. En este artículo vamos a repasar cuáles son las cualidades que según la comunidad tecnológica debe tener un buen ingeniero de software.

  • Las cualidades que realmente importan para ser un buen programador

    Si estás aprendiendo a programar o ya llevas un tiempo en esto, seguro te has preguntado "¿Qué necesito para ser un buen programador?". Y aunque saber varios lenguajes, frameworks y librerías está genial, lo cierto es que hay habilidades y cualidades más profundas que marcan la diferencia entre alguien que solo escribe código y alguien que realmente sobresale en el mundo del desarrollo. Este artículo no es una lista exhaustiva de requisitos necesarios que cumplir, sino una recopilación de lo que muchos desarrolladores con experiencia coinciden que es esencial para crecer y disfrutar de esta profesión.

March1
  • El desarrollador T-Shaped, Más allá de la especialización

    En el mundo del desarrollo de software hay muchas formas de categorizar a los profesionales según sus habilidades y conocimientos. Uno de los conceptos más interesantes y útiles para entender cómo los desarrolladores pueden crecer en su carrera es el del "T-Shaped Developer", o desarrollador con forma de T.

February4
  • La IA ha matado las entrevistas técnicas ¿Y ahora qué?

    La llegada de la Inteligencia Artificial ha transformado radicalmente las entrevistas de trabajo en el mundo tech y en especial en lo referente a la programación. En su artículo [AI Killed the Tech Interview. Now What?](https://kanenarraway.com/posts/ai-killed-the-tech-interview-now-what/), Kanen Arraway explica cómo la IA ha transformado el proceso de hiring en las empresas, los problemas que ha provocado y qué opciones a futuro tienen las empresas cuando busquen ingenieros.

  • Prompt Engineering, ¿ciencia, arte o el nuevo buzzword de moda?

    Prompt Engineering se ha convertido en uno de los términos más comunes en el mundo de la inteligencia artificial, pero no todos están convencidos de que realmente merezca la etiqueta de "ingeniería". En su artículo [On Prompt Engineering](https://blog.buschnick.net/2025/01/on-prompt-engineering.html), su autor BuschnicK analiza críticamente este concepto y plantea argumentos sólidos sobre por qué no se ajusta a los principios de la ingeniería de software como tal.

  • Cinco años de react native en Shopify

    Shopify ha estado utilizando React Native durante los últimos cinco años y recientemente ha compartido sus experiencias, logros y desafíos del viaje. En este post, resumo los puntos clave del artículo "Five years of React Native at Shopify" (https://shopify.engineering/five-years-of-react-native-at-shopify) y reflexiono sobre lo que podemos aprender de sus aciertos y errores al adoptar dicha tecnología.

  • El futuro del Server Side Rendering y tendendicas para el 2025

    El mundo del desarrollo web no se detiene, y una de las áreas donde más cambios estamos viendo es el Server-Side Rendering (SSR). Si llevas tiempo en esto, recordarás cuando SSR era la única opción, luego vinieron los SPA (Single Page Applications) y ahora estamos en una especie de "todo junto" donde cada proyecto tiene su propio enfoque híbrido. En este post, voy a resumir y reaccionar al artículo "The Future of Server-Side Rendering, Trends for 2025", que analiza hacia dónde va esta tecnología y por qué deberíamos prestarle atención.

January2
  • Staff Engineer vs Engineer Mananger

    En los equipos de técnicos hay dos roles que a menudo se confunden debido a sus diferencias y similitudes, el Staff Engineer y el Engineering Manager. En este post hago un resumen sobre el artículo de Alex Ewerlöf "Staff Engineer vs Engineering Manager" para en qué consisten estos dos roles, cómo se complementan y por qué es clave entender sus diferencias.

  • Cómo la programación asistida por IA cambiará la ingeniería del software (verdades dificiles)

    La inteligencia artificial está revolucionando el desarrollo de software, pero ¿hasta qué punto estamos preparados para integrar estas herramientas en nuestro trabajo diario? En este post analizo el artículo de Addy Osmani "How AI-assisted coding will change software engineering" sobre el impacto de la IA en la industria del software y reflexiona sobre los desafíos y oportunidades que presenta.

20241
December1
  • Si no te gustan las ventas no crees una empresa

    En este artículo, Hunter Walk destaca que como cofundador siempre estás vendiendo a clientes, inversores, prensa, equipo y socios. Aunque no seas un vendedor nato, es esencial comunicar el valor de tu empresa y su dirección. Incluso los introvertidos o ingenieros pueden ser excelentes en ventas. Evitar las ventas perjudica a tu equipo y a ti mismo. Existen recursos para mejorar en este aspecto.

20221
February1
20211
December1
20201
January1
  • How to update a column's type (in PostgreSQL)

    So, you have a table and you need to modify a column's type. The problem arise when the column is filled and the type change is incompatible, for example, from string to integer, so **how we can update the type and recompute the filled values to the new type?**

20192
November1
  • Working with query params in JavaScript with URLSearchParams

    No matter if you work with JavaScript at client or server side, at some point you'll need to work with urls and its query params. As example, I'm currently using [react-router](https://reacttraining.com/react-router/web) in my project, which is an great tool. I can define dynamic routes with path params and easily react-router returns me these params within the `match` variable and the rest of url information in the `location` variable, but how can I easily access to query params?

October1
  • How I migrated my site from Jekyll to Gatsby

    I think it was a matter of time to make this change. Jekyll was one of the first static site generates and it's awesome but for me, as a JavaScript developer that know little about ruby language, has…

20183
October1
  • Express API with autogenerated OpenAPI doc through Swagger

    In the past years OpenAPI has arise as the preferred way to document APIs. In this article we will see how easy is document an API created with NodeJS and Express through the Swagger tools. If you are working in an REST API you more probably will desire to have some API doc where your users could find what are the endpoints of your API, what they do, which parameters they accept and which output they generate.

June1
  • Joppy, the Tinder for tech recruitment

    TLTR: This post is about Joppy, a new service I'm working on that tries to eliminate the pain currently exists in the communication among recruiters and tech professionals. Let me describe you the…

February1
  • Using async/await in ExpressJS middlewares

    If you are not living in a cave for the past year you'll probably know the `async/await` keywords are one of the most interesting additions on ES7. It merges the benefits of a sequential syntax with the power of asynchronous programming. In this post we will cover how we must use correctly async functions as express middleware.

20174
August4
  • Graceful shutdown NodeJS HTTP server when using PM2

    So you have created a NodeJS server that receives tons of requests and you are really happy but, as every piece of software, you found a bug or add a new feature to it. It is clear you will need to…

  • Using PM2 to manage NodeJS cluster

    The cluster module allows us to create worker processes to improve our NodeJS applications performance. This is specially important in web applications, where a master process receives all the…

  • Using cluster module with HTTP servers

    The cluster module allow us improve performance of our application in multicore CPU systems. This is specially important no matter if working on an APIs or an, i.e. ExpressJS based, web servers, what…

  • Understanding the NodeJS cluster module

    NodeJS processes runs on a single process, which means it does not take advantage from multi-core systems by default. If you have an 8 core CPU and run a NodeJS program via $ node app.js it will run…

20165
December1
  • fetch API and Express sessions

    TL;DR fetch API is the successor of XHR and although it's really powerful ( see What is the difference between the Fetch API and XMLHttpRequest?) you should take care of some things, like the fact…

August2
July1
  • Resilient PHP applications with Phystrix

    TL;DR: This post talks about how to make our PHP applications more resilient, that is, they must be able to adapt to third party failures and recover quickly from them. You will see why configuring…

March1
  • Symfony, images and S3

    Paraphrasing the movie title Sex, lies and videotape, this post is related on how I configured my symfony project to work with images (including thumbnail generation) and store all them on Amazon S3…

201514
December1
  • Closing 2015

    2015 is finishing. Its 18:15h while writing these lines. Looking back to this year lot of feelings mixes in my mind, some of them great and some sad. But live continues and we can only go forward.

October2
  • Reading very big JSON files in stream mode with GSON

    JSON is everywhere, it is the new fashion file format (see you XML). JSON format is mainly used on REST APIs because it is easy to read by JavaScript (JSON means JavaScript Object Notation) allowing…

  • Webpack, not another task runner tool

    It seems we are living an gold era about JavaScript and front end world with a myriad of frameworks, language improvements and, what is related to this article, build systems, tasks runner or…

September3
  • Git, a short introduction with some pictures

    This is a short introduction about Git version control system I made some time ago describing the main topics. Currently, Git is probably one of the most powerful and most used version control…

  • Specification pattern for NodeJS

    Although the specification pattern is mainly use in DDD to check business rules, I think the idea of combine rules offers great flexibility in any application architecture, it is suitable for any…

  • I'm working on ClydeIO

    [ClydeIO][clydeio] is an open source API gateway and management layer based on nodejs. It is extremely flexibly, configurable and simply to extend. It is designed to simplify the development of new…

August4
  • How to read from a writable stream (http.ServerResponse) in Node

    I'm working on a personal side project (when I have free time to spend on) where a bunch of middlewares are chained to do something awesome (Take a look at ClydeIO. Note it is currently a proof of…

  • Using random unsplash images on your website

    Recently I updated my we page and one of the nice features I included on it is the fact a random image is placed in the header for each page. These images are obtained from the great unsplash, a free…

  • Migrating from WordPress to Jekyll

    WordPress is awesome, an incredible project with thousands of plugins that does not need any presentation. What start as a blogging platform has become a powerful framework to build almost anything.

  • Working with different environments on jekyll

    Jekyll is an open source static site generator. It allows writing content in markdown (also HTML) using some rules, like adding some front matter on pages or posts. Later jekyll compiles all the code…

July2
March1
January1
201415
December3
November2
October2
  • 7 reasons to use Yeoman's angular-fullstack generator

    For my next project and, after looking for candidates and reading some hundreds of lines of documentation, I finally choose to work with the so called MEAN stack: mongodb, express, angular and node.

  • The Book of OpenLayers 3, released !!!

    Finally I completed most of the chapters I had thought for the book. Although two chapters remains to be written, I think the current content is extensive enough to help anybody interested to lean…

September1
August1
  • Releasing code samples for The Book of OpenLayers 3

    Writing a book is hard, requires constance and motivation and, more important, be strong to keep them both. Least but not last you need time. Time to see the source code and learn. Time to see the…

May1
  • Leaflet and how avoid map panning on mouseout

    A couple of days ago , a friend asked this simple question in a Spanish forum. The scenario is simple, you have a map and when dragging it you would like to stop the action when the mouse goes beyond…

February1
  • The book of OpenLayers3 is coming !!!

    This week the beta2 version of OpenLayers3 has been released (see the OpenLayers3 is comming from Boundlessgeo blog) with great improvements on vector layers rendering and image manipulation.

January4
201313
December3
  • Professional purposes for the new year 2014

    With the arrival of each new year everybody has new great purposes and new goals to achieve. I'm not talking from the personal point of view but the professional too: practice more sport, to quit…

  • The book of OpenLayers3

    I was thinking on it for a long time, but due a lack of free time I never started. Finally I can officially say I have start writing The book of OpenLayers3.

  • Using more than one property file in Spring MVC

    Spring is one of the most important, powerful and also complex frameworks in the actual Java panorama.

October1
August1
May1
April2
  • SimplyWrite, a free web distraction writing tool

    I like to write and I like programming so the obvious consequence were to write some tool to write. More or less this is the history of SimplyWrite.

  • The Book: GeoServer Beginner's Guide

    GeoServer is one of the most importants open source geospatial servers nowadays. Implemented in Java, based on the powerful GeoTools libraries, GeoServer offers a great degree of interporability…

February2
January3
201224
December2
October3
  • Projections, projections, projections

    Create a map of the earth isn't an easy problem. Projections basically tries to solve the problem of how to 3D element on a 2D surface.

  • Things seen last week

    Launcher - Wordpress responsive theme that allows visitors know estimated time remaining in launching your site.

  • Improved performance on the AnimatedCluster for OpenLayers

    Yes, now I'm really proud to present the AnimatedCluster strategy for OpenLayers. Some time ago I created an AnimatedCluster strategy for OpenLayers that extends the basic Cluster strategy, animating…

September7
August2
  • Animated marker cluster strategy for OpenLayers

    Yes, this posts talks about my implementation of a cluster strategy that animates clusters when changing the zoom level. So, if you are one of those don't like to read the blog posts from others and…

  • Awesome clustered markers in Leaflet

    Some time ago someone asked at gis.stackexchange.com for nice cluster marker implementation, both for Leaflet or OpenLayers, something similar to Redfin. A couple of weeks ago I discover a great…

July2
June2
  • OpenLayers Cookbook

    I'm near to finish my first experience as the author of a technical book. Titled OpenLayers Cookbook it has been written for PacktPublishing editorial, while the OpenLayers version 2.11 was the…

  • Jelastic, cloud platform for Java

    Some days ago I receive an invitation for testing Jelastic product and, today Saturday, I had a while, made my homework and had my first contact with the platform.

May1
April1
March2
January2
  • Dojo + OpenLayers = New Challenges

    Recently, the new Dojo 1.7 was released with many improvements and important changes. As a developer, I'm pleased to work with Dojo on RIA application because simple reasons:

  • Presentation tools in the browser

    With the arrival of HTML5+CSS3 the browsers are getting more attention because the new possibilities.

201121
December1
  • Filling Flexigrid with JSON/XML data

    Flexigrid is one of the most useful and powerful grid plugins for jQuery. Unfortunately, as the author explains in the project page, there is no much documentation so you must learn how to use it…

November3
October1
  • Sending emails with Java

    Update: This article is a bit outdated 😅 You can find a nice read at the blog post Guide to Send Emails in Java from the mailtrap.io team.

September2
August3
July2
  • A geek joke

    A man walks into a Doctor’s and says “Doctor, I think I’m addicted to Twitter.” Doctor looks at him and says “Sorry, I don’t follow you.”

  • Generating map tiles without a map server. GeoTools the GIS swissknife.

    Recently I was playing with latest version of GeoServer. It includes the GeoWebCache, something which can improve your server performance greatly. GeoServer solves and helps lots of problems to work…

June2
  • A heatmaps layer for OpenLayers

    As I commented on a previous post I know about heatmaps.js project some time ago and interest me a lot by its possibilities with OpenLayers. Of course it is not the only solution, see here and here…

  • Heatmaps in OpenLayers

    Some month ago I found nice post on how to create heatmaps using HTML5 canvas element. Its author, Patrick Wied, created a nice JavaScript code responsible to create a heatmap over an image depending…

May1
  • XCode4 and the mystery with Route-Me code sense

    If you follow this blog you will know I prefer to write "long" posts with nice content :) form time to time than write lots of short posts without much substance. For that I use Twitter :p

April2
March2
February1
January1
  • Working with the JavaScript XMLHttpRequest object

    In the last years JavaScript has become one of the most important programming languages. Probably one of the most famous words related to JavaScript is AJAX) (Asynchronous JavaScript and XML).…

20103
December2
  • JavaScript animations (tweening): Why maths are important?

    In a previous post I show how to make a simple scrolling animation using jQuery. jQuery library has lots of effects, many more added in jQuery UI and much more as plugins. Of course it is fine to use…

  • How to create a preloader in Dojo

    Dojo is a great framework to create RIA applications. Dojo isn't only a bunch of utility functions to select DOM nodes, change styles, make some effects, etc in contrast it is a whole framework with…

November1
  • Animated scrolling to a DOM element

    Creating my web page I have wanted to create a smooth movement to a given page element, for example from top to about section. One possibility, of course, is to code it yourself, but we are lucky to…