Oleksii Voronin
E-mail oles@voronin.cc, ovoronin@gmail.com
Phone +1 647 785 00 20
Address 206 Churchill Rd S, Acton, ON, L7J 0A7
Developer and technical lead with 20 years of experience in software design and development, integration, deployment and production support.
- In-depth knowledge of Java, and extensive knowledge of Go, Dart and Python. Previous experience with Kotlin, Scala, JavaScript, C++, C# and others.
- More than nine years of experience developing scalable and highly available security and business-oriented software.
- Relational and NoSQL databases (Postgres, MySQL, Oracle, Cassandra, DynamoDB).
- Experience in modern design and development methodologies (Agile, Scrum, Kanban TDD, BDD).
- 5 years of experience in mentoring and coaching.
- Commitment to teamwork and knowledge sharing. Strong desire to learn and improve.
Work experience
Mar 2020 — Present
Staff Software Engineer, Sonatype
Software engineer in the data license team, working on the services performing detection, extraction and processing of the legal data (licenses, copyrights, notices) in software packages across multiple ecosystems, such as maven, npm, NuGet, etc. Working on Advanced Legal Pack frontend in Nexus IQ.
Responsibilities:
- Inter-team collaboration
- Design and development of scalable and resilient microservices for extracting license data from open-source software components
- Extraction and analysis of copyright statements/notices/license texts from source code packages
- Frontend development of Advanced Legal Pack for Nexus IQ.
- Internal tools for prototyping and data analysis
- Infrastructure deployment to AWS (Docker, Cloudformation)
- Mentoring of junior team members/interns
Technologies:
- Backend: Java, Spring Boot, Dropwizard, Apache Camel, Antlr, Scikit-learn, Python, Go
- Frontend: React, Javascript, Dart+Flutter
- Cloud: AWS (RDS, ECS, Cloudformation, DynamoDB), Databricks
- CI/CD: Jenkins, GitHub
Sep 2018 — Feb 2020
Technical Lead/EM, Loyalty One
Technical lead and software engineer participating in the major rewrite of the core business platform. The new platform was designed from the ground up to use microservices deployed in AWS and with communications implemented with HTTP REST, Kinesis and SNS/SQS.
Responsibilities:
- Management and support of two engineering teams
- Mentoring of the junior software engineers
- Design microservices for scalability, reliability, and security. Integration with existing legacy platforms.
- Evaluating and selecting tools, frameworks, and technologies to use.
- Implementation of said microservices in Java, Scala and Kotlin using Akka, Spring Boot and Reactive streams, Kinesis, SQS, Cassandra, and AWS Aurora (both MySQL and PostgreSQL).
- Deployment to AWS ECS (Docker, Cloudformation)
- CI/CD with Jenkins
- Integration testing with BDD specifications using Cucumber.
Feb 2015 — Aug 2018
Senior Staff Software Engineer, Symantec Canada
Part of the team developing Cloud Data Protection solution which provided seamless and user-transparent data-at-rest
and data-in-transit data encryption for Salesforce, ServiceNow, Oracle Cloud, and other cloud services.
Worked on almost every part of the project including:
- HTTP Proxy - request and response processing, web scraping, and analysis of cloud protocols.
- Local search, including implementation of SOQL subqueries on top of Elasticsearch and internal Query DSL extensions (including parser in ANTLR).
- Highly-available and high-resistant cluster based on Akka actors.
- Implemented data protection engine for Oracle Cloud and Web services.
- Led RDBMS to NoSQL migration project.
- Research on new technologies and frameworks.
- Cucumber + Selenium test suites to automate cloud services testing.
- Debugging everything from network to memory and performance issues, from Java to JavaScript.
Jun 2011 — Jan 2015
Senior Software Developer, SOTI Inc
I have worked on the development of Android support for enterprise device management systems. I was responsible for device management features like security policies, enterprise email configuration, device hardware control policies, etc. This included using the device vendor's APIs as well as working with Android internals to enable the same features for vanilla Android devices and designing changes to the Android system for OEMs.
Some of the achievements:
- Implemented some of the core functionality: Communication protocols, exchange account management, application management, and WebDav integration.
- Worked as part of a team to design and prototype the architecture of the next generation of the product.
- Lowered memory usage of the application by a factor of two by fixing memory leaks.
- Improved network protocol transfer speed by 40% by changing network protocol and implementing multi-threaded processing.
- Extensive refactoring of the mobile application, which greatly improved extensibility.
Apr 2010 — Jun 2011
Senior Android Engineer, Cogniace Inc
Worked on Android OS modifications and social software for INQ Cloud Touch mobile phone. Performed scrum master duties in the latest stages of the project.
Android framework modifications:
- Application management - task switching with a swipe, task thumbnails.
- Search modifications - new global search in contacts, and feeds. API for 3rd parties.
- New settings screen with quick access to Wi-Fi, Data, Alarms settings.
- Custom lock screen. Launcher improvements.
- Integration with Facebook:
- Contacts integration - display Facebook contacts in the "Contacts" app
- Calendar integration - show Facebook events in Calendar with the ability to reply
- Home screen widget integrated the latest news from the Facebook feed with the main screen
- Download framework allowing to download images in background in multiple threads
Jan 2010 — Apr 2010
Senior Java Developer, SMILE Ukraine
Monitoring and analytics tool for website administrators. Added whois crawler, and RSS feeds, improved some statistics calculations, and updated and optimized Python scripts.
Sep 2006 &mdash Dec 2009
Lead Engineer, CTO, GMSU
- Developed an internal reporting system, bulk SMS and statics system in Python and Django.
- Improved SMS bulk messaging system (message queuing and routing engine 20x performance of existing solution)
- Created a scriptable backend for interactive SMS services.
Oct 2004 — Mar 2006
Engineer of service platform operations, UMC
Solaris and HP/UX administration (Also Oracle and Informix on those OSes) Participated in development of WAP interface for monitoring MMSC and WAP-GW
Mar 1998 &mdash Oct 2004
Software Developer, Team lead, Informproject
Worked on various projects, from e-document workflow system for Ukrainian Patent Office to lease management system. Developed JSP-inspired templating language for report generation, and created a highly extensible plugin system for core application.
Skills summary
Programming languages:
Java, Dart, Go, Kotlin, Python, Javascript, Scala, C#, C++
Frontend platforms:
Flutter, React
Data:
MySQL, SQLite, Postgresql, Cassandra, Elasticsearch, DynamoDB
Cloud:
AWS (EC2, ECS, Lambda, DynamoDB, Kinesis, SQS/SNS, RDS)
Methodologies:
Agile, Scrum, TDD, BDD
Human languages:
English, Ukrainian, Russian
Education
1995-2001
National Technical University of Ukraine "KPI"
Bachelor degree in Physics (Materials engineering)
Training and Courses
- 2018 Various Spring/Spring Boot and AWS courses on Lynda
- 2017 Coursera - Big data analysis with Scala and Spark
- 2011 Coursera
- Algorithms: Design and analysis, Pt. 1
- Algorithms: Design and analysis, Pt. 2
- Functional programming principles in Scala
Portfolio
GitHub