For the last five years I have been a PHP Developer, building and collaborating on web applications of many kinds, mostly understanding, refactoring and modernizing old codebases but, as a Software Engineer, I enjoy practicing with new technologies when I have time.
I like to deliver code with the best quality and testability, trying to apply the SOLID principles and Clean Code and I enjoy being challenged at work, embracing change and new projects with the hope of learning the most out of them.Download Resume
Name : Miguel Ángel Moreno
Age : 31 Years Young
Humor : Over 9000
Address : Madrid, Spain
I have worked on many different industries and environments. I easily adapt to new teams and I am always eager to learn new things and put my bit on the team and product.
May 2015 - Present
At Rentalia I contribute to modernize the codebase, which was written in spaghetti code long time ago and needs to be updated, trying to use design patterns where possible as well as preparing the code to be testable. I also lead the integration with our Channel Manager. Find out more...
October 2013 - April 2015
Development of the core PHP libraries on which the application was laying, an RPC-like system to serve requests from the server to the AngularJS application and an Active Record suited to the needs of the company to access the data layer. I have taken part of the core full stack development of both applications of the company: A candidates and companies application, and a recruiters application, which I led. I also took part of the team which started a migration from PHP to Python, attaching to SOLID principles and following TDD. Find out more...
November 2012 - September 2012
Among other projects written in CakePHP, I had to extract requirements, lead the development and follow the status of the projects of the new web sites of the 'Rolling Stone' and 'Cinemanía' magazines, well known in Spain, built in Wordpress in the back end, dealing also with the layout from PSD to HTML+CSS+jQuery for the front end. Find out more...
July 2011 - October 2012
Maintenance and development of new features of the application property of Imaweb (CRM Auto), leading company of their own industry. Adapting legacy code in PHP4 to Object Oriented code in PHP5, applying design patterns when useful. Find out more...
March 2011 - June 2011
Maintenance and simple developments for CRM Auto property of Imaweb, as well as docu- menting all the platform, proving being a person easy to adapt to new environments, which made me stop being an intern in a short period of time, becoming a fix member of the team. Find out more...
I studied software engineering / computer science in Universidad Carlos III de Madrid and in 2010 I got an ERASMUS grant to travel to Romania, where I attended to Universitatea Politehnica din Bucuresti.
In Spain, my engineering consists on 5 year/courses, and its equivalent on a Bachelor degree plus a Master degree on the rest of European Countries. The European Qualification Framework of Level 7 out of 8 (EQF7).
My graduation project was an Android Application combining several APIs or public services (Twitter, Slideshare, youtube...) in order to maintain online conversations around events. It was graded as "Outstanding".
In the meantime, I attended the National Language School of Madrid, where I graduated of Advanced Level of Romanian language and Basic Level of Swedish.
After finishing my studies, I attended some online courses in Coursera and Edx such as Machine Learning (hosted by Stanford University) or Introduction to Big Data with Apache Spark, hosted by Berkley University.
2004 - 2013
Universidad Carlos III de Madrid
2010 - 2011
Universitatea Politehnica din Bucuresti
Hosted by Stanford University
Hosted by Berkley University
2007 - 2013
Escuela Oficial de Idiomas De Madrid
2011 - 2013
Escuela Oficial de Idiomas De Madrid
My main interests
Among my personal interests you can find language learning (such as japanese, hebrew, russian or whatever other interesting language) or even calligraphy, which really relaxes me: I love the sensation and the sound of the nib rubbing against the paper.
I also have a small dog, called Luna (Moon) which I adopted a couple of years ago. Of course, I must say she is the nicest and smartest dog on earth. Be aware of this, because I might show some pictures of my dog once in a while on bring it up in a conversation and you might even think I talk about my daughter!
Here you have a list of my areas of interest. I did not have the chance to work with them, but I would love to have to, so I can complain about them.
Although I am just a newbie on this, just reading and investigating, I am quite passionate about the possibilities Big Data is offering and, over all, the challenge it offers as a software engineer: processing such an amount of data efficiently and effectively should be a candy for every computer enginner.
When approaching Big Data, I got the recommendation to tackle the basics of Machine Learning. It was a field I approached in College, but I didn't go very deep on it. After reading about it and learning about it on Coursera, I have now a strong interest on being part of a project that uses it. My belief: Its possibilities are endless and it justs depends on the skills of the team and the vision of the product owner.
This framework implements the reactive manifesto in a beautiful way, using the actor system in a very natural and clean API on Scala (not so much in Java for my taste). The Akka Streams look amazing and I would really love to use them on a project.
I have attended some online lessons about it and I enjoyed the possibilities it brings, combined with MlLib. I like its API, which is very clean and feels natural in both Scala and Python, though the lambda restrictions on python makes it, sometimes, looks more bloated in my opinion.
Though when talking about category theory, applicatives, co-monads and so on, you can see smoke out of my ears, I really enjoy the concepts of functional programming and the way it composes to be some kind of puzzle for developers. I also believe it makes you think twice before coding, which is very interesting, given that, sadly, many times we code without thinking too much before doing it.
I think that using a fork for eating soup just because is good to eat meat, is similar to use relational databases for every kind of data storage just because they do good in some situations. The NoSQL paradigm with MongoDB or Cassandra is here to stay and we should take the most out of them when needed. Perhaps, the difficulty is on making the difference on when to use each of them.
This is a goodie, since you scrolled so much. I told you I might show you a picture of my dog! This is Luna being Luna: sleeping a 13h long siesta.