I'm Hugo Fernandes, a software engineer based in Guimarães, Portugal. I'm dedicated to building reliable, well-designed software and solving complex problems through clean, maintainable code.

Technologies

Database & DevOps

PostgreSQL
PostgreSQL
MySQL
MySQL
MongoDB
MongoDB
Docker
Docker
Kubernetes
Kubernetes
Helm
Helm
Skaffold
Skaffold

Backend

Java
Java
Kotlin
Kotlin
Python
Python
Spring
Spring
Micronaut
Micronaut
Django
Django

Frontend

React
React
VueJS
VueJS

Security & Observability

Prometheus & Grafana
Prometheus & Grafana
OAuth2
OAuth2
SAML
SAML
FIDO2
FIDO2

Work

  1. Company
    TeamViewer
    Role
    Senior Software Engineer
    Date
  2. Company
    Kuehne+Nagel
    Role
    Full Stack Software Engineer
    Date
    Description
    Development and maintenance of a platform supporting sustainability initiatives across multiple modes of transport. Contributed throughout the software development lifecycle, from technical design and implementation to testing, deployment, and production support. Collaborated with international, cross-functional teams to deliver reliable, scalable, and maintainable solutions for complex logistics and sustainability requirements. Promoted software quality through clean code, automated testing, code reviews, monitoring, and continuous improvement of engineering practices. Worked with Kotlin, Spring Boot, Micronaut, PostgreSQL, Vue.js, Vite, Cypress, Docker, Kubernetes, and Helm.
  3. Company
    DigitalSign
    Role
    Senior Software Engineer & Team Lead
    Date
    Description
    Led a software engineering team responsible for developing and maintaining internal and customer-facing applications in the digital certificate and electronic signature domains. Combined hands-on development with technical leadership: coordinated the team's work, supported architectural and implementation decisions, reviewed code, and promoted software testing, quality, and engineering best practices. Collaborated with product, business, and other technical stakeholders to define requirements, prioritize initiatives, resolve delivery challenges, and ensure projects were executed successfully throughout the software development lifecycle. Kept contributing to back-end and front-end development with Java, Spring Framework, and ReactJS while mentoring engineers and helping the team deliver secure, reliable, and scalable solutions for national and international organizations.
  4. Company
    DigitalSign
    Role
    Full Stack Software Engineer
    Date
    Description
    Architected and developed multiple internal and external software applications across all stages of the software development lifecycle, using Java with the Spring Framework for the back end and ReactJS for the front end. Built applications around digital certificates and their use in cryptographically secure digital signatures, delivering solutions to national and international institutions and companies across a wide range of use cases, including digital certificate issuance, electronic invoicing, and document signing.
  5. Company
    Universidade do Minho
    Role
    Machine Learning Software Engineer
    Date
    Description
    Part of a team building an automatic speech recognition (ASR) system in European Portuguese for a medical institution, used to dictate clinical reports and transcribe consultations, developed in Python with CMU Sphinx. Collected speech recordings from a large number of speakers to build the training data, applied natural language processing techniques to the phonetic transcription of complex medical vocabulary, and helped iteratively train and evaluate the models, using word error rates to measure and improve recognition accuracy. Gained a strong foundation in machine learning, data science and software engineering, in a domain where accuracy matters.

Education

  1. Institution
    Universidade do Minho
    Degree
    PhD in Informatics (in progress)
    Date
    (expected)
    Description
    Doctoral research in multi-agent systems and agentic AI, at the intersection of artificial intelligence, machine learning and large language models (LLMs). Exploring how autonomous LLM-based agents can reason, plan, use tools and collaborate to solve complex, multi-step problems, and what it takes to make them reliable, observable and safe enough for production. Brings nearly a decade of building and operating production software to research at the frontier of AI, with a focus on systems that work beyond the demo.
  2. Institution
    Universidade do Minho
    Degree
    Master's Degree in Informatics Engineering
    Date
    Description
    Two-year, 120 ECTS master’s program, completed with a final grade of 16/20, specializing in Business Intelligence, Applications Engineering and Software Systems Engineering. On the data side, covered operational systems, data warehousing, online analytical processing (OLAP) and data analysis; on the systems side, application architectures, data center infrastructure, database administration and interactive systems, complemented by requirements engineering and software architecture. Worked hands-on with data analysis and machine learning in Python using pandas, NumPy and scikit-learn, and with Linux server administration on CentOS. Applied this end to end in an informatics engineering laboratory and a year-long engineering project, and wrote a master’s dissertation in Business Intelligence and Data Analytics (graded 17/20).
    Link
    Read master's thesis
  3. Institution
    Universidade do Minho
    Degree
    Bachelor's Degree in Computer Science
    Date
    Description
    Rigorous, mathematically grounded program combining strong theoretical foundations with hands-on software engineering. Built a solid base in algebra, calculus, discrete mathematics, logic, numerical analysis and probability, and studied the theory of computation in depth: automata and formal languages, computability and complexity, algorithms, program calculation and programming language semantics. Gained broad practical experience across programming paradigms (functional, imperative, object-oriented and concurrent), starting with Haskell and moving on to C, C++, Java, Python, Erlang and Ruby, along with core systems topics including operating systems, computer networks, databases, compilers and language processing, and computer graphics, culminating in a final software project.

Languages

Portuguese
Native
English
C2 Proficiency, Cambridge English