Post Job Free
Sign in

Software Engineer Senior

Location:
Pleasant Hill, CA
Posted:
February 08, 2025

Contact this candidate

Resume:

Viacheslav Kabanovich

Pleasant Hill, CA, ***** • USA citizen

925-***-**** • ************@*****.*** • https://github.com/scabanovich • https://www.linkedin.com/in/viacheslav-kabanovich-40742810a

Professional Summary

•Over 24 years of overall experience in IT field, analyzing, designing, and developing java-based enterprise applications using cutting-edge technologies.

•Strong experience in developing large scale, highly available applications

•Clear understanding of Object-Oriented Programming semantics and Design Patterns.

•Experience in full development life cycle through OO Analysis / Design using UML, to implementation, testing, deployment, and support.

Technical Skills

Programming languages and technologies

Java SE, Java 8 / Java 21, Spring, Swing, JIDE, Eclipse (OSGi, Core, JDT, PDE, WTP, EMF, GEF), Eclipse RCP, J2EE (CDI, Servlets, JSP, Facelets, JSF, EJB3), UML, SQL, NoSQL, XML, HTML/CSS/JavaScript

Frameworks and Libraries

Spring Boot, Spring, MySQL, MongoDB, JBoss Seam, JBoss RichFaces/Ajax4Jsf, JPA/Hibernate, Jawampa, Kafka, Redis, JUnit

Development Environments and Tools

Eclipse, Microsoft Project, OpenProject

Application/Web Servers

Apache Tomcat, JBoss AS/WildFly

Source Control

CVS, SVN, Git

Bug tracking systems

JIRA, Bugzilla

RDBMS

MySQL, Derby, MariaDB, PostgreSQL

Build Systems:

Ant, Maven, Gradle, Tycho

Professional Experience

Jan 2021 - Jan 2025

Nisum www.nisum.com, Fremont, CA

Senior Software Engineer

Technologies: Java 8 / Java 21, Spring Boot, Spring, JPA/ Hibernate, REST API, Kafka, MariaDB, PostgreSQL, Redis, Microservices, Microsoft Azure, PCF, AKS, Junit, Jenkins, CDP, Splunk, GCP

Project: Loyalty at GAP

Project Description:

•Loyalty programs aim to personalize and strengthen engagement and loyalty of GAP customers, drive incremental financial upside, deepen understanding of customers, build customer loyalty (frequency, sales, and NPS), and enable access to the payment networks as it relates to the brand credit card program. We want to offer Gap Inc. customers differentiated experiences through connected digital interactions (e.g. personalized acquisition, seamless reward redemption, and payment experiences).

Responsibilities:

•Worked on Loyalty integration that migrated personal data to new Profiles service (external to Loyalty) and member/card to the new schema inside Loyalty (2021)

•Implemented matching Kafka consumer in one-time (migration) and on-going (new enrollments) flow

•Implemented card enrollment Kafka consumer

•Implemented changes to member service for new (integrated Loyalty) REST API

•Monitored one-time migration of data to integrated Loyalty and responded to issues with quick code and data fixes

•Monitored on-going enrollments and implemented fixes for detected issues

•Resolved tickets for customer data issues

•Worked on migration of Synchrony card data to Barclays card data (change of vendor) (2022)

•Implemented one-time matching Kafka consumer to match card data published by Barclays to Synchrony card data in Loyalty and move it to new schema in Loyalty

•Implemented in member service, on-going matching consumer, card enrollment consumer, and other relevant applications support for new card data

•Monitored card migration and fixed both code and data issues

•Implemented Redis cache in member service (2023)

•Implemented self-merge service, collected data for it for eligible members on Loyalty side, and initialized tables (one-time)

•Implemented internal merge service with endpoints facilitating work on customer data to resolve data issues

•Implemented error handler service to store errors permanently in the database (instead of Kafka error topics) and refactored error handling in consumers

•Implemented encryption of error messages that include personal data

•Designed and created internal application (Loyalty Tool) that in a generic way provides convenient interface for executing REST API calls on large sets of data, and applied it for the collection of Loyalty API calls needed to analyze data consistency and resolve data issues efficiently (compared to Postman)

•Implemented POC support for inactive members in member service

•Migrated applications from Java 8 to Java 21 (2024)

•Migrated secrets from application.yml to AKV, next at migration PCF to AKS moved secrets to AKS AKV

•Migrated logging and alerts from Splunk to Google Cloud Platform, designed and created JavaScript/HTML page to generate a GCP query by Java code of logging, or by a sample from logs

•Migrated build from Jenkins (deploying to PCF) to GIT actions of CDP (deploying to AKS)

•Fine-tuned procedures of analyzing and resolving data issues.

Sept 2020 – Dec-2020

Nisum www.nisum.com, Fremont, CA

Senior Software Engineer

Technologies: Java 8, Spring Boot, Spring, JPA/ Hibernate, REST API, Kafka, MySQL, MongoDB, Microservices, Microsoft Azure, Junit,

Project: Micro Social Network

Project Description:

•Backend for a social network split into two RESTful microservices: (1) users with friendship relations, (2) posts with comments and ‘likes’.

Responsibilities:

•Design REST API for microservices (BDD)

•Store users and friends in SQL database (MySQL)

•Store posts, comments, likes in NoSQL database (MongoDB)

•Authenticate with JWT issued by users service

•Write JUnit tests (TDD)

•Deploy the microservices to Microsoft Azure

•Use Agile/Scrum project management tools

Nuix nuix.com, Novato, CA Jun 2017 – Apr 2020

Senior Software Engineer

Technologies: Eclipse, Java 8, SQL, Hibernate, Swing, WebSocket, WAMP, REST API, JMS, JAX-RS, Netty Server, XML/XSLT, JAXB, JUnit (TDD)

Environment: Windows 10, Linux Ubuntu, Mac OS.

Project: Enterprise Collection Center

Project Description:

•Large organizations engaged in eDiscovery or big investigations need to collect data from many devices and storage platforms, often from disparate, remote, and difficult-to-access sources. Nuix Enterprise Collection Center makes collecting, processing, and producing this data simpler, faster, and cheaper. It is easy to use, provides a single integrated workflow from collection to production, and is non-intrusive so employees can continue working productively.

Responsibilities:

•Design data bean model common for all components using functional programming of Java 8

•Design components and implement them with Java 8:

•ECC Server, implemented with Netty Server.

•Derby database accessed by the server with ORM.

•Admin Console, desktop application (Swing) accessing server through WebSocket.

•REST API to services provided by the server implemented with JAX-RS.

•Migration of Admin Console functionality to Web interface (to be implemented with Spring).

•Authentication and authorization (OAuth2, OpenID)

•Provide high performance of Server, processing thousands of requests per seconds from clients reporting updates to database.

•Admin Console, displaying thousands remote clients changing state in real time.

•Design command tools for diagnostic and recovery of the encrypted database (both high level with ORM and low level with JDBC/SQL).

•Write unit tests to each component and functionality (Junit)

•Work with version control (SVN)

•Use Agile project management tools (JIRA, Confluence)

•Collaborating with the team to identify and fix technical problems

•Take up the responsibility of the entire project (Admin Console since 2017, ECC Server since 2018)

•Working on identifying the project risk and planning mitigation action with the PM at project level

Red Hat www.redhat.com Feb 2016 – Apr 2017

Contributor to software development

Technologies: Eclipse, SWT, OpenShift, JUnit (TDD), Git

Environment: Linux Ubuntu

Project: JBoss Developer Studio / JBoss Tools / OpenShift

Project Description:

OpenShift is Red Hat's Platform-as-a-Service (PaaS) that allows developers to quickly develop, host, and scale applications in a cloud environment.

Responsibilities:

•Contributing to UI tools in OpenShift.

•Maintenance / bug fix for other projects in JBoss Tools (Common, JST, JavaEE).

Exadel, Inc. www.exadel.com, Walnut Creek, CA Feb 2011 – Jan 2016

Senior Software Engineer

Technologies: J2SE, J2EE, Eclipse, Eclipse RCP, GEF, CDI, Hibernate, Spring, JUnit (TDD), Git.

Environment: Windows, Linux Ubuntu

Project: JBoss Developer Studio / JBoss Tools

Project Description:

•JBoss Developer Studio is a set of eclipse-based development tools that are pre-configured for JBoss Enterprise Middleware Platforms and Red Hat Enterprise Linux.

•JBoss Tools is open source project that supports JBoss and related technologies such as CDI/Weld, Hibernate, Seam, JBoss AS/WildFly, JSF, (X)HTML, JBoss ESB, JBoss Portal and more.

•See http://tools.jboss.org/ for details.

Responsibilities:

•Design and development of tools: CDI mod-el/builder/validation/content assist, Seam model/builder/components view/config file editor/validation/content assist, JSF and JSF 2 model/builder/config file editor/validation, Batch model/builder/contribution to job file editor, ESB config file editor, and other components of JBoss Tools.

Exadel, Inc. Moscow brunch. Russia Nov 1999 – Jan 2011

Position: Senior Software Engineer

Technologies: J2SE, J2EE, Swing, Eclipse, GEF, Struts, Hibernate, MyFaces, Oracle ADF, Spring, JUnit (TDD), SVN, Git

Environment: Windows 2000, Fedora Linux.

Project: JBoss Developer Studio / JBoss Tools

Project: Exadel Studio Pro

Project Description:

•Exadel Studio Pro was an advanced enterprise-level Web application development environment for leveraging open source, J2EE, and AJAX technologies within the Eclipse environment.

•Combining visual and source-oriented development approaches with sup-port for multiple open source technologies, including JSF, Struts, Hibernate, MyFaces, Oracle ADF, Shale, Spring, and others, Exadel Studio Pro enables developers to work easily with multiple frameworks all within one environment.

Responsibilities:

•Software design and development: Common model for views/editors known as Xmodel, Struts model/config file editor, JSF model/config file editor, Hibernate config file editor.

Education

•PhD in theoretical physics from Moscow State University, Moscow, Russia 1991



Contact this candidate