Short Detailed
← zhisme.com
EN RU
Evgeny Zhdanov

Evgeny Zhdanov

Senior Software Engineer | Technical Lead

Professional Summary

10 years of professional experience in software engineering, mainly Ruby/Rails. Last 2 years as team lead — roughly 40% code, 60% architecture and coordination. Built payment processing integrations, HR automation platforms, and the teams around them. Looking for roles where I own technical decisions and ship with a small team.

Engineering philosophy: I don't trust theory disconnected from production. I work across the stack and pick up whatever the problem requires — language, protocol, or tool. I hire quiet engineers who deliver over charismatic ones who write reports. I build processes (ticket → review → CI → deploy) because good pipelines prevent fires better than heroics.

Employment History

Software Consultant — Self-Employed

May 2025 — Present

Tech stack:

TypeScript, React, Ruby/Rails, Kubernetes, Helm, GitLab CI

Product:

Contract software development, technical consulting, and code review for software teams and returning clients.

Key achievements:

  • Part-time contract work on an online music notation/tablature editor (TypeScript, frontend + backend) — 6-month engagement, hourly rate. Leveraged AI-assisted development with Claude for accelerated delivery.
  • Migrated legacy Ember.js application to React for a returning client (Magtuner) — project originally built in 2016. 3-month engagement using AI-assisted workflow: structured migration with markdown artifacts for continuity, rewrote all business logic to modern React.
  • Led FB/IG widget system project: end-to-end development, deployed via Helm to Kubernetes, set up GitLab CI/CD pipeline from scratch. Mentored an 18-year-old CS student on the project as per client requirements.
  • Hardened CI/CD for Ruby projects: configured rubocop, brakeman, and strong-migrations for automated code quality and security checks. Separately upgraded another project to Rails 8.1.
  • Open source: published copy_with_context.nvim (Neovim plugin) and tinylist (Kubernetes email API service).
  • Published 10+ engineering articles on zhisme.com.

Team Lead — RocketWork

November 2023 — May 2025

Tech stack:

Ruby/Rails, Go, React, PostgreSQL, Kubernetes, ArgoCD, GitHub Actions, Grafana, Kibana, Sentry

Product:

B2B HR automation — configurable personnel management system (hiring, offboarding, leave, document signing) for enterprise clients.

Key achievements:

  • Took over a frozen product — codebase existed but had never reached production. Shipped it to paying customers as a single engineer, then built a team of 5 (4 devs + 1 QA).
  • Built the entire dev process from scratch: Jira ticket workflow (everything is a ticket), Git Flow, code review with <24h turnaround, weekly release cycle via Helm + ArgoCD to Kubernetes.
  • Designed configurable HR workflow system — each company needs different forms, approval chains, and data fields for the same process (e.g., "hiring" varies per org). Built JSON-driven form constructor so non-developers configure workflows from admin UI, React frontend consumes the schema.
  • Picked up and shipped a Go microservice for electronic document signing (CryptoPro PDF signatures + watermarks) — was left unfinished by the previous team. Added PDF parsing, logging, request tracing, deployed to production.
  • Defined application-level observability: configured Yabeda Rails metrics, business KPI dashboards in Grafana (completed workflows, document signatures, delivery rates), request trace_id in Kibana for end-to-end debugging, Sentry for error tracking. Infrastructure setup handled by DevOps team.
  • Hired and managed 3 engineers — conducted technical interviews, onboarded, and directly led the team: assigned tasks, guided technical decisions, and unblocked problem-solving day-to-day.

Senior Software Engineer — Emerchantpay

January 2021 — November 2023

Tech stack:

Ruby/Rails, MySQL, React, Elasticsearch, Jenkins, Docker, AWS

Product:

Payment gateway serving 10,000+ merchants across multiple banking integrations. Large-scale Rails application with long production history.

Key achievements:

  • Built LATAM bank integrations from scratch — first one took 3-4 months. Consumed external XML/SOAP APIs for transaction processing, SFTP batch transfers with PGP encryption (private/public key pairs), Sidekiq cron for transaction state synchronization. Configured web payment forms for card payments on integrated providers.
  • Implemented transaction reconciliation: automated verification of amounts and states across systems where status could update from multiple sources. Processing, reconciliation, and cancellation flows across different bank APIs.
  • Fixed security vulnerabilities found in audits: path traversal on SFTP server (CWE-22), injection via unescaped quotes in XLSX parsing.
  • Incremental legacy cleanup during feature work — updating base classes, removing dead code. Not a grand rewrite, just responsible engineering in a codebase where touching anything unrelated could break live payments.
  • Mentored 3 junior developers through code reviews and pair programming.

Software Engineer — Noveo (outsource for a major French retail analytics company)

June 2018 — January 2021

Tech stack:

Ruby/Rails, React, TypeScript, MongoDB, MySQL, Redis, Elasticsearch, Docker, GitLab CI

Product:

Enterprise customer feedback platform — survey collection and analytics for retail chains.

Key achievements:

  • Migrated analytics from MongoDB to Elasticsearch, reducing dashboard load from ~2 minutes to 5-10 seconds for graphs and histograms over retail feedback data.
  • Refactored legacy codebase — extracted fat controllers/models into service objects. Client funded a second phase: rewriting the end-user questionnaire module to React + Rails API with modular architecture, after we'd already rebuilt the admin constructor.
  • Implemented SAML 2.0 SSO — designed DB schema for federated users so corporate clients authenticate via their identity providers (Okta, Azure AD) without separate credentials.
  • Mentored 3 interns through code reviews and pair programming; 2 were hired afterwards.

Junior Software Engineer — Magtuner SA (Lausanne, Switzerland)

March 2016 — May 2018

Tech stack:

Ruby/Rails, Ember.js, Elixir, WebSockets, MySQL, Redis

Product:

Real-time educational engagement platform with live audience participation.

Key achievements:

  • Built collaborative editing lock/unlock system in Elixir for concurrent user access.
  • Built full-stack CRUD features (Ember.js frontend + Rails backend) and implemented document ACL permission system controlling access to shared resources.
  • Supported live events including Children's Olympics (~50 concurrent WebSocket connections).
Link copied to clipboard