“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