Software architect, technical/team lead, people manager.
Java, Ruby/Ruby on Rails, Python, node.js, Bash, Spring (Boot/Cloud), Netflix OSS, AWS, Site Reliability Engineering, DevOps, (No)SQL, REST, Microservices, Docker, BDD/TDD, Gradle, Git, Jenkins, Jira, IntelliJ IDEA, etc…
Software Architect at Devlify, Kyiv, Ukraine
Dec 2015 – Present
Built receipts processing service.
Designed and implemented CI/CD stuff, infrastructure-as-a-code, setup DB backups and replication, designed backend (Java/Spring Boot), wrote admin UI using Ruby on Rails, built a ton of integrations.
Built image comparison service using OpenCV.
Tech used: Spring Boot, MariaDB, Ruby on Rails, AWS S3/SQS/Lambda, Jelastic.
Built Zero-Code chatbot conversational platform using Java, Spring Boot and Ruby on Rails.
Designed and developed E-Commerce analytic tool.
Tech used: Ruby on Rails for UI, dashboards and batch jobs, Python/Scrapy/Splash for scraping, OpenCV for images comparison, Postgresql for storing large amounts of data.
Built a lot of prototypes for sales demos and smaller services/apps.
Software Development Engineer at OneDome, Kyiv, Ukraine
June 2015 – present
Working mostly with infrastructure and site reliability of OneDome.
Employee #2 and first software engineer here. Designed and built microservices blueprints using Spring Boot, Netflix OSS stack, Docker, AWS ECS and CloudFormation for infrastructure-as-a-code.
Built blue-green CI/CD pipelines using Jenkins Pipelines.
Wrote a lot of custom stuff related to deployment and monitoring.
Tech used: Spring Boot, Spring Cloud Netflix (Eureka/Ribbon/Zuul/Hystrix), almost all AWS services, Java, Python, Node, Bash.
Technical Manager at NetCracker, Kyiv, Ukraine
January 2013 – May 2015
CRM REST APIs project:
- Project goal: development of REST API’s for existing NC components
- Acted as Project Manager, Technical Manager, SME
- I've designed REST API’s for three business-critical NetCracker components
- Proved that REST should be mainstream approach for building API’s
- Created API guidelines and best practices for new components
- Managed team from 4 devs, few QA’s and two performance engineers as lead architect and project manager
- Delivered project in-time and in-budget
- Technologies: Java, JAX-RS, Spring, rest-assured
Order Entry project:
- Project goal: development of lot of new features in one of the most business critical and complex NC components – Business Order Entry. Team consisted from 30+ people including lead devs, devs, qa, performance guys, technical writers etc.
- Acted as Technical Manager and SME
- Built a team, coached teamleads and senior devs, managed scope
- Made a vital architectural decisions
- Promoted changes in platform components – new ORM and other improvements
- Technologies: Java, Spring, Test-Ng, WebDriver, Custom UI framework
- Project goal: deliver self-service portal for one of US largest cable provider
- Acted as Performance Engineer – resolved critical performance issues in solution
- Technologies: Java, Spring, custom frameworks
Cloud architecture prototyping:
- Project goal: create proof-of-technology of how to deploy business applications into cloud/how to make them distributed
- Acted as SME and Technical Consultant
- Technologies: Java, Spring, Eureka, Hystrix, custom frameworks