I am an ambitious individual with some experience in Java development. In addition, I have valuable experience working in collaborative team environments and some practice with Scrum software development methods. Furthermore, I have hands-on experience working with large platforms like SAP Commerce (Hybris) and strong frameworks like Spring. My skill set includes a good understanding of Java and related technologies, teamwork, and a high motivation to make effective contributions to complex projects.
Summary
Work Experience
EPAM System
Student
December 2021 - Now
Projects
Internal - Training project (EPAM System)
Developer
September 2022 - Now
Solution Competency: E-Commerce
Project Description:
Training project where we developed an e-commerce soution (website) using Hybris Commerce. While Hybris provides numerous good ready-made solutions, many aspects require customization, additional scripting, or the creation of new features based on existing solutions. This demands not only consideration for writing high-quality code but also practicing various architectural approaches and solutions when working with existing source code that cannot be edit. On top of that, this project provides invaluable experience in teamwork, involving collaboration with developers of varying expertise levels. This includes not only individual task assignments but also working on larger and more complex tasks in pairs or larger groups, which can, in turn, create additional challenges in communication, actual code writing, and version control. Such experience is truly important and enables us to deal with similar issues much faster and more efficiently in the future.
Worked on:
Implementing: "product comparison", "customer anonymization", “recommended product”, “customer reaction to review” functionality;
Integration Cucumber for BDD tests into the project; updating the Hybris version in the project (from 1905 to 2005 and then to 2011).
Also worked with:
Registration with referral code, as well as loyalty/bonus, premium, and achievement systems;
pagination and facets (filters); "remember me", "sending email" features.
Team:
The average team size is 8 members, including 2 team leads, 1 DevOps specialist, and all other members are developers.
Technologies:
SAP Commerce Cloud(Hybris Commerce 1905 - 2011),
Java 11, Spring Framework,
JSP, JavaScript,
Apache Ant,
Junit, Mockito, Cucumber,
SQL,
GitLab, Jira.
CahsSys & EPAM Java practice
Student
December 2021 - August 2022
Project Description:
Two not-so-large projects with similar technology stacks. The first is my pet project (a web system built on servlets). The second project is divided into 3 modules and includes 16 tasks, which were completed under the guidance of mentors and covered various aspects of Java development. These topics include: working with Git, unit and integration testing, code documentation, working with collections, working with files, multithreading, practical implementation of design patterns such as "chain of responsibility," "strategy," "command," "abstract factory," "template method," "iterator," "dynamic proxies." Important concepts such as 'context' and 'dependency injection' were also covered.
GitHub links:
My pet project CahsSys – https://github.com/OleksiiKushch/CashSys5
EPAM Java practice – https://github.com/OleksiiKushch/practice-EPAM-Java-Lab-Winter-2022
The most challenged:
Implementation of captcha;
Search for prime numbers within a given range (parallel implementation);
Database: MySQL server
Tools:
IntelliJ IDEA Community (main development environment);
MySQL Workbench 8.0 CE (MySQL DBMS for managing database);
Postman and web browsers (Google Chrome, Mozilla Firefox, ...) (for testing and documentation);
Technologies:
Java SE, Java EE, Java Servlet API (Jakarta Servlet), Apache Tomcat,
JSP, JSTL, HTML, CSS, Bootstrap, JavaScript, jQuery, AJAX,
Junit, Mockito, PowerMockito,
MySQL,
GitLab, GitHub.
Skills
Main
Java
Spring Framework
Hybris
Testing
JUnit
Mockito
Cucumber
BD
MySQL
WEB
REST
HTTP
JavaScript
Cloud
AWS
Other
Git
Docker
Scrum
Maven
Ant
Education
Kharkiv National University of Radioelectronics
Computer Science - System Design - Master's
2022 - 2024
5st course (1 years):
Modern Paradigms of Programming and Modeling Complex Systems (Scala),
Documentation and Control of IT Project Development Processes (Scrum, Jira),
High-Performance Systems for Processing and Analyzing Big Data (Docker),
Intelligent analysis in Big Data (Python, DataFrame, Jupyter Notebook).
Kharkiv National University of Radioelectronics
Computer Science - Computer Science - Bachelor's
2018 - 2022
1st course:
Algorithmization and Programming, Object-oriented Programming (C++),
Theory of Algorithms, Discrete Mathematics, Advanced Mathematics (Mathcad), Numerical Method (MATLAB).
2st course:
Cross-Platform Development (Java),
Computer-Aided Design (CASE, ERwin Data Modeler, BPwin), Technology / Methodology of Creating Software Information Systems (IDEF0, IDEF1Х, ER-diagram, UML),
Web Technologies and Web Design (HTML, CSS, JavaScript, jQuery),
Database Design and Management, Relational Databases (MySQL, MySQL Workbench DBMS).
3st course:
NoSQL databases (MongoDB),
Programming Patterns (GoF Design Patterns),
Design of High-Throughput/Performance Data Storage Systems, Advanced of Relational Databases (MySQL),
Designing Information Systems, System Analysis (DFD, IDEF3), Object-oriented Analysis in Design.
4st course:
Agile Methodologies for Designing (Jira, Git),
Administration and Maintenance of Systems (Oracle VM VirtualBox, VMware, Microsoft Windows),
Internet Technologies for Distributed Information Processing (XML, XSD, XSLT) (Java EE, Java Servlet API, JSP), Service-Oriented Architecture (SOA) for software (Swagger), Enterprise Web Application Development Technologies,
Development of UX (User Experience) and UI (User Interface).
Thesis:
Development of components for the payment and cash servicing information system.
Languages
English:
Intermediate
Ukrainian:
Native
Russian:
Native
Courses and Certificates
AWS Knowledge: Cloud Essentials
AWS Cloud Quest: Cloud Practitioner
Data Structures and Performance
Development of text editor functionality such as word autocomplete, error highlighting and correction suggestions, and text complexity analysis. Various data structures were used in the implementation, such as trees (binary tree), linked lists, and others.
Algorithmic Toolbox
A solid course providing strong knowledge in algorithm theory, including basic concepts like Time Complexity (Big O), as well as more complex notions such as Dynamic Programming. And most importantly, all the theory is reinforced through practice. Tasks such as Polynomial Multiplication or Maximum Value of an Arithmetic Expression were implemented, and more.
Object Oriented Programming in Java
Development of a small application for tracking tectonic activities worldwide (data processing and display).
Object-Oriented Design
Analysis and creation of UML diagrams and the development of a small Android application based on a provided UML diagram.