Skip to main content
Portrait of Davyd Holovii

Davyd Holovii

Senior Software Engineer | Forward Deployed Engineering & Applied AI

10+ years building backend systems and distributed services.

Location
Orlando, FL, USA
Work authorization and availability
Authorized to work in the US · Full-time, contract, remote, hybrid, relocation
Stack
Java / Spring Boot, Go, PHP, AWS, Kafka, MySQL, PostgreSQL, Docker

Results at a glance

Selected work

Home charger activation: days to hours

ChargePoint, 2022–2025

Automatic retries removed about 60% of activation failures, and a governed query runner cut reactivation after data issues from several days to hours.

Retries resolved most failures automatically; alerts and an approval-gated query runner let the team fix the rest without waiting on another team.
Read the details
Problem
Failed home charger activations gave new customers a poor first experience with the company: some waited several days for an activated charger. Two causes dominated. An intermittently unavailable third-party activation API failed silently, and escalations took 1–2 days to reach a developer. Failures caused by incorrect data also needed a database fix, which, under security policy, only the infrastructure team could run, adding another 1–2 days.
My role
Designed and implemented a Kafka event-driven workflow that made activation asynchronous, so calls to the third-party API are retried automatically. Added Prometheus metrics, a Grafana dashboard and alerts so the team could act on remaining failures proactively, plus Spring Boot Actuator health and end-to-end request tracing. Built a custom SQL query runner with access limited to the activation-management tables: a developer writes the fix, a manager approves it, and it runs without the infrastructure team, keeping data governance in place.
Result
Async retries reduced activation failures by about 60%. For the rest, the Driver Experience team acts on alerts, prepares and executes approved fixes, and re-activates the charger, cutting reactivation after data issues from several days to hours.

Serverless reporting migration

Camber, 2025

Replaced always-on OpenSearch reporting with a serverless S3, Athena and QuickSight pipeline, turning a standing monthly compute cost into per-query pricing.

Moving reporting from always-on OpenSearch pods to Parquet on S3, Athena and QuickSight replaced a standing monthly cost with per-query pricing.
Read the details
Problem
Reporting ran on OpenSearch across multiple always-on EKS pods (about 2–3 CPUs and a few GB of RAM each), creating a standing cost of hundreds of dollars a month and added operational overhead.
My role
Exported about 30 GB of historical data from OpenSearch to S3 and converted it to Parquet. Defined the Athena table structure, wrote the queries behind the QuickSight dashboards, then tested and optimized them until the dashboards met the product requirements.
Implementation
Historical data moved from OpenSearch to Parquet files on S3. A Lambda function ingests current charging sessions and OCPI events from a third-party API, converts them to Parquet and writes them to S3. Athena tables over the Parquet data feed QuickSight dashboards that reproduce the legacy web UI, which was then decommissioned.
Result
Standing compute cost replaced with usage-based pricing at a fraction of a cent per query. The reports serve CPOs' technical support teams.
Known limitation
Exact dollar savings were not quantified.

EV charging session payment refunds

ChargePoint, 2022–2025

Contained the customer impact of a payment defect through recurring refund rounds while the permanent fix was blocked on another team for almost 6 months: about €10k refunded to about 400 drivers.

Recurring refund rounds contained the customer impact until the permanent fix shipped almost 6 months later.
Read the details
Problem
A payment defect charged some drivers for charging sessions covered by their benefits. The permanent fix depended on another team and could not be delivered immediately; it took almost 6 months to ship, leaving drivers exposed in the meantime.
My role
Owned the interim remediation. Ran 3–4 refund rounds, each identifying the affected drivers and refund amounts; aligned with the payments and finance teams on the refund calculation and its impact on downstream financial reports; and kept escalating with the owning team until the permanent fix shipped. I originally identified the defect and its root cause while building a financial reporting feature.
Implementation
A reconciliation script runs over a given date range: it pulls session and payment data, verifies each driver's benefits for that period, checks every session payment against those benefits, and confirms the payment was processed accordingly. Each run produces a refund report (driver, organization, amount) for the payments, finance and support teams.
Result
Identified drivers were refunded throughout the 6-month window: about 400 drivers and about 1,000 sessions, roughly €10k in total.

EV charger migration

ChargePoint, 2022–2025

Built the backend-for-frontend layer for moving about 3,000 connected EV chargers from two hard-to-scale legacy monoliths to domain-owned microservices and a new OCPI gateway.

Before: chargers and the client depended on two monoliths that each held part of every domain. After: chargers connect directly to the Station API, and the client keeps its existing API through a backend-for-frontend over domain-owned microservices.
Read the details
Problem
Two large legacy monoliths were hard to scale, and the business logic for each domain (Station, CPO, Driver Experience) was split across both. Code ownership spanned both systems, so changing one area risked disrupting unrelated modules. About 3,000 connected EV chargers had to move to a new OCPI gateway while charger configuration, management and the EV-leasing financial reports stayed available.
My role
Contributed to the architecture design for charger activation and management. Built the backend-for-frontend (BFF) service that fronts the Station, CPO and Driver Experience APIs and preserves the existing client API contract. Made charger activation, deactivation and management operations idempotent.
Implementation
The migration design moves charger management out of the legacy monoliths into domain-owned microservices: chargers connect directly to the Station API (OCPI gateway), while the user client keeps calling the same API through the BFF. Delivery spanned four teams (Station, Embedded, CPO, Driver Experience), with feature flags enabling a gradual rollout.
Result
The BFF and idempotent activation and management APIs let chargers migrate gradually behind feature flags, with no change to the client API.

Want to go through one of these in detail?

Email me about the work above or the role you have in mind.

Employment

  1. Camber, Senior Software Engineer

    Jun 2025 – Nov 2025Orlando, FL / Remote

  2. ChargePoint, Senior Software Engineer

    Mar 2022 – Apr 2025Orlando, FL / Remote

  3. Cetrez, Senior Software Engineer

    Sep 2020 – Feb 2022Kyiv, Ukraine / Remote

  4. MCPK, Backend Engineer

    Jun 2019 – Jul 2020Kyiv, Ukraine

  5. Scalr, Backend Engineer

    Mar 2018 – Apr 2019Lviv, Ukraine

  6. Digital IDEA, Full-Stack Engineer

    Dec 2016 – May 2018Remote

  7. Dremext, Full-Stack Engineer

    Oct 2014 – Oct 2015Lutsk, Ukraine

Bachelor's in Computer Science, Open International University of Human Development "Ukraine", 2009–2013.

Skills

Languages
Java, Go, PHP, JavaScript, TypeScript
Frameworks and testing
Spring Boot, JUnit, Testcontainers
Data and messaging
MySQL, PostgreSQL, DynamoDB, Redis, Kafka
Cloud and infrastructure
AWS (ECS, Lambda, S3), Docker, Linux
CI/CD
GitHub Actions, Jenkins
Architecture
REST APIs, microservices, distributed systems, system design
AI-assisted engineering
Spec-driven development, agents, skills, grounding, MCP, Claude Code, Codex, Copilot, OpenCode, OpenRouter
Spoken languages
English (C1), Ukrainian (fluent)