Verified Expert in Engineering
Software Engineer and Developer
Andrey is a highly professional software engineer with 20+ years of experience and deep knowledge of Linux, AWS, Kubernetes, Node.js, React, Java, and other programming languages, technologies, and platforms. He excels with the entire SDLC applied to various applications, from small system utilities, plug-ins, and mobile apps to full-scale enterprise-level projects. Moreover, Andrey is a valuable team player and leader who respects deadlines and always delivers on time.
Linux, Node.js, React, Java, AWS DevOps, Kubernetes, Docker, Git, Microservices, Python
The most amazing...
...thing I've delivered is a cloud PaaS solution as the principal cloud automation engineer, leading the team and employing various modern principles.
Senior Full-stack Developer
Department of Education NSW
- Improved the automated build, test and deployment processes, practices and pipelines in accordance to industry best standards.
- Improved the codebase. Refactored existing legacy code to make it maintainable, extendable, and testable. Increased code test coverage to a 95% minimum.
- Implemented and successfully delivered multiple RESTful API services and web applications on time.
Principal Cloud Automation & DevOps Engineer
- Led a team of DevOps engineers and drove agile coaching, code review, and PaaS design and implementation.
- Adopted CI/CD and GitOps principles, establishing a development and deployment pipeline for microservices.
- Designed and implemented microservices, executing complex workflows for video processing and delivery.
Digital Transformation Lead
- Migrated the Kubernetes-based PaaS and CI/CD pipelines for microservices to the AWS platform, utilizing native AWS services such as CodeCommit, CodeBuild, CodePipeline, and CloudFormation.
- Designed and implemented our platform for microservices (PaaS) that involved artifact building, runtime, deployment, environment creation, components monitoring, service discovery, request routing, health monitoring, and elastic scaling.
- Developed a framework for Node.js-based microservices to simplify development and standardize components produced across dozens of teams.
- Created templates for handling all integration and implementation aspects, such as transport support for JSON, SOAP, and async, input validation, self-registration, health monitoring, and centralized logging and configuration.
Senior Java Developer
Tote-X Australia Pty. Ltd.
- Engaged in designing and implementing different components of the Tote-X betting platform, a real-time, high-performance software service allowing players to place and cash bets at any stage of a competition.
- Developed an in-house highly-scalable and performant logging system.
- Contributed to the development of an automated testing framework.
Senior Java Developer
News Corp Australia
- Engaged in developing Video Content Management System, a software platform that integrates third-party service providers such as thePlatform, Ooyala, and Akamai with NDM's main CMS.
- Participated in developing Media Search, a universal search and asset discovery platform used across multiple sites for external on-site search, content suggestion, and internal asset discovery for editors.
- Contributed to the development of Indexer, a standalone Java application that crawls and indexes digital content from different sources.
Java EE Developer
Phoenix Engineering Systems
- Designed and implemented Train Crew Display Emulator for Downer EDI Rail, enabling users at the base to view the same data available to the on-the-track train crew on their set driver DDU and "guard display" units.
- Handled train data of about 7,000 signals to be displayed to the user via a set of HTML pages.
- Made data available from an enterprise service bus through a set of interfaces using JMS.
Software Developer & Analyst
- Handled a conversion project for Standard Bank South Africa, which involved product customization and configuration, including importing existing data into the system, providing custom reports, and modifying existing client- and server-based modules.
- Customized BNP Paribas's product so it could work with prepaid cards, as normally, the system only worked with credit cards. Performed deep customization of all system layers to meet the requirements.
- Worked on multiple smaller projects, including custom reports, interchange file customization, and server-based modules.
- Executed the 3CX call assistant, a Windows "tray" application for providing 3CX Phone System users with additional information about the system status, allowing them to control hardware or software phone extensions.
- Participated in developing and testing the 3CX Phone VoIP client using Microsoft Visual C++.
- Engaged in developing Albatros Golf Management System, a software widely used in Europe. Led the migration of some components from C++ to Java and from a thick client to a Web-based client/server architecture.
- Participated in developing an enterprise-level data warehouse—a process and reporting system for oil companies. It was a 3-tier distributed multi-user and multi-institution system based on a COM+ application server.
- Delivered multiple small- and medium-sized Java, C++, Delphi, and PHP projects.
Cloud PaaS Solution for Foxtel's Kayo Sportshttps://kayosports.com.au/
Our platform was built on top of Amazon EKS, allowing us to develop and deploy complex infrastructure and software solutions across 30+ AWS accounts. It was also designed with a self-service principle in mind, allowing developers to quickly and conveniently deal with daily tasks, significantly shortening the software release cycle.
Sceptre Environment Platform for Foxtel's Kayo Sportshttps://github.com/Sceptre/sceptre/
I built the project on top of Sceptre and AWS CloudFormation. It achieved a high level of code reusability and became an excellent tool for managing cloud infrastructure via code.
Live2VOD Java Spring Service for Foxtel's Kayo Sports
The service contained several REST API endpoints for synchronous invocation and a number of Netflix Conductor workflows implementing sophisticated asynchronous business scenarios. It was closely integrated with AWS through AWS SDK for Java. As a part of this project, I implemented a custom, highly configurable video asset transformation engine.
The project's main goal was to harvest videos from our live stream endpoints, process them, and make them available for users long after the live stream has ended.
Generic Conductor Workers for Foxtel's Kayo Sports
I implemented the service with several reusable generic Conductor tasks that can be fully configured via task input parameters. This included the send email task, extended HTTP request, some workflow logic tasks, and multiple tasks for accessing various AWS APIs.
Memz One Web Apphttps://www.youtube.com/watch?v=NUZCLrmrGfU/
Memz One is an easy-to-use hierarchical notepad, outliner, personal organizer, password manager, and Rich Text Editor. Its main features include real-time sync, unlimited hierarchy or tree structure support, Rich Text support via Markdown syntax, and a 256-bit AES encryption to protect information. It is also multiplatform, allowing it to work on most devices, and has easy import and export features.
EasyFlow Java Libraryhttps://github.com/Beh01der/EasyFlow/
EasyFlow allows users to implement complex logic—while keeping their code simple and clean—and handle asynchronous calls with ease and elegance. With the tool, users can also avoid concurrency using an event-driven programming approach, prevent StackOverflow errors by avoiding recursion, and simplify the design, programming, and testing of complex Java applications.
AtmEmulator Android Apphttps://github.com/Beh01der/EasyFlow-example-AtmEmulator/
Node-easy-flow Node.js Library – NPM Modulehttps://github.com/Beh01der/node-easy-flow/
This library greatly simplifies the development of asynchronous event-driven applications. Thanks to its convenient hierarchical transition builder, the logic of complex applications remains clear and makes the user's application more manageable.
The use case for node-easy-flow is somehow similar to async.series() or async.waterfall(); only node-easy-flow is more suitable for handling complex, non-linear logic.
Node-grok NPM Modulehttps://github.com/Beh01der/node-grok/
This is a templating library that helps the reuse of existing regular expressions and the construction of new, more complex ones. The primary goal was to help parse and transform plain text logs into JSON objects—one line is to one object—based on the provided template.
Spring Boot, Spring, Android SDK
Node.js, REST APIs, React
Git, AWS CloudFormation, NPM, AWS SDK, Amazon EKS, Jenkins, GitHub, Ansible, Terraform
Microservices, Continuous Delivery (CD), Continuous Integration (CI), Web App Design
Linux, Amazon Web Services (AWS), Kubernetes, Docker, Netflix, Oracle, JBoss, Firebase, AWS Lambda
Software Engineering, GitOps, Infrastructure as Code (IaC), AWS DevOps, Groovy Scripting, Gatsby
Engineer's Degree in Computer Science
Tomsk State University of Control Systems and Radioelectronics - Tomsk, Tomsk Oblast, Russia