
Andriy Redko
Verified Expert in Engineering
Software Developer
Montreal, QC, Canada
Toptal member since August 5, 2014
Andriy is a seasoned and passionate software developer. He has significant experience developing complex distributed systems, service and microservice architectures, and web and desktop apps. He also excels at cloud computing and has a deep knowledge of databases and different NoSQL solutions.
Portfolio
Experience
- Test-driven Development (TDD) - 10 years
- Distributed Programming - 7 years
- Java - 7 years
- C++ - 6 years
- JPA - 5 years
- JAX-RS - 3 years
- ASP.NET Web API - 3 years
- Scala - 2 years
Preferred Environment
SBT, Apache Maven, Git, Subversion (SVN), Eclipse, Windows, Linux
The most amazing...
...project I've been a part of is the development of a project and feedback management suite.
Work Experience
Staff Software Engineer
Aiven Oy
- Joined the OSPO (Open-Source Program Office) team to work full time as a contributor/maintainer to the OpenSearch project and its ecosystem.
- Worked on OpenSearch Core (https://github.com/opensearch-project/OpenSearch), OpenSearch Security (https://github.com/opensearch-project/security), and OpenSearch Custom Codecs (ZSTD) (https://github.com/opensearch-project/custom-codecs).
- Worked on OpenSearch Java Client (https://github.com/opensearch-project/opensearch-java), OpenSearch Rust Client (https://github.com/opensearch-project/opensearch-rs), and OpenSearch Testcontainers (https://github.com/opensearch-project/opensearch-testcontainers).
- Worked on Spring Data OpenSearch (https://github.com/opensearch-project/spring-data-opensearch) and Liquibase OpenSearch (https://github.com/liquibase/liquibase-opensearch).
- Created concurrent search support, new data types, streaming ingestion, HTTP/2 support, secure transports, API compatibility, observability (distributed tracing and metrics), containerization, and various snapshot cloud storage improvements (S3, Azure, and GCP).
- Created integrations with Apache Flink (https://github.com/apache/flink-connector-opensearch) and Apache Hadoop (https://github.com/opensearch-project/opensearch-hadoop).
- Created integrations with Apache Spark (https://github.com/opensearch-project/opensearch-spark), Liquibase, Testcontainers, Spring Data, Netty, Project Reactor, Apache Lucene, and many others.
Senior Software Engineer
Behavox
- Joined the company on the product side to help out with Elasticsearch migration. Later on became a part of the platform team.
- Worked on different aspects of the data processing pipeline (Apache HBase, Elasticsearch, and MySQL) and data management on a large scale (S3 and Apache Spark).
- Contributed to the efforts of evolving the company’s monolithic platform towards service-based architecture (Spring Boot, Spring Cloud, Consul, and Zookeeper).
Principal Software Engineer
Upgrade
- Joined the platform team to help the company in implementing the microservice architecture.
- Initiated adoption of the consumer-driven contacts (Pact, Spring Cloud Contract, and OpenAPI) and messaging contracts (Avro and Kafka) and integrated the distributed tracing into the platform to provide observability (OpenZipkin and Jaeger) capabilities.
- Drove Java migrations (Java 8 to 10 to 11, and further along) in accordance with the new Java platform release cadence, investing a significant amount of time into application monitoring (Prometheus and Grafana).
- Maintained the platform by leading timely upgrades of the foundational libraries and frameworks across the service fleet.
Senior Technical Lead
PROS
- Developed and guided on all technical aspects related to a real-time availability server: a highly scalable (thousands of requests per second) and highly available (multi-region cloud deployment) component.
- Involved actively with services development (Dropwizard, Spring, Swagger, and OpenAPI), metrics instrumentation (Prometheus and Grafana), and low-level optimizations.
- Participated in modernizing the rules evaluation engine (porting I/O to an asynchronous model in order to improve resource utilization) and data store evolution (Cassandra, Thrift, and CQL).
- Helped establish modern continuous delivery practices (Jenkins and Docker) and analytics pipelines (Apache Spark).
Staff Software Developer
AppDirect
- Worked in several teams and touched upon different parts of the company’s core product, the application marketplace platform.
- Involved with the platform modularization efforts, Elasticsearch integration, REST(ful) Web APIs (Apache CXF and Swagger) development, and distributed tracing (Apache HTrace) integration.
- Contributed to the company’s move to a microservices architecture (RabbitMQ, Spring Boot, Hystrix, and Docker), backed by evolution and improvements of the testing practices (integration testing, component/service testing, and consumer contract testing).
Senior Software Developer
Radialpoint
- Joined the core Java development team to work on the company's SaaS offering.
- Participated actively in the development of various REST-based services (JAX-RS, Apache CXF, and Jetty).
- Built data access layers on top of Oracle, PostgreSQL, and MySQL.
- Implemented caching using Redis.
- Utilized the SpringSource projects portfolio (Spring Framework, Spring Security Spring Data, and Spring Batch) and Hibernate/JPA.
Software Developer
Northforge Innovations
- Developed a web-based, highly interactive, close to real-time (using Servlet 3.0 API) network topology visualization solution.
- Worked on a solution that provided up-to-date monitoring information for every element (alarms, statuses, rolled-up statistics, etc.) of customer networks.
- Integrated the solution with many other services (using RMI, RMI over HTTP, and JGroups) to provide a consistent and complete network topology view.
Senior Java Developer
Compuware
- Elaborated web service consumers (JAXB 2.1), web services simulation (using Spring Web Services 2.0, JPA 2, and Hibernate 3.6.x) and portal development (Liferay 6.x).
- Participated in web services integration and simulation using Spring Web Services.
- Participated in the development of web portlets using Liferay 6x.
Team Lead, Software Developer
FeatureSet Inc.
- Led all aspects of server-side development using Jakarta EE, Spring Framework, Spring Flex, Quartz, Hibernate, Infinispan, AspectJ, FreeMarker, and Apache Tomcat.
- Implemented search capabilities using Hibernate Search on top of Apache Lucene, Apache Solr, and Apache POI.
- Involved in the architecture and implementation of asynchronous processing using Apache ActiveMQ.
- Architected and implemented security features using Spring Security and in-house frameworks.
- Participated actively in the elaboration of database schema for MySQL and PostgreSQL.
- Involved in client-side development using Adobe Flex on top of Adobe BlazeDS.
- Introduced and maintained TDD and BDD practices using JUnit tests, continuous builds, and integration using Apache Maven 2 and CruiseControl. Increased product quality considerably.
- Used Groovy scripting extensively to speed up development and to build internal domain-specific languages.
- Participated actively in the implementation of automated deployment for the Amazon EC2 cloud as well as the Eucalyptus cloud.
Software Development Consultant
ProQuo, Inc.
- Used test-driven development (TDD), behavior-driven development (BDD), and aspect-oriented programming (AspectJ) regularly and actively.
- Participated in all aspects of the development process, including the design of database schema, implementation of web services and business logic, and development of management tools.
- Developed web applications (Tomcat, JSF, Facelets, and Ajax) with reporting and management functions.
- Participated in the development of business logic and web services (Axis2).
- Participated in the design of database structure and data access capabilities (Hibernate and MySQL).
- Implemented a payment and subscription support system using PayPal API.
- Used open-source software extensively.
- Used the IntelliJ IDEA and Eclipse development environments and version control systems (Subversion and Bazaar).
Senior Software Developer
LUXOFT UA
- Contributed to the development of a distributed web-based people search engine (USA and Canada) using C++/Boost on top of the Linux platform.
- Developed parsers, analyzers, indexers, and persistence layers (BerkleyDB) processing huge amounts (terabytes) of raw Internet data dumps in order to recognize relevant people's data (locations, related people, images, quotes, publications, and more).
- Participated in the development of a simple web interface for search, allowing users to type first and/or last names and view all related information structured by categories.
Software Developer
Open Soft LTD
- Developed software (Microsoft Visual C++ and COM) for online processing of digital signals (E1/T1).
- Developed a CAD application for modeling a building’s heating systems (Microsoft Visual C++ and COM).
- Developed an IrDA-based messenger for PC-PDA communication (Microsoft Embedded Visual C++).
- Developed high-level drivers for various measurement devices (Microsoft Visual C++).
- Created a distributed subsystem for online motion detection, recording, and notification (remote spying), configurable remotely via a web interface (C#, ASP.NET, and Microsoft Visual Studio Team Suite).
- Developed a web-based expert system for managing international automotive legislations (C#, ASP.NET, Microsoft Visual Studio Team Suite, and Microsoft SQL Server).
- Developed various COM/ActiveX components (Microsoft Visual C++, C#, and Microsoft Visual Studio Team Suite).
Software Developer
Ferplast Ukraine
- Supported and extended an ERP system (Microsoft Visual C++, Borland C++ Builder, and COM).
- Supported enterprise data analysis and reporting (Microsoft SQL Server).
- Developed intranet web resources and informational portals (PHP and JavaScript).
- Deployed enterprise application servers (Citrix MetaFrame).
Software Developer
Actis
- Developed eCommerce web sites (PHP).
- Created an internal accounting subsystem (C++).
- Developed internal online monitoring software (PHP and C++).
Experience
Redis: a NoSQL Key-value Store
http://academy.javacodegeeks.com/course/redis-a-nosql-key-value-store/MongoDB – A Scalable NoSQL DB
http://academy.javacodegeeks.com/course/mongodb-a-scalable-nosql-db/Tutorial | Microservices for Java Developers
https://www.javacodegeeks.com/2018/07/microservices-for-java-developers-introduction.htmlEducation
Master's Degree in Computer Science
Žitomirs'kij Inženerno-tehnologicnij Institut - Zhitomir, Ukraine
Skills
Libraries/APIs
Java Servlets, JDBC, JNDI, Java Message Service (JMS), Jackson, JAXB, JAX-RS, JAX-WS, Java Transaction API (JTA), Tika, SAX, OpenJPA, PayPal API, Java Security, Apache POI, REST APIs, Quartz, Apache Lucene, Microsoft Foundation Class (MFC) Library, Standard Template Library (STL), OpenNLP, JSTL, Mahout, Joda-Time, Microsoft Foundation Classes (MFC), Hystrix, OpenAPI, Liquibase, JGroups, Java RMI, JPA 2
Tools
Git, Eclipse IDE, Amazon OpenSearch, Subversion (SVN), Apache Mesos, Borland C, Apache Tomcat, ActiveMQ, Apache Tika, Apache Maven, SBT, FreeMarker, Crucible, Jira, RabbitMQ, Grafana, Jenkins, Apache Avro, Apache ZooKeeper
Languages
Java, Scala, C++, SQL-99, C#, Groovy, AspectJ, PHP, Python, Ruby, Flash ActionScript, Assembler, JavaScript, Rust
Frameworks
ASP.NET Web API, JPA, Hibernate, Apache CXF, JUnit, CXF, OSGi, Grails, Play Framework, Akka, Spring Security, Spring JDBC, Spring, Apache Axis 2, Boost, ActiveX, JSF, .NET, Spring Integration, Apache Felix (OSGI), Jersey, Dropwizard, JBehave, ASP.NET, Flex, Adobe Flex, Apache Axis, Apache Thrift, Swagger, Spring Boot, Apache Spark, Spring Microservice, Hadoop, Netty
Paradigms
Test-driven Development (TDD), Object-oriented Programming (OOP), Concurrent Programming, Distributed Programming, Dependency Injection, Behavior-driven Development (BDD), Object-oriented Design (OOD), Clean Code, Microservices Architecture, Agile Software Development, Continuous Integration (CI), Functional Programming, Metaprogramming, Load Testing, Evolutionary Database Design, Continuous Deployment, Scrum, MapReduce, Model View Controller (MVC), REST, CQRS, DevOps, Microservices
Platforms
JVM, Windows, Linux, JEE, Kubernetes, Eclipse, Oracle, Docker, Apache Kafka, Apache Flink
Storage
JSON, Redis, MongoDB, PostgreSQL, MySQL, Elasticsearch, Spring Data Elasticsearch, NoSQL, HBase, Berkeley DB, JBoss Infinispan, Microsoft SQL Server, CQL, Amazon S3 (AWS S3)
Other
SOAP, Web App Development, PayPal, Back-end, Back-end Development, Ehcache, Liferay, COM, Blaze, Single-page Applications (SPAs), WebSockets, Distributed Tracing, Prometheus, Apache Cassandra, RESTful Services, RESTful Microservices, Pact, Spring Cloud Contract, OpenZipkin, Jaeger, Spring Cloud, Consul, Zstandard, Testcontainers, Spring Data OpenSearch, HTTP 2, Project Reactor, RMI, Spring Web Services, Web Applications
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring