Java Developer
CurrentFirst encountered bank processes as a quality engineer, then switched to system analysis and gradually became a software developer.Within a team, tried acting as a tech lead: wrote manuals, established teamwork processes and trained new employees.• Implemented an event-handling pipeline on Kafka (Java SE 11, Spring Boot, Kafka Streams, Vavr, JdbcTemplate, Oracle 19c, JUnit, Maven, Docker, TeamCity, Ansible, AWX)– Developed a container-based application that filters Kafka topic and calls a REST API (SAS RTDM) to communicate with customers according to actions taken by them in a mobile app. Filter settings were read from Oracle DB and transformed into a graph representation to control customers' state transitions– Set up Docker image building from a source code in TeamCity, rolling out on test and production environments with Ansible in AWX– Communicated within the team: discussed requirements with a business analyst, suggested test cases to a test engineer, conducted code reviews with other developers– Estimated delivery of project milestones, tracked progress in Jira, wrote documentation in Confluence– Improved the testing process: set up Confluent REST Proxy on a test environment to speed up functional testing• Developed over 15 REST and SOAP microservices for an enterprise service bus based on IBM WebSphere Application Server (Java EE 8, JAX-RS / JAX-WS, Oracle JDBC, Gradle)– Set up code generation based on API specifications to reduce a level of bugs during development (OpenAPI 3.0 / Swagger 2.0 / WSDL+XSD)– Used SoapUI to create mock services, Postman / Insomnia / SoapUI / curl to test invocations and Fiddler to monitor traffic– As a tech lead, conducted code reviews of my teammates' work in BitBucket– Improved the development process: migrated teamwork from a proprietary IBM RDi (Eclipse) IDE to IntelliJ IDEA