Borja Paz Rodríguez
Software Engineer
In Galicia, Spain
General information
Introduction
Hello 👋! I'm Borja, a simple teleco passionate about programming, gadgets, technology, networks, escape rooms... Yes, yes! Escape rooms 🔐, you heard right. Thanks to this hobby, which gave me as many headaches as unique moments, I strengthened all the knowledge 🧠 I acquired during my academic stage and discovered many more things that today turn around in my head 💭. It all started with a damn website 💻! From that moment on, my interest grew even more within me. How to do something in the best possible way? What is the most appropriate technology? Will I be following the best practices? Would Uncle Bob be proud of me? 🧐
My concerns about knowing are focused on good practices ✅, design patterns 🪄, the application of new architectures 🏗️ (Clean Architecture, Hexagonal Architecture, etc.), process automation 🔀, CI/CD 🧩, performance improvement ⚡️, process optimization 🔬, learning new programming languages and skills 🤓, monitoring 👀, problem-solving 🧮, use of DDD 🎯, etc. I would not be able to choose a specific technology. During my professional stage, I have been changing and combining many branches, which is gratifying and serves as an exercise in adapting to change 🤹♀️. Despite this, I hold a special affection for technologies such as Java ☕️, Spring 🌱, Spring Boot 🍃, JavaScript 💛, TypeScript 💙, Angular 🅰️, React.js ⚛️, Next.js 🖤, Node.js 💚, Python 🐍, Docker 🐳, etc. I also usually entertain myself quite a bit by doing tasks typical of DevOps, always looking for the simplest and most practical way to do things.
I am passionate about being able to dedicate time to small personal projects 🧑💻 that can be useful to others with the same concerns as me. For example, practical dotfiles to make the configuration and customization of GNU/Linux-based operating systems easier 📑, a mini tool to manage and configure home servers using Docker, Docker Compose, Make and FZF 🕹️ or a REST API template with Node.js and TypeScript following best practices 🔰.
My best practices
As a passionate software developer, my primary goal is to apply industry best practices ⭐️, SOLID principles 🔝, Clean Code 🧼 and design patterns 🪄 to ensure clean, maintainable, and scalable code. I'm a strong advocate for Test-Driven Development (TDD) 🧪, using automated testing to validate the reliability 👌 and robustness 💪 of my code.
With a strong focus on Domain-Driven Design (DDD) 🎯 and Hexagonal Architecture/Clean Architecture 🏗️, I architect solutions that tackle complexity and foster modularity, enabling adaptable and extensible applications 🧶. I am committed to maintaining coding standards, and I utilize Git hooks 🐙 to enforce code quality and ensure consistent commits. Additionally, I rely on code formatters 🧹 to keep my codebase clean and well-structured, while linters 📏 help me identify and address potential issues early in the development process.
Adhering to the YAGNI 🦛, DRY 🔁, and KISS 😘 principles, I avoid over-engineering and ensure that my solutions are simple and efficient. As a tech lead and architect, I actively engage with cross-functional teams, providing mentorship and guidance to foster a collaborative and innovative environment 🤝.
Embracing Continuous Integration 🧩 and Continuous Deployment (CI/CD) 📦 practices, I strive to optimize project delivery and deployment processes, ensuring faster and more reliable releases 🏃♀️. Additionally, I'm an advocate of the Boy Scout Rule 🏕️, which encourages leaving the codebase in better condition than I found it, promoting continuous improvement ⬆️.
Constantly seeking knowledge and staying updated with the latest trends and technologies 📡, I approach every project with a growth mindset, striving for innovation and excellence. As a team player 🫂, I actively contribute to the success of cross-functional teams 🦄, mentoring and guiding fellow developers 👩💻 to deliver high-quality software solutions 👾.
My dedication to excellence and my continuous drive for learning make me a valuable asset to any team seeking to deliver high-quality software solutions. I thrive on challenges and embrace every opportunity to expand my knowledge and expertise in the ever-evolving world of software development ❤️.
My skills
Languages
Technologies and tools
I master
- Angular2+
- Angular Universal
- API
- Arduino
- Artifactory
- AWS
- AWS EC2
- AWS Lambda
- Azure
- Bamboo
- Bash
- Bitbucket
- Bootstrap
- Cassandra
- ChartJS
- Cisco
- Confluence
- CouchDB
- CSS
- Cucumber
- Cypress
- D3
- DB2
- DNS
- Docker
- Elasticsearch
- Express
- Fastify
- Gatsby
- Git
- Gitflow
- Github
- Github Actions
- GitLab
- Google Analytics
- Google Apps Script
- Google Maps
- Google Search Console
- Google Sheets
- Gradle
- Grafana
- Gulp.JS
- Hooks
- HTML
- Java
- JavaScript
- Jenkins
- Jest
- Jetbrains
- Jira
- JUnit
- Kafka
- Karate
- Koa
- Kubernetes
- Latex
- Less CSS
- Linux
- MariaDB
- Maven
- Mockito
- MongoDB
- MQTT
- MySQL
- Nest
- nestJS
- NextJS
- Nexus
- Nginx
- NgRx
- NodeJS
- OpenApi
- OpenShift
- Playwright
- PostgreSQL
- Postman
- Python
- RabbitMQ
- React
- Redis
- Redmine
- Redux
- REST
- Sass
- Scss
- Serverless
- SOAP
- SoapUI
- SonarQube
- Spring
- Spring-Batch
- Spring Boot
- SQL
- SVN
- Swagger
- Tailwind
- TypeScript
- Visual Studio Code
I want to work with
- Angular2+
- Angular Universal
- Ansible
- API
- AWS
- Azure
- ChartJS
- Couchbase
- Cypress
- Deno
- Docker
- Express
- Github
- Github Actions
- Java
- JavaScript
- Jest
- Jetbrains
- JUnit
- Kafka
- Koa
- Kubernetes
- MariaDB
- Mockito
- MongoDB
- Nest
- NextJS
- NodeJS
- Playwright
- Python
- RabbitMQ
- React
- Snowflake
- SonarQube
- Spring
- Spring-Batch
- Spring Boot
- Spring Cloud
- Swagger
- Tailwind
- Terraform
- TypeORM
- TypeScript
- Visual Studio Code
- Webflux