Thank you for visiting my website! If you are interested in hiring me, have a look to my cv.

My career

I have been working as a web developer since 2010, programming in Python/Django and JavaScript. Some PHP programming in the early days, but definitely not any more! I also have a Java background since the days at university, but I'm not very interested in programming in such a VerboseMessyAndUgly programming language. But certainly I have some interest in those functional languages around the JVM. I like the paradigm of pure functional programming and I have been learning some Haskell lately (I used to program in Lisp, Prolog and CLIPS at the university for the subjects related to AI). But as I said, Python is my language of choice for the back-end and I'm very proud to be a Pythonist! (and a Djangonaut!)

Along the time I have been improving my front-end skills, and now I consider myself as 60% front-end and 40% back-end developer, more or less... I have been even teaching front-end programming in a course lately, and previously organizing a monthly meeting about JavaScript. But I'm definitely not a JavaScript lover, since its poor design (it's a terrible language), but if you stick to The Good Parts™, it can be really powerful. Luckily ES6 is almost here and lots of those tricks and stupid patterns will be just a bad nightmare soon. I love CoffeeScript, but I think it's time to move to ES6. Now.

My "obsession" is web performance (#perfmatters), from optimizing the Critical Rendering Path (thank you Ilya), to getting the best from HTTP 1.1, HTTP/2, SPDY, TLS and TCP, in order to squeeze all the bits from servers and clients. In the end it's all about caching properly. Caching is one of those two hard things in Computer Science, and the third constraint in a REST architecture. By the way, I agree with Mr. Fielding in that almost all those REST(ful) APIs out there are using the buzzword "REST" just for marketing, mainly because they are not using HATEOAS. Please, let's call them just HTTP APIs. So if you are versioning your REST API based on the URL, you are doing wrong. Have a look to GitHub API if you want a good example of how to do it well.

My life

Some of the things I love are music, sports, healthy food, traveling, hanging out with friends and Spanish tapas.

Last update: