Position: Senior Software Engineer
Category: Java
English level: upper
Years of experience: 6

My latest work experience: 

Payment processing system for e-commerce, MOTO, and mobile solutions:
• Following technologies, languages and tools used: Java 8, Scala, Maven, Activiti workflow engine, JAX-RS, JPA, EJB, CDI, OSGi, JAXB, MySQL, GitLab (Git, CI/CD), Payara Server and Docker on server side; on frontend – AngularJS, TypeScript.
• As team member, I developed application backend key features including persistence layer, services and REST resources. Also, worked on SQL commands optimization and adding new features on frontend side.
• Worked on the core functionality of project: transactions handling, securing payment data according to PCI DSS policies.
• Implemented Access Control List concept to divide clients between different markets.
• Development of solution to process large amount of daily transactions and providing statistics.
• Unit, integration and BDD tests with Cucumber and Selenium. 
• Project documentation.

Document recognition and content extraction solution to detect and recognize tables along with the text.
• Technology stack: Java 8, Spring Framework (Spring Boot, Spring Data REST), Tesseract OCR, Tabula, Maven, MongoDB, GitLab for code management and CI/CD, Docker Swarm.
• Development of most backend features including persistence, services, and REST API. Covering code by unit tests.
• Integrating Tesseract OCR using Tess4J API. Combining OCR with Tabula to achieve best results in tables recognition.
• Worked on project containerization and CI/CD support using GitLab CI and Docker. Configuring Docker Swarm cluster.
Senior software engineer with 6+ years experience in multiple enterprise projects based on Java EE or Spring stack.

Specialties: 
Java, Spring Framework, Microservices, Software Design & Architecture, Docker, Kubernetes, AWS, Maven, TDD, BDD with Selenium, CI/CD practices, MongoDB, MySQL, Scrum.

Experienced in:
• System architecture design
• Developing RESTful web services from scratch
• Writing high quality, reusable and documented code, fully covered by unit and integration tests
• Working with distributed teams in Ukraine and Germany
• Analyzing customer requirements and preparing estimates
• Conducting presentations and team knowledge sharing
Interested only in remote positions.