Position: Team Lead & Senior Java Engineer
Category: Java
English level: upper
Years of experience: 7

The last year I'm in the Team Lead position.
The 2 years before I have been a senior engineer at the identity and access management (IAM) team with Scrum master duties.

In common, I have 6 years of experience as a Java software engineer. I have been involved in more than 10 commercial software projects, business applications with client-server and web-based technologies based on a microservices scalable architecture.
Team Lead & Senior Java Engineer

Responsibilities:
- code performance optimizations at DB layer, REST layer, multi-threading smells, distributed context;
- managing deployment process of team microservices & highly focussed on supporting production environment;
- designing road maps for new features;
- interviewing candidates to the team & mentoring;
- leading scrum processes.

Technologies:
- Spring Framework: Core, Boot, Cloud, Data, Caching, REST through MVC, Security;
- PostgreSQL, Hibernate;

------

Senior Java IAM Software Engineer & Scrum master

Responsibility area:
Identity and Access Management (IAM), GDPR, security.

Direct main responsibilities:
- designing, implementing and supporting IAM microservice;
- implementing authentication and authorization for users and microservices;
- scrum mastering at a distributed team.

Achievements:
- performed a proof of concept of integration with Keycloak - security 3rd-party system, then introduced it to the project ecosystem;
- introduced fine-grained authorization with centralized runtime management of resources, permissions, and policies;
- carry out the development of a centralized policy decision point.

Technologies: 
Spring Framework, Spring Cloud, Hibernate, MySQL Keycloak, Kafka, Elasticsearch, Docker

------

Java Software Engineer

A few projects in the finance & fin-tech domain area. 

Responsibilities:
- develop full life cycle applications, including data architecture, application design, data modeling, and finally develop tests;
- development of microservices;
- integration with 3rd party providers (AWS, SMS, etc.) as well as payment providers like Paypal;
- implementation Card Holder Data (CHD) according to PCI/DSS;
- to set up a security layer based on the OAuth2 protocol;
- introduce user identity and access management(IAM) based on Keycloak;
- UI development using the JSF.

Technologies: 
Java EE and Spring Framework stacks, Wildfly, Hibernate, PostgreSQL, Flyway, MongoDB, Keycloak
I do consider Team Lead positions in combination with a regular engineering position.

I would give the preponderance for projects where:
- microservices approach is using to provide a distributed architecture;
- high load performance take a place;
- real production;
- started a new project.