Position: Java Developer
Category: Java
English level: intermediate
Years of experience: 2


I am focused on solving customer problems with maximum efficiency. I am responsible, meet deadlines, and can analyze mistakes and respond to criticism. I strive to exceed customer expectations with cutting-edge technology. I have experience working in teams and am effective at working in Agile environments using Scrum methodologies.

Currently, I am a Junior Java Developer at Epam. I am confident in my abilities and have a strong desire to continue developing and advancing in my career.

Project Description:
Develop web service for Gift Certificates system with the following entities (many-to-many)
- CreateDate, LastUpdateDate - format ISO 8601 Example: 2018-08-29T06:12:15.156.
- Duration - in days (expiration period)
The system should expose REST APIs to perform the following operations:
CRUD operations for GiftCertificate. If new tags are passed during
- creation/modification – they should be created in the DB. For update operation - update only fields, that pass in request, others should not be updated. Batch insert is out of scope.
- CRD operations for Tag.
- Get certificates with tags (all params are optional and can be used in conjunction):
- by tag name (ONE tag)
- search by part of name/description (can be implemented, using DB
function call)
- sort by date or by name ASC/DESC (extra task: implement ability to apply
both sort type at the same time).

Technologies:
- Java 17;
- Spring
- Spring security
- Spring boot
- JUnit;
- Mockito
- Captor
- Mock MVC
- CI-CD Jenkins;
- AWS
- Commerce Tools SDK
- Rest Api
- Hateoas
- Hibernate
- Feign Client
- Faker
- gmail SMTP
- SonarQube
- JaCoCo
- GraphQL