Description
**Objective**
------------
Work on the development and evolution of applications using Java and Kotlin, contributing to building efficient, scalable, and high-quality solutions. Participate in the software development lifecycle, learning and applying best practices in programming, testing, and architecture, always with technical team support.
**Responsibilities and Duties**
-----------------------------------
* Develop, test, and maintain applications using Java and Kotlin.
* Assist in implementing new features and improvements to existing systems.
* Participate in requirements analysis and support defining technical solutions.
* Create and execute unit and integration tests, ensuring delivery quality.
* Contribute to application architecture evolution following team-defined standards.
* Support creating technical documentation and knowledge sharing.
* Participate in code reviews, learning and contributing best development practices.
* Assist in identifying and resolving application performance and stability issues.
* Collaborate with other departments and teams to ensure efficient solution delivery.
* Maintain workplace organization and properly manage company-provided resources.
* Pursue continuous technical growth through study, training, and knowledge exchange with other colleagues.
**Requirements**
--------------
* Knowledge of Java 17\+ and Kotlin fundamentals.
* Basic knowledge of frameworks such as Micronaut or Quarkus.
* Understanding of authentication and authorization using OAuth and JWT.
* Knowledge of object-oriented programming, SOLID principles, and development best practices.
* Basic knowledge of software architecture and distributed systems concepts.
* Familiarity with asynchronous programming using Java Virtual Threads or Kotlin Coroutines.
* Experience creating unit tests (JUnit, TestNG) and interest in integration testing.
* Knowledge of REST API development.
* Basic knowledge of cloud environments (AWS), such as EC2, ECS, EKS, ECR, and Load Balancers.
* Knowledge of Docker and containerization concepts.
* Knowledge of relational databases, especially MySQL.
* Experience with version control using Git.