“Bandle Scout rule number one: be better.”

Camille · League of Legends

I mainly work with Java, Python, JavaScript, and TypeScript. My coursework, experience at MCN, and projects have also taught me how to design, test, and evolve software. Here are the practices and tools I've used and continue to learn more about through my projects.

Programming languages

Java for backend development, Python for web applications and embedded vision, and JavaScript and TypeScript for web interfaces and games.

  • Java
  • Python
  • JavaScript
  • TypeScript

Software engineering practices

Practices I’ve applied to implement business logic, test code, secure access, and make interfaces accessible. I’ve also worked in an agile environment at MCN and in most of my university courses.

  • Agile methodology
  • Hexagonal architecture
  • Domain-Driven Design
  • Test-Driven Development
  • SOLID
  • REST API design
  • Unit testing
  • Code review
  • Concurrent programming
  • Web accessibility
  • Internationalization (i18n)
  • Mentoring

Frameworks and libraries

Frameworks and libraries I've used to develop backend services, web interfaces, tests, and computer vision applications.

  • Spring Boot
  • Quarkus
  • JEE / Jakarta EE
  • Flask / Flask-RESTX
  • React
  • Vue.js
  • Colyseus
  • Hibernate
  • Pinia
  • Tailwind CSS
  • Bootstrap
  • JUnit
  • Mockito
  • OpenCV

Other tools and technologies

Tools, databases, and technologies I've worked with to develop, deploy, and integrate my applications.

  • Git
  • GitHub Actions
  • Docker
  • Maven
  • NPM
  • Poetry
  • Node.js
  • Postman
  • Bruno
  • MySQL
  • MariaDB
  • MongoDB
  • SQLite
  • JPA
  • Keycloak
  • OAuth2 / OIDC
  • AWS
  • Azure DevOps
  • Raspberry Pi
  • ArduPilot
  • MAVLink
  • WebRTC
  • Gazebo