Software Engineer with more than 15 years of experience on all levels of development process with primary focus on backend systems; Hands on software architect and engineering manager with experience in all aspects for software development lifecycle. Static Java code analysis and clean code methodology expert.
Experience
2020 — Now
2020 — Now
San Francisco Bay Area
2019 — 2019
2019 — 2019
San Francisco Bay Area
Responsibilities:
● Improving stability of business critical features.
● Restoration of compilation/execution/deployment of web service based on Node.js
● Introduction of Behavior Driven Development
Environment: Java 11, Guice, JAX-RS/Jersey, Quartz, jOOQ, Flywaydb, Javascript ES6, ReactJS,
Node.js, Bash scripts, Python, Ansible, PostgreSQL 11, Eclipse, AWS, Docker, GIT, JIRA, CircleCI.
Development OS : MacOs
Production OS : Linux(Ubuntu in AWS)
2018 — 2019
2018 — 2019
Readwood City
Achievements:
Simplification of Software Development Process (new git workflow, code review process, reasonable decomposition of task to subtasks, release management).
Introduction of better DB architecture practices.
Introduction of clean code concepts in code review and automatic enforcement of concepts in CI.
Bringing number of design/structure best practices well known at back-end to front-end (UI) code (Javascript).
Responsibilities:
Development of single-page web application that shows data and analytics of clinical trials.
Development of HTTP REST concurrent and distributed web service as a back-end for web application.
Full automation of web UI tests to cover all functionality by means of behavior-driven development (with support of Chrome/IE11/Safari/iPad browsers).
Syntax extension of internal SQL-based query language.
Update of internal documentation/wiki/manuals for engineers to share knowledge and speed up introduction/onboarding to the new project engineers.
Defending software development process during client audits.
Environment: Scala 2.11, Akka, Spray, Flywaydb, ZooKeeper, Kafka, Storm, Javascript ES6, ReactJS, Highcharts, Yellowfin, Python, Ruby (Capybara, SitePrism), Selenium, Cucumber, Bash scripts, Ansible, PostgreSQL 9/10, IntellijIdea, Mesos, Marathon, DataDog, Docker, GIT, TargetProcess as issue tracker, Teamcity, Jenkins.
Development OS: MacOs
Production OS: Linux(Ubuntu in docker)
2013 — 2018
2013 — 2018
Achievements:
Established software engineering process that ensured high code quality, as well as provided unprecedented transparency to the project management team.
Sped up development by enforcing automatic code review tools to minimize time of spent on it by engineers and let them focus more on design/performance problems of code;
Set up CI enforcements and converted development process to continuous development cycle;
Kept a balance between quick functional implementation to satisfy business requirements and code quality (technical dept);
Enforced best practices in development process that allowed company to successfully deliver products to clients.
Responsibilities: implementation and support of data processing and data-feed applications; wide usage of Domain Driven Development on very complicated financial requirements; numerous automations of financial analytics workflow; design and development of all applications and infrastructure for Reveredata department at Factset (client facing data feeds, jobs, web apps, services, etc.); partial monitoring and maintenance of all production/testing servers; involved in analysis of business requirement, design and implementation at all times; regular review of engineers’ code even in the middle of implementation.
Management responsibilities: senior engineer / team lead of the remote development team (7 engineers); managing the whole development process in Factset Revere; training engineers at all levels for more efficient workflow.
Environment: Java (1.6, 1.7, 1.8), Spring 4.X, Hibernate 3.X-5.X, FreeMarker 2.X, Oracle Standard and XE 11.2, Mysql 5.X, PostgreSQL 8/9, MSSQL 2005-2016, Junit4, Maven3, ElasticSearch 1.X, Canoo ULC, Eclipse 4.X, Docker, GIT, JIRA, Jenkins, Sonar, Groovy scripts, bash scripts.
Development OS: Linux (Ubuntu). Production OS: Linux/Unix/Solaris
2007 — 2013
2007 — 2013
Sevastopol, Ukraine; San Francisco, USA
Achievements:
Stopped the growth of technical dept. Designed and Implemented a process to continuously refactor/eliminate legacy systems and DBs without conflicting with business priorities.
Enforced reasonable level of test-driven development and set up few testing environments to ensure quality of the product at production even without QA department.
Introduced rotations of team members between projects to avoid engineer lock and prevent job security. Implemented efficient and minimalistic set of wiki documentation for each project to allow any new engineer to immediately start contributing with minimal time spent on learning and reviewing the new project.
Responsibilities: development of data processing and data-feed applications; numerous automations of financial analyst workflow; development of all applications and infrastructure (jobs, web app, services, etc.); partial monitoring and maintenance of all servers, functional specification creation; development of RIA (based on Canoo UltraLightClient(ULC) library) for editing/support/update/quality-control financial data; development of task management system (like JIRA) for financial data entry application.
Last 2 years: team lead and team manager of remote development team (5-7 engineers).
Environment: Java (1.6, 1.7), Swing, Spring 2.X/3.X, Hibernate 3.X, FreeMarker 2.X, Oracle Standard and XE 10 and 11.2, Mysql 5.X, PostgreSQL 8, MSSQL 2005/2008, Junit 3/4, Maven 2/3, Lucene 3.X, Canoo ULC, JIDE Docking Framework, SWT 3.X, Eclipse 3.X/4.X, SVN, GIT, JIRA, Jenkins, Sonar, Groovy scripts, shell scripts.
Development OS: Linux(Ubuntu). Production OS: Linux/Unix/Solaris .
Education
Sevastopol State Technical University
Master's degree
Sevastopol State Technical University