DiegoFHG

Diego Francisco Hernández Guevara Passionately crafting software solutions

About me

I am a software engineer specializing in back-end development with extensive experience in full-stack development. Throughout my seven-year career, I have designed and built enterprise-level applications and scalable software systems across various domains.

My expertise centers on Node.js and TypeScript, with a strong focus on NestJS for building maintainable, enterprise-grade applications. I've architected and deployed microservices, REST APIs, and real-time applications using modern architectural patterns including dependency injection, CLEAN architecture, and hexagonal design. My work spans both on-premise and serverless deployments across AWS and GCP.

I have extensive experience with relational and NoSQL databases, including graph databases, and am proficient in containerization with Docker and orchestration platforms like Kubernetes. I've implemented CI/CD pipelines and worked with message brokers such as RabbitMQ and Apache Kafka to build distributed systems.

Skills

Node.js
I specialize in building systems with Node.js, from full stack applications to real-time applications, using TypeScript/JavaScript
NestJS
Extensive experience building enterprise-grade applications with NestJS, leveraging dependency injection, modular architecture, and TypeScript for maintainable, scalable backend systems. Built microservices, REST APIs, GraphQL endpoints, and real-time applications.
React
Utilized React to develop full-stack websites and standalone front-ends, both standalone with tools like Vite and with frameworks like Next.
Vue
Experience using Vue to build full-stack websites and standalone front-ends, both standalone with tools like Vite and with frameworks like Nuxt.
Amazon Web Services (AWS)
Experience using AWS to deploy serverless applications, leveraging tools such as AWS Glue, EC2, Lambda@Edge, and others to build cloud-native applications.
Containerization
Experience using Docker and Docker Compose for both development and production environments. Familiar with deploying services to Kubernetes clusters.
System design and architecture
Designed systems of various types, including standard resource administration systems and more complex ones with real-time capabilities. Implemented these systems using both monolithic and microservices architectures, applying design patterns such as CLEAN, Hexagonal, and others.
Linux
I have experience using Linux in daily operations, particularly in deploying and maintaining software using its tooling.
Python
Designed and implemented back-ends using Flask and FastAPI for various purposes, including writing Apache Spark jobs, automation tasks, data manipulation, and more.
SQL Databases
Designed and implemented applications and systems using relational databases such as MySQL/MariaDB, PostgreSQL, and others.
NoSQL Databases
Designed and implemented applications and systems using a variety of databases, including MongoDB, Neo4j, Redis, and others.
Continuos integration/deployment
Created pipelines for popular CI/CD tools such as GitLab CI/CD, Travis CI, and others.
Google Cloud Platform
Deployed both serverless and traditional applications, utilizing various products such as Firestore to create real-time applications. I've also integrated multiple products to develop comprehensive solutions.
Scrum/Agile
I have experience applying agile methodologies, including Scrum and a hybrid of Scrum and Kanban, in my previous work.
RESTful APIs
Designed and implemented APIs that adhere to REST principles, along with the HAL and HATEOAS standards.
Message brokers
I have experience in deploying, configuring and using message brokers such as RabbitMQ and Apache Kafka. This includes setting up asynchronous communication between services and managing bulk job assignment.
Education

Contact
Made with Astro & .