I have collected my professional experience in this page. Instead of just listing months and positions I will try to narrate my story. It is a bit longer but far more entertaining, I hope.
A developer with 20+ years of experience proficient in backend development, specialized in scalability and DevOps, currently leading high-performing teams.
I have 20+ years of professional experience related to software development. Bear with me while we go over them, in reverse chronological time as is customary. Dates are in ISO 8601 format: 2016-08 is August 2016.
2020-02 to present: Marketgoo
I am currently leading an awesome team at Marketgoo, a thriving startup company doing SEO analysis. We have an awesome high-performing platform, and an even more awesome team.
2019-04 to 2019-12: Influencity
I was CTO of Influencity, a company in the field of influencer marketing. I led a team of talented developers and helped them build the best platform for influencer marketing, using Node.js and React.
While there I helped improve the architecture, hired two new engineers (for a total of 6 people) and led the team during a complete revamping of critical modules.
2017-10 to 2019-03: Devo (Formerly Logtrust)
Devo is a thriving Spanish company that collects huge amounts of data and keeps it in a searchable format for our customers. We were in the middle of an impressive international expansion. I faced a lot of exciting technical challenges while working there as a senior software engineer.
I worked in the data ingestion team along with my great friends Diego Lafuente and Pedro Palao, and many other friends and colleagues. Our system reached peaks of 3.5 million events per second, which it ingested flawlessly.
I was telecommuting full time, going to the office one day per week. We also had flexible hours, which allowed me to be with my family when needed while devoting my most productive hours to my job.
2013-01 to 2017-09: mediasmart.io
I worked full time for a few years at mediasmart.io, a mobile adtech company. Before I joined the company was facing major scalability challenges and I could not reject the offer. In fact we grew from processing two thousand requests per second to more than 800 thousand in little more than four years. Yes, that is right: every ~1.2 seconds we processed a million requests, decided which ones are useful for our customers and responded to all of them.
I have worked with a great team and we did great things together, successfully competing at an international level. When I joined I thought I knew some Node.js, which was a bit optimistic to say the least. Since then we have tortured the V8 engine in ways that I could not even dream back then. I have also learned a bit of Erlang and Go, which we used for certain subsystems. Some of my Go code has been in production for years without issues.
My job included math puzzles and lots of equations, and we handled huge amounts of data, so I guess I could say that I did some “Big Data” too. But, as befits a small startup, I also did lots of other things such as backend development and DevOps.
I am especially proud of the team we managed to build while working there. I actively participated in the selection of everyone in the dev team, and I think they are bound to do great things there and elsewhere.
2012-08 to 2012-12: Freelancer
After my entrepreneurship adventure was mostly over, and we failed to get rich in the process, I worked as a freelancer for Kimia writing a PHP backend and an Android app, while my friend Diego Lafuente wrote the iOS version.
I have not stopped taking freelance engagements, since they help me stay sharp and learn new things. In fact I have worked for several large companies: here is one recent story.
2011-08 to 2012-08: CTO at MoveinBlue
2007-07 to 2011-08: Project Manager at ING Direct Spain
After many years at consulting companies, joining a “client” was a breakthrough. I was hired as an analyst, coordinating a group of 3 to 10 developers. For the last couple of years I was a project manager and technical lead for financial cards. During my four years there I learned to communicate with non-technical parties, and to coordinate disparate teams for a common goal.
We did many interesting projects, such as coordinating a task force to optimize financial transactions. Truth be told, I sorely missed technical work, so at the first opportunity I went back to hard-core software development in anger.
2005-03 to 2007-07: Consultant at Matchmind and Indra
During the last few months at Matchmind I worked for Leroy Merlin. Then I left, and for a few months joined Indra (the largest Spanish IT consulting company) on a very ambitious project to migrate all of the infrastructure of Caja Madrid (a largish public bank, now part of Bankia). The best part is that I got to work with very talented people, some of which I keep in contact with to this day.
2001-08 to 2005-03: Analyst at Ibermática, SA
In the Applied Research department we did many innovative things with Java and XSL, such as an agent platform where I dealt very interesting thread synchronization issues; or an XSL library to generate recursive documents. I was also technical lead for InfoCitizen, an European project for sharing personal documentation across Europe.
It was cool to cooperate with several companies and institutions from all over Europe. As part of my job I attended several conferences and presented a couple of European projects in academic circles. I also got to travel a lot which was nice, for a while. Then it got tiring. Then the European projects dried out. Ibermática was at its heart a consulting company (read: part of the dwindling meat market), and it was beginning to show. Combined with the sudden lack of research projects it was a good reason to leave.
2000-05 to 2001-07: Analyst at Siatcom, SA
During my first months at Siatcom I got to learn Java, then in great demand in the sector. Shortly thereafter I got to know first-hand the Spanish “meat market” for tech workers. I got to use my new Java skills at Telefónica I+D as a “consultant”, actually a contractor in disguise. But then I got to participate in a couple of cool projects: a location experiment that got the user position from a mesh of mobile stations (in 2000!), and a WAP ringtone and messaging platform. OK, the second project was not really cool, so I left.
1998-08 to 2000-05: Analyst-Programmer at Informática El Corte Inglés, SA
After many years programming as a hobby I thought I knew everything about writing software. My first programming job was very useful to teach me that I was in fact wrong. I was in the team that wrote a C cash register program, with a nifty Visual Basic interface.
My best experience there was a two-week course taught by a real engineer: an ex-IBM manager called Kyle Rone that had worked in the Space Shuttle software. His charts and graphs made me fall in love with metrics and testing. My most interesting project was designing and writing a custom plug-in architecture from scratch.
1996 to 1998: Intern at Plataforma Solar de Almería
My first job ever was to rewrite the PSA website in something that allowed for some degree of automation. A large part of it was laying out their annual report. I learned HTML in anger, and a long-forgotten environment called Frontier.
Paid work is not everything; often it is more rewarding (and fun!) to give away your time.
Open Source Projects
I was a volunteer admin project at Savannah (part of the GNU project) from 2008 to 2010.
In 2013 I started doing public talks, the very first to a crowded room for MadridJS.
I like to give public talks every once in a while. I consider them to be volunteer work since I am not paid, although I get to attend amazing conferences. They are excellent opportunities to learn how to speak in public and meet interesting people.
I also give talks at private events from time to time. If you would like to have a seasoned tech speaker just contact me!
I have helped organize three editions of JSDayES, which have been very well received by the JS communities in Spain. The last edition JSDayES 2017 had about 600 attendees and featured 35 speakers from over 10 countries.
From 2015 to 2019 I was the main organizer of MadridJS, following on the steps of the previous team who did a great job. I am also the organizer of Node.js Madrid. We have run a couple of editions of NodeSchool.
Lately I have given a couple of workshops at AdaLab, a bootcamp specifically for females wanting to work in software development. It has been a great experience to see people so motivated! These brave women are going to be a force to reckon in our national industry.
I learned programming even before I had a computer: I wrote stupid BASIC programs on paper and run to the house of my friend Carlos, who owned a ZX Spectrum, to type and run them. When I got my own Amstrad CPC 6128 a few years later I wrote a lot of programs in the included BASIC interpreter, and later a few more using Z80 assembler.
I loved computers and I loved science. When I went to the Uni I studied Physics, with the idea that I could learn computers on my own, while self-taught science would be much harder. I was more or less right. From 1989 to 1993 I studied in Granada, and then moved to the Universidad Autónoma de Madrid to finish the last two years.
It would have been nice to follow the program set by Wheeler to rewrite all of Physics using information theory, or “it from bit”. But alas, it was not to be. Instead I graduated in February 1996 and life led me elsewhere.
My trusty Atari 1040ST had been with me during University, and I had used it to do lots of amazing graphs and papers using GFA Basic and a desktop publishing system called Calamus. I also learned 68000 assembler, which is a great experience when you want to optimize a program to its last consequences. Being in control of every processor cycle is lots of fun! But it was already feeling its age in 1996. So I got hold of an amazing Apple PowerMac 7500, and used it to learn Pascal, Perl and C. I even got to learn a bit of C++ and even some Objective-C (back when it was not fashionable).
The next step was to teach young talent, something I have been doing (and enjoying) since 2000 when I was sent to Morocco to train new programmers for IECISA.
Other Useful Info
Not everything fits into a “job history” or “education” narrative. Here are some other bits you may find interesting.
I have used many dev environments including IDEs such as NetBeans or Eclipse. Right now I use a minimalistic environment which consists of a Bash console and the
vim editor. (If you use
ed you are allowed to question the “minimalistic” bit.) This allows me to be as productive in a remote SSH connection as locally, which may not be saying much, but there it is.
My OS of choice is Debian, and my desktop is XFCE. Ubuntu for servers is nice too, and Mac laptops are great machines with a Unix console.
Why this page? A few years ago I deleted my LinkedIn account. I had been using it as my online CV for many years, which in retrospect was not a great decision: it consumed some time every week to read its endless stream of notifications and keep up with obnoxious updates and inane corporate self-help. In return I just got lots of recruiters I was not interested in. The few interesting offers I have received in recent times (from the likes of Amazon and Facebook) came by mail.
The disgraceful password leak and the Microsoft buyout were just the last straw. I do not want a single tech giant controlling my CV, and above all I do not trust any company that misplaced my password. Apparently they do not even know the extent of the leak, which is a sure sign of severe mishandling of an incident.
Maybe you are thinking that GitHub, where this blog is published, now owns my CV. Furthermore, GitHub is also now owned by Microsoft! There is a clear difference: the data is replicated on my own computers and can be republished anywhere else in minutes. One of the advantages of owning my private data!
If you have a proposal feel free to contact me at firstname.lastname@example.org. Thanks for making it this far!