I'm a computer scientist from Barcelona. I'm passionate about FP (mostly Scala), data, algorithms and mountains.

About me

My name is Miguel and I'm a Data Engineer from the sunny city of Barcelona. This page is about me, my passions and the motivations behind them.

This is my story

It starts with the 5-years-old me. My parents had just bought a PC with an Intel Pentium 100 and the shiny new Windows 95. It was the first time I got to use a computer and I was dazzled. I didn't know how to read, but I learnt how to manage the computer in a test-and-fail fashion. As I'm the smallest of the family, I had to wait until a new computer was bought to inherit the old one. I had to wait for the Pentium IV generation to get my own computer. It was totally mine, so I started to play with it: I installed my first Linux distro, replaced its components and did very basic programming (Do you remember ActionScript?).

Since I remember, I've always been very data-driven. Excel was, by far, my favorite software before I knew about programming. I stored my home's daily temperatures for years in an Excel sheet. You could filter by day, find the maximum and minimum temperatures, etc. My passion for meteorological data is still around. Now, though, data is logged automatically and displayed in a webpage. This page has been a sandbox over the years (it's been written in PHP, Ruby, NodeJS and finally Scala) and is still evolving.

University

Following my passion, I studied Computer Science in the Polytechnic University of Catalonia (UPC). There, I discovered things about computers that I wasn't aware about, and fell in love with some of them. I chose optional subjects about programming languages, algorithms, machine learning and distributed systems. Especially, I liked to know how computers could solve hard problems.

My first job was in the same University. I started giving support to manage a department's data center. At that moment I realised that hardware was not what I liked the most. Some time later, I started building a website for the department in PHP. Software made me happier, but PHP had something I didn't like (and I didn't know what it was at that moment).

Work experience

A bit before finishing my degree thesis, I started working at Trovit as a Web Developer. I was in a small and multidisciplinary team and I learnt a lot of new things. After a year, though, I started to get more and more bored. I wasn't learning anything more and PHP made me uneasy. I preferred statically typed languages like the ones I learnt in the university (Java and C++). At that moment, the company had opened a new position for the Big Data department, where I'd have the possibility to work with Java, Hadoop and other Big Data technologies. I was excited at the thought of determining the best data structure, or how to leverage all the data we had into useful information.

I applied for the position and the company accepted it. The change was intense. I was now managing data pipelines that lasted for hours instead of requests of a few milliseconds, and I was learning very fast again. I was happier with Java, it felt more explicit and precise than PHP.

Then I found about Apache Spark, which was supposedly faster than Hadoop. It was implemented in Scala. I remembered the language from the university, where I took a class about programming languages. Each of us were assigned a programming language, and we needed to research about it's characteristics. I was assigned to Scala and I liked it, but I never got very deep into some of the most interesting and advanced features.

As I researched Spark more and more, I started to fall in love with Scala and with the Functional programming paradigm. It made things more concise, appealing and mathematical. I liked that feeling and started to evangelize the language in the company. After some time, almost all Java developers were also coding in Scala.

Community

After some time working with Scala, I entered into its community. I found it very welcoming. On the Gitter room, you could read answers to very newby questions and also complex discussions about programming languages theory. I wanted to be part of that too.

What about now?

After more than 2 and a half years of experience in Big Data and 4 total years at Trovit, I decided to resign to rest a bit. I've been studying at home since then and I'm now trying to find a job again. If you have an offer and you think it fits with the things I love, do not hesitate to contact me. I also want to work in another country outside Spain, so these offers have a bonus!

How to contact me

I talk about random things on Twitter. Some of my code and contributions are on Github. You can also find my work experience with a bit more detail on LinkedIn.

Keywords

Some keywords I like: Scala, data, algorithms, Spark, Hadoop, distributed systems, functional programming