Hi, I'm Cristian

Senior Full-Stack Software Engineer

I was born in Montevideo, Uruguay in 1987 but I moved to Spain in my young years. I have always loved computers. First I started playing with my parents' computer, a 486 running MS-DOS. Later I would spend time getting PC parts and assembling my own custom computers. I attended the Polytechnic University of Valencia where I got my university degree as Technical Engineer in Computer Systems in the 2011 promotion.

My career as a Software Engineer got started before I finished my university studies. I got an internship at a startup and I have never stopped working ever since. I have always defined myself as an "all-roads" developer: I like doing everything. This includes back-end work, front-end work and scripting -automation, CI/CD improvement, etc-. In the beginning, I used to code in Drupal, PHP and JavaScript/JQuery but since my second job besides JavaScript I added C# and the whole Microsoft stack.

Over the course of my 10 years career I have worked in several fields: entertainment, online gaming, telecommunications, finance, tourism, fashion and I have been based in multiple locations: Valencia, Madrid, Barcelona, Warsaw, London, Graz and Moscow. I have been lucky to have worked on projects of different magnitudes: from greenfield projects to long-running ones and in all of them I have shared work with excellent professionals that have inspired me and have become a reference to me. In these projects I have both worked on-site or remotely when working together with distributed teams.

There is a very well-known and easily recognizable quote from the software development world that goes as: "Good developers are lazy developers". My work philosophy is based on the premise of efficiency. In my particular case, this applies to implementing solutions by writing the least possible amount of code with the goal of making the solution clean, simple, elegant and easy to understand. Another important premise for me is keeping high quality and testing. I am a fan of TDD and BDD but on top of any tools it is fundamental to have discipline.

Getting back to the topic of my career, I have always been focused on web development including APIs programming in C# or programming web apps for desktop or mobile using JavaScript.

Since 2018 I have been playing the role of Team Lead in a series of teams in which I tried to educate, mentor and support my teammates. Together with this responsibility I keep doing what I enjoy the most which is coding and architecturing solutions.


What I Do

Architecture

As a solution architect, I have experience capturing requirements from stakeholders followed by a design reasoning process that allows me to better make a choice on what architecturalstyle or system model better fulfills their needs. In this regard, I have worked with several architectural patterns such us Microservices, Event-Driven or Plug-ins.
Read More

Web and Mobile apps development

Writing customer-facing apps is one of the things that I find more enjoyable in my work because I can get to know directly from end customers how the software has had an effect on their activities.I have experience in developing native-like desktop/mobile apps that run in the browser. Moreover, I have experience in developing fully interactive touchscreen Kiosk apps that enhance in-store shopping experience. As to what kind of job I do as a front-end developer, I specially focus on adding behaviour to UIs.
Read More

Backend services development

Cloud native microservices. All the typical sort of things that you can run on a server like RESTful APIs or Lamda functions that can talk to other systems.Integrating them to third-party APIs or services to fetch data from. Then manipulating/transforming/aggregating this data and pushing it into other services like a full-text search engine for fast indexing or storing it in a SQL/noSQL database or caching it in a in-memory store. These are just examples. Another worth mentioning variant are apps that can connect and stream data from/to hardware devices.
Read More

DevOps

Pipeline customization, processes automation, scripting.

Team leadership

Developer mentorship and support. Passing on knowledge and skills, spreading coding good practises. Analysis and investigation tasks including Proof Of Concept making to ease developers'job. Team resources distribution to meet most of the team goals. Coordination work with other teams and dialogue with business-oriented people. Search of areas where it is possible to introduce improvements, maintenance of a technical backlog.
Read More

My Values

Professionalism


"There's nothing glorious about being a professional... Professionalism probably comes down to being able to work on a bad day." -Norman Mailer





Professionalism


"There's nothing glorious about being a professional... Professionalism probably comes down to being able to work on a bad day." -Norman Mailer