pinchito.es

Curriculum Vitae of Alex Fernández

My Story So Far

TL;DR

A developer with 20+ years of experience proficient in backend development, specialized in scalability and DevOps.

Job History

I have 20+ years of professional experience related to software development. Dates are in ISO 8601 format: 2016-08 is August 2016.

2019-04 to 2019-12: CTO at Influencity

I joined 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: Senior Developer at 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. Our system reached peaks of 3.5 million events per second, which it ingested flawlessly. I made my first contribution to the Node.js core while there: a benchmark demonstrating a performance issue with TLS and short-lived connections. Hopefully not the last!

I was telecommuting most of the time, and going to the office one day per week.

2013-01 to 2017-09: Backend Lead at mediasmart.io

I worked for more than four years at mediasmart.io, a mobile adtech company. Before I joined the company was facing major scalability challenges. During my stay we grew from processing two thousand requests per second to around a million in little more than four years. Yes, that is right: every second we processed a million requests, decided which ones are useful for our customers and responded to all of them.

I led the backend team, and we did great things together, successfully competing at an international level. We have tortured the V8 engine in ways that I could not even dream before joining. I have also learned a bit of Erlang and Go for certain subsystems. Some of my Go code has been in production for years without issues.

We processed huge amounts of data and had to solve complex scalability issues. As this was a small startup I also did lots of other things: created a whole DevOps infrastructure, designed the selection process, and actively participated in the selection of everyone in the dev team.

2012-08 to present: Freelancer

For a few months in 2012 I worked as a freelancer for Kimia writing a PHP backend and an Android app.

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 more recent story.

Other customers over time include: Grupo Inditex, M&C Saatchi, TUI Group, and a few other smaller companies.

2011-08 to 2012-08: CTO at MoveinBlue

I led a team of 6 people building an amazing product that ultimately failed to find its market. I learned PHP and had my first heavy-duty contact with JavaScript. I definitely had a great time working with great people. I have written elsewhere at length about my first experience as CTO.

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 leading a task force to optimize financial transactions.

2005-03 to 2007-07: Consultant at Matchmind and Indra

I joined a medium-sized IT consulting company. I was contracted out to ISBAN, back then a subsidiary of Banco Santander. There I was part of the team that developed BankSphere, an internal tool for task automation. It was a series of Eclipse plugins wrote in Java, which allowed users to write JavaScript components. It was quite advanced for its time, and creating it was lots of fun.

During the last few months at Matchmind I worked for Leroy Merlin.

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 dealing with 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.

As part of my job I attended several conferences and presented a couple of European projects in academic circles.

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. I got to use my new Java skills at Telefónica I+D as a contractor. I got to participate in a couple of cool projects: a location experiment that got the user position from a mesh of mobile stations, and a WAP ringtone and messaging platform.

1998-08 to 2000-05: Analyst-Programmer at Informática El Corte Inglés, SA

I was in the team that wrote a C cash register program, with a nifty Visual Basic interface.

I had the luck of participating in a two-week course taught by a real engineer: an ex-IBM manager that had worked in the Space Shuttle software. I fell 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 and a long-forgotten environment called Frontier.

Volunteer Work

Paid work is not everything.

Open Source Projects

My projects can be found in my GitHub account. The most popular at 1.8k stars is loadtest, a Node.js library for load testing web applications.

I was a volunteer admin project at Savannah (part of the GNU project) from 2008 to 2010.

Public Speaking

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 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!

Organizations

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.

AdaLab

I have given a couple of workshops at AdaLab, a bootcamp specifically for women wanting to work in software development. It has been a great experience to see people so motivated.

Education

My first computer was an Amstrad CPC 6128; I learned how to program BASIC and later Z80 assembler.

University

I studied Physics from 1989 to 1993 in Granada, and finished the last two years at Universidad Autónoma de Madrid.

My trusty Atari 1040ST was 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. Being in control of every processor cycle is lots of fun!

Teaching

I have been teaching (and enjoying it) since 2000 when I was sent to Morocco to train new programmers for IECISA.

I have taught many face-to-face courses. Lately they have been mostly about JavaScript and Node.js, and a few workshops centered on DevOps: continuous deployment and orchestration. I have also recorded several online courses.

I have participated in several editions of IronHack. I was the main JavaScript teacher for two web bootcamps (2014 and 2015).

Other Useful Info

Here are some other bits you may find interesting.

Toolset

I have used many dev environments including IDEs such as NetBeans or Eclipse. For many years now I have used a minimalistic environment which consists of a Bash console and the vim editor. (If you use nano or ed you are allowed to question the "minimalistic" bit.) This allows me to be as productive in a remote SSH connection as locally.

My OS of choice is Debian, and my desktop is XFCE. Ubuntu for servers is nice too, and any laptop with a Unix console can be useful.

I have programmed professionally using C, Java, PHP, JavaScript, Node.js and Go. I have lots of fun learning a new language or environment.

Rationale

Why this page? I don't use LinkedIn much, since it is a honeypot for spammy recruiters. I prefer to remain in control of my CV and its format.

Contact

If you have a proposal feel free to contact me at alexfernandeznpm@gmail.com. Thanks for making it this far!

Published on 2016-08-17, last edited on 2020-02-15. Comments, improvements?

Back to the index.