about me
I'm a Software Engineer graduated in UPM, Madrid, with specialization in distributed software and services.
As an experienced software engineer, I have worked on a variety of projects in different domains and technologies. With a passion for problem-solving and innovation, I take pride in building scalable and maintainable software systems that meet business objectives.
My expertise lies in full-stack web development, with strong experience in backend development, API design, and database architecture. I have experience working with a range of technologies such as Java, Node.js, SQL and NoSQL databases, AWS, and more.
I have experience working in Agile environments, using methodologies such as Scrum and Kanban, and I am comfortable working both individually and as part of a team. I have been involved in all stages of the software development lifecycle, from gathering requirements and designing solutions to testing and deployment.
If you're looking for a motivated, detail-oriented, and results-driven software engineer with a passion for building top-quality software, then let's connect!
I've been running since 2006 and have achieved some notable milestones
2015 🇪🇸 San Silvestre Vallecana 10k 34'04''
Marathons
2019 🇯🇵 Osaka 2h56'52''
2017 🇱🇺 Rotterdam 3h09 35''
2011 🇪🇸 Madrid 3h31'12''
2008 🇰🇷 Seoul 3h21'36''
skills











experience
Criptan
Role : Software Engineer
Location : Remote - Seoul 🇰🇷
Period : January 2021 - Present
We utilize both SQL and DynamoDB for our database needs, and we leverage events from the database records to perform other operations.
As a key member of the team, I am responsible for developing core projects from the ground up and spearheading the refactor of our core business logic from PHP to TypeScript. I also collaborate closely with our operations and product owners to carefully review and refine development requirements, ensuring our solutions are aligned with our clients' needs.
Threelabs
Role : Software Engineer
Location : Seoul 🇰🇷
Period : August 2019 - January 2021
To optimize performance, I also refactored existing codebase on the backend. Our backend services were built using Node.js with MongoDB (with Mongoose) and Redis for websockets with Socket.io, as well as caching for database queries. I also configured and managed different services on AWS, including deploying the backend service using Docker, ECS, Lambda, and CodePipeline.
Additionally, I developed and maintained Lambda functions for internal services, and worked on refactoring and developing new functionalities for the mobile app using React Native. I also contributed to the development of new functionalities for the admin client built with React-Admin, I deployed it to S3 and CloudFront using CodePipeline.
Overall, my role involved ensuring the smooth and efficient functioning of the backend services, and continually improving the performance and functionality of the application.
Auth0
Role : Software Engineer
Location : Remote - Madrid 🇪🇸
Period : September 2018 - July 2019
To help my team in the future, I wrote internal posts that documented my thought process and actions, providing a valuable resource for my colleagues. Additionally, as our team was remote-based, I occasionally served as the "concierge," helping other members of Auth0 when they needed assistance and managing my time effectively during internal incidents.
Subsequently, I transitioned to the Protocols and Sessions core team, where I was part of a team responsible for working on various protocols integrated into the system and managing sessions. This role involved a deep understanding of the technical architecture and how different protocols interacted with one another. Overall, my experience at Auth0 enabled me to hone my analytical skills and work collaboratively with a diverse team to tackle complex engineering challenges.
Bitholla
Role : Lead Software Engineer
Location : Remote - Madrid 🇪🇸 /Seoul 🇰🇷
Period : July 2017 - June 2018
My primary responsibilities included designing the crypto exchange, developing APIs using Node.js, Express, and Swagger, and deploying the platform on AWS and Docker. Additionally, I worked with Postgresql, Redis, and MongoDB to manage databases and implemented socket.io to ensure seamless websockets connectivity. Lastly, I was responsible for developing SPAs using React and websockets.
Overall, my experience in leading the development of a cryptocurrency platform allowed me to expand my skill set and gain valuable experience in designing, developing, and deploying live systems with cutting-edge technologies.
Famoco
Role : Fullstack developer
Location : Brussels 🇧🇪
Period : July 2016 - July 2017
Beeva
Role : Fullstack developer
Location : Madrid 🇪🇸
Period : May 2015 - July 2016
Apart from the frontend project, I also worked on some small projects in NodeJS. As we provided access to third-party APIs, we had a RAML documentation from other teams, and my task was to transform the RAML into an HTML+CSS+JS that we published on our site. I developed the server that handled the transformation, developed the templates and styles for the project, and reviewed the RAML. This side project helped me understand the importance of good API documentation in development.
After the beta release, we switched from Angular to Polymer and moved away from Liferay to a REST API for our SPA app. In this second stage, I joined the backend team, where I developed services for the internal API using Java and Spring.
Cloudroom
Role : Fullstack developer (Internship)
Location : Madrid 🇪🇸
Period : February 2015 - May 2015
For the backend, I developed a REST API using nodejs and coffeescript. We used a graph database to handle the social approach of resources with many links to other entities. For resources that required more restricted requirements, we used a SQL database (MariaDB). We used mocha and chai for testing purposes. On the frontend side, we developed the frontend applications that consumed the services we created. We used angularjs version 1.
This project provided me with my first real-world experience in a web project, and I learned a great deal about the software development lifecycle.
education
I earned my degree in Software Engineering from UPM, Madrid. During my studies, I took courses on Unix systems, programming with languages like C++, Java (the primary language), web development, and Android applications. The main focus of the program was on managing software, with courses on project management, agile techniques, design programs, testing, and quality.
In my final year, I participated in a group project as an intern where I developed a desktop application for refactoring source code when a change was made in the SQL queries. This internship helped me write the project for my graduation.
After completing my undergraduate degree, I pursued a Master's in Computer Engineering with a specialization in Distributed Software and Services. During this program, I attended more specialized classes in Computer Engineering and learned about new cloud technologies and distributed systems. I also completed an internship as a full-stack developer on a university project.
Before university, I completed a two-year professional formation in Maintenance and Management of Industrial Equipment. This program taught me how to manage industrial equipment, develop quality assurance plans, manage the development process, and oversee projects where I managed and developed all the stages (planning, development, testing).
projects
Profesional Projects
Criptan
Crypto finance application- Developing serveless backend services for the application using AWS technologies
- Developing serveless backend services for the application using AWS technologies
- Designing and developing new services to meet the technical requirements of the project.
Plingo
Online language education platformHollaex
Cryptocurrency ExchangeMy goal was to create a system that could be adapted to different fiat currencies and any type of cryptocurrencies for trading purposes. As a result, I made the project fully customizable to meet the needs of various clients.
First deployed Crypto exchange Exir since December 2017.
XRAY
Cryptocurrency Trade platform.On the server side, I migrated the codebase from mongoDB to PostgreSQL and refactored the existing code to use promises instead of callbacks, as part of the migration process.
On the client side, I built the skeleton of the current design and developed core components to be used in the trading screen. Additionally, I provided valuable feedback on user experience as a customer and worked closely with the designer to improve the approach.
BBVA APIMarket
API portal for developersPersonal Projects
You can find other personal projects on my repositorespublications
Graphql server with node and couchbase, ottoman and spatial view
Post about how to use Couchbase spartial views using nodejs and graphqlDevelop a REST API with Couchbase Ottoman + Node.js + hapi.js
Post on how develop a rest API using nodejs and hapijs, using couchbase as a databasecontact
If you want to contact me, just send me an email to jmn8718@gmail.com or contact me at