I’m a Full Stack Developer from the Canary Islands with a strong focus on building maintainable, well-tested software. I’ve been working on digital products since 2013 and professionally developing software since 2016. JavaScript is my native language—both literally and figuratively—and I specialize in Node.js, TypeScript, and frontend technologies like React.
Over the years, I’ve led teams, contributed to large-scale architectures, and implemented practices like Clean Architecture, TDD, and microservices in production environments. I’ve built invoicing engines used by hundreds of thousands of users, deployed microfrontends to millions, and optimized complex Node.js processes from hours to minutes—one of which became the subject of a talk and blog post. I enjoy sharing knowledge, and I’ve trained both teammates and clients in modern JavaScript, TypeScript and Node.js asynchronous performance.
Beyond code, I care deeply about how we work as developers. I believe in sustainable practices, continuous learning, and giving back to the community through talks, workshops, and open-source tools. I’m also passionate about creativity—whether it’s designing developer tools, walking in nature with my dog Mocha, or learning to produce music.
In late 2022, I recognized I was experiencing burnout and took a conscious step back to recover. That pause helped me reconnect with what truly matters: people. Since then, I’ve been intentional about creating healthier, more sustainable ways of working—not only through practices like TDD or clean architecture, but also by fostering environments where well-being is part of the process.
As part of mentoring junior developers, I now share not only technical knowledge but also tools for managing stress and recognizing early signs of burnout. Helping others grow without burning out has become one of the most meaningful aspects of my work.
Experience
Frontend Developer
· Kentech
01/2024 – Present Las Palmas de Gran Canaria, Las Palmas, Spain (Hybrid)
At Kentech, I've contributed to the development and maintenance of several frontend
projects in a high-traffic environment. My responsibilities include working on
architecture improvements, refactoring legacy code with a focus on maintainability,
and writing technical documentation to support team knowledge sharing and reduce
knowledge silos. I also handle technical spikes and collaborate regularly with other
developers to improve workflows.
I've been actively encouraging the adoption of Test-Driven Development (TDD) across
the team. Through pair programming and one-on-one support, I've helped make testing
a more natural and consistent part of our workflow. As a result, test coverage in
one of our key projects has increased significantly, leading to better code stability
and confidence when refactoring. Additionally, I've supported the recruitment process
by interviewing candidates and proposing a new technical test aimed at evaluating
problem-solving and design skills more effectively.
- TDD
- Clean Architecture
- TypeScript with ESNext
- React
- NestJS
- Node.js
- Jest
- JavaScript with ES5
- AngularJS
- Husky
- Socket.io
- PHP7
- MySQL
- Backend For Frontend
- Microfrontends
- Docker
- Gitlab
- Express
- Technical Documentation
Senior Programmer
· Triditive
04/2023 – 06/2023 Meres, Asturias, Spain (Remote)
At Triditive, I contributed remotely to the development of a platform designed to
manage additive manufacturing workflows. During my time there, I supported various
technical tasks and looked for opportunities to add value in a dynamic and rapidly
evolving environment. Despite the short engagement, I remained committed to writing
clean code, collaborating asynchronously, and documenting my work to support the
broader team.
- Python
- JavaScript
- Docker
- Additive Manufacturing
- Github
- Vue
- jQuery
- Flask
- Async communication
Full Stack Developer
· Lean Mind
03/2020 – 10/2022 San Cristóbal de La Laguna, Santa Cruz de Tenerife, Spain (Remote)
At Lean Mind, I worked remotely as part of multidisciplinary teams for various
clients, contributing to products ranging from e-learning platforms to billing
systems and audience intelligence tools. The company operates with a strong
commitment to Software Craftsmanship and eXtreme Programming, which aligned deeply
with my own values as a developer. Our work focused not just on delivering features,
but on building maintainable, well-tested, and meaningful software.
I was involved in full-stack development using technologies such as Node.js,
TypeScript, React, and occasionally PHP when maintaining legacy systems. I regularly
practiced pair programming and Test-Driven Development (TDD), and helped guide
architectural decisions with long-term sustainability in mind. In one of the
projects, our team was able to deliver features to production with zero bug reports
thanks to a robust testing strategy and a focus on simplicity. We also achieved
significant performance improvements by optimizing data-heavy processes that
previously took weeks to run, reducing them to a single day. Beyond client work,
I mentored apprentices—one of whom later joined the company—and led internal
training sessions to foster continuous learning within the team.
- Node.js
- JavaScript
- TypeScript
- Hexagonal Architecture
- eXtreme Programming (XP)
- Test-driven Development (TDD)
- React
- PHP5
- MySQL
- MongoDB
- Docker
- Gitlab
- Github
- Bitbucket
- Technical documentation
- Async communication
Full Stack Developer
· Kentech
08/2018 – 03/2020 Las Palmas de Gran Canaria, Las Palmas, Spain
After being promoted within Kentech, I took on broader responsibilities across both
backend and frontend development. I would alternate between building backend services
in Node.js or PHP, and implementing frontend features with frameworks like AngularJS
and React depending on the team's needs. I often collaborated closely with solution
architects and team leaders to design scalable, practical solutions aligned with
project goals.
During this time, I played an active role in modernizing our development practices.
I introduced several tools and methodologies to the team, including TypeScript,
NestJS, Storybook, Microfrontends, Cypress, Husky, and the creation of internal npm
packages. These efforts contributed to a more cohesive and maintainable codebase, as
well as improved testing and documentation standards. Beyond development, I also
supported production deployments, maintained development environments, and helped
interview and onboard new developers for both frontend and backend positions.
- Node.js
- AngularJS
- React
- TypeScript
- Storybook
- Jest
- Husky
- Socket.io
- PHP7
- MySQL
- MongoDB
- Microservices
- Microfrontends
- Redis
- Docker
- Gitlab
- Express
- NestJS
- Technical Documentation
Backend Developer
· Kentech
06/2017 – 07/2018 Las Palmas de Gran Canaria, Las Palmas, Spain
I was hired as a Backend Developer due to my interest and performance in Node.js
tasks during my internship. In the first six months, my main tasks were coding new
features on Node.js microservices, helping the infrastructure area and handling
deployments on our environments before CI/CD came to our lives. That meant handling
web servers with Nginx and pm2 processes for Node.js, besides handling all the files
on servers for other services. Thankfully, some really smart teammates deployed
Rancher with Docker connected with our Gitlab, giving us the chance to add CI/CD on
our workflow.
During the following six months, I gradually stopped working on infrastructure and
started creating new features across all the stack. I also evangelized best practices
about ES2017 Promises with async/await.
- Node.js
- AngularJS
- Socket.io
- PHP7
- MySQL
- MongoDB
- Microservices
- Redis
- Docker
- Gitlab
- WordPress Development
- Technical Documentation
Web Developer Intern
· Kentech
03/2017 – 05/2017 Las Palmas de Gran Canaria, Las Palmas, Spain
As part of my final year in the Web Application Development studies, I chose to do
my internship at Kentech—one of the few companies in Gran Canaria working with
Node.js at the time. It was also a great opportunity to practice professional
English, as the company operated fully in that language.
I began as a QA tester for the company's main web application, but soon earned the
opportunity to take on development tasks. I worked on UI performance optimizations
for Opera Mini and developed a custom WordPress theme for a corporate site. Toward
the end of the internship, my mentor introduced me to their microservices
architecture and challenged me to build a proof of concept for a distributed
cache-locking mechanism using MySQL and Redis. That hands-on exposure sparked my
interest in backend architecture and laid the foundation for my transition to a
full-time backend role.
- Opera Mini Optimization
- Node.js
- AngularJS
- Quality Assurance
- PHP7
- MongoDB
- Gitlab
- Docker
- WordPress Development
- Technical Documentation
Web Developer
· Cmas Digital
04/2016 – 09/2016 Maspalomas, Las Palmas, Spain (Partial remote)
While I was in the middle of my Web Application Development studies I joined Cmas
Digital, a two-person studio where I applied much of what I had learned in Mokaps
about content, project flow, and client interaction. As the sole developer, I
designed and built websites using WordPress, HTML5, and CSS3, created wireframes,
and helped organize project information.
The role required a great deal of independence and initiative. My experience at
Mokaps helped me transition smoothly into a more technical role, taking ownership
of full web projects.
- HTML5
- CSS3
- JavaScript
- PHP5
- WordPress Development
- Scrum
- Kanban
- UI/UX
- Customer Management
- Project Management
Social Media Manager / Co-founder
· Mokaps Studio
02/2013 – 06/2015 Las Palmas de Gran Canaria, Las Palmas, Spain (Partial remote)
At Mokaps Studio, a small creative agency I co-founded, I led digital marketing
efforts while gaining my first hands-on experience with web technologies. I planned
and executed content strategies across multiple channels, managed online communities,
and handled crisis communication when needed. As a copywriter, I was responsible for
all blog content and also worked directly on websites, inserting and styling content
using HTML and CSS.
Running a business also meant wearing many hats. I dealt with client relationships,
product planning, budgeting, taxes, and day-to-day problem-solving. This experience
gave me a broader perspective on digital products and sparked my interest in
programming, which later became my full-time path.
- Digital Marketing
- Social Media Strategy
- Content Generation
- Community Management
- Customer Management
- Project Management
- Business Management
- HTML5
- CSS3
- WordPress
- Scrum
- Kanban
- Async communication
Education
Higher Technician in Web Application Development
10/2015 – 05/2017 CIFP Villa de Agüimes · Cruce de Arinaga, Las Palmas, Spain
This two-year vocational program provided me with a solid foundation in web
technologies, including HTML5, CSS3, JavaScript, Java, PHP, SQL, and frameworks
like Angular and Express. I learned both frontend and backend development, as well
as methodologies such as MVC and Agile.
The program also included a professional internship, which I completed at Kentech.
That opportunity allowed me to apply everything I had learned in a real-world
setting and confirmed my decision to pursue software development as a long-term
career.
- HTML5
- CSS3
- SQL
- Java
- PHP5
- OOP
- JavaScript
- jQuery
- MVC
- Bootstrap 3
- Progressive Web Apps
- Angular 2
- MongoDB
- Node.js
- Express
Higher Technician in Business Management and Marketing
09/2011 – 11/2012 IES José Zerpa · Vecindario, Las Palmas, Spain
Before entering the tech world, I completed a 1,400-hour vocational course in
business management and marketing. I studied areas such as customer management,
logistics, sales, and reporting with Excel.
While not directly technical, this training gave me a strong understanding of how
businesses operate, which has proven valuable when collaborating with stakeholders,
understanding product goals, and navigating cross-functional environments.
- Marketing
- Customer management
- Logistics
- Sales
- Business management
- Office automation
- Excel reporting