Curriculum Vitae

Ulises Santana
Ulises Santana

đź‘‹ Hi! I'm Ulises Santana

Full Stack Developer with JavaScript as mother tongue and web as my home nation. Based in the Canary Islands 🏝️

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

Milestones

  • Overcame professional burnout

    10/2022 – 03/2023

    After experiencing professional burnout due to sustained overwork and blurred boundaries, I decided to take a step back to recover and reflect. This period allowed me to rebuild healthier work habits, prioritize sustainability, and reconnect with the kind of software development that brings long-term value—both to users and to developers. It marked a key turning point in how I approach work, collaboration, and growth.

  • Talk at JSDay Canarias 2022

    05/2022

    In this talk, I shared how we drastically optimized a heavy Node.js process, reducing its runtime from several hours to just minutes. I discussed strategies for handling async workflows and simplifying code to achieve measurable performance gains.

    Watch on YouTube ↗
  • Organizer & Host – Global Day of Coderetreat

    11/2019

    I co-organized and hosted the Gran Canaria edition of the Global Day of Coderetreat, a full-day, hands-on event focused on software design fundamentals. It provided a safe, collaborative space for developers to practice and reflect on their craft.

  • Workshop for React Canarias community

    10/2019

    I ran a hands-on workshop introducing frontend developers to modern testing strategies using Cypress and React Testing Library. The session focused on practical examples and encouraging a test-first mindset.

    Watch on YouTube ↗
  • Talk at JSDay Canarias 2018

    11/2018

    An introductory talk to npm and how to publish on it.

    Watch on YouTube ↗
  • Compiled Node.js on a Chromebook at NodeConf EU

    11/2018

    During a workshop at NodeConf EU, I compiled Node.js from scratch on an Acer Chromebook R11 running virtual Debian. Took almost 2 hours only to compile.

  • Second prize at Hack for Good hackathon

    03/2017

    In a 36-hour hackathon focused on social good, my team and I developed Aprende con Amidi, a Progressive Web App to help teach and preserve Canarian culture through interactive quizzes.

  • First prize at Startup Weekend hackathon

    03/2016

    I joined an English-speaking team during this 54-hour startup hackathon, where we built BasketUp, a basketball analytics platform using just three smartphones for ball tracking and visualization.

Events Attended

  • Socracan Las Palmas de Gran Canaria, Spain · 05/2025
  • Tenerife GG Santa Cruz de Tenerife, Spain · 07/2022
  • Pamplona Software Crafters Pamplona, Spain · 06/2022
  • JSDay Canarias San CristĂłbal de la La Laguna, Spain · 05/2022
  • Socracan Santa Cruz de Tenerife, Spain · 02/2020
  • NodeCONF EU Kilkenny, Ireland · 11/2019
  • JSDay Canarias San CristĂłbal de la La Laguna, Spain · 11/2019
  • AdaLoversConf San CristĂłbal de la La Laguna, Spain · 09/2019
  • JSConf EU Berlin, Germany · 06/2019
  • CSSconf EU Berlin, Germany · 06/2019
  • React Europe Paris, France · 05/2019
  • JSDay Canarias San CristĂłbal de la La Laguna, Spain · 11/2018
  • NodeCONF EU Kilkenny, Ireland · 11/2018
  • JSConf EU Berlin, Germany · 06/2018
  • Socracan Las Palmas de Gran Canaria, Spain · 04/2018
  • JSDay Canarias Santa Cruz de Tenerife, Spain · 11/2017