Experience

Upsun (formerly Platform.sh) (remote)

Director of Engineering • Jan 2024 — May 2026

Combined hands-on engineering with leading a team of up to eight engineers building managed databases, other backend services, and application runtimes for a cloud hosting platform (PaaS).

Hands-on Engineering

  • Prototyped a distributed service management system in Go using Raft, enabling service instances to coordinate failover independently of a central orchestrator.
  • Co-designed a replatform from our custom container orchestration solution to K8s with significant backwards compatibility concerns, feature parity and adding only the necessary workarounds and abstractions to keep the scope manageable.
  • Designed end to end observability to measure container management operations and pinpoint bottlenecks.
  • Built local testing tools for complex service scenarios such as PostgreSQL cluster failover, without requiring the entire platform to run.

Engineering Leadership

  • Supported career development through regular 1-on-1s, providing mentorship and feedback, discussing pain points and driving engegament
  • Standardized engineering workflows, code review practices, and CI/CD pipelines.
  • Aligned stakeholder priorities with team capacity and translated requests into prioritized engineering work.
  • Managed talent acquisition and onboarding while redistributing responsibilities to allow the team to scale.
  • Worked with other engineering directors to improve how teams planned work, coordinated dependencies, and shared ownership.

Engineering Leadership People Management Technical Strategy Hiring & Onboarding Career Development Stakeholder Management Engineering Processes Observability Raft Consensus

Staff Engineer • Nov 2020 — Jan 2024

Became a strategic lead within the team, mentored others and took ownership of the container orchestration component (define its roadmap, set goals and communicate them to stakeholders, anticipate problems and own solutions, improve developer experience and reduce barrier to entry).

Collaborated with PMs on feature requests, clarified requirements, designed solutions and translated to engineering tasks.

Performed deep investigations during incidents occurring on distributed systems which are time sensitive and difficult to reason about by analyzing large amounts of logs and correlating with the code, tracing Linux processes to introspect behavior and inspecting network traffic. Fixing memory leaks by profiling processes in both Python & Golang applications.

Technical Leadership System Architecture Technical Roadmaps Mentoring Developer Experience Incident Response Root Cause Analysis Production Debugging Memory Profiling

Senior Software Engineer • Jun 2018 — Nov 2020

Owned or contributed to significant projects such as:

  • Running customer apps and services with triple redundancy for high availability and handling automatic failover between instances.
  • Automatic relocation of containers away from failed hosts by adding liveness probes to them and reallocating all workloads to different hosts.
  • Ensuring worker host utilization is maximized by distributing containers evenly across them and periodically rebalancing based on changing resource requirements.
  • Managed offerings for various HA-enabled services such as PostgreSQL, MongoDB, Redis, nginx, Elasticsearch, Kafka, Vault and others.
  • Porting the custom container orchestration software from Python 2 to 3, with strong usage of unicode, pickled objects requiring delicate handling to preserve backwards compatibility and a gradual rollout to hundreds of hosts.

High Availability Automated Failover Workload Scheduling Resource Optimization Managed Databases Python Pickle

Software Engineer • Jul 2016 — Jun 2018

A member of the Core Engineering team for one of the leading PaaS offerings, responsible for the low level backbone components.

Contributed to the Python-based container orchestration platform (similar to k8s) that manages the complete lifecycle of tens of thousands of containers using Linux namespaces and cgroups, ensuring high availability and seamless scaling for user applications.

Focused on system resilience, performance optimization, and automating container management operations. Contributed to our custom edge layer in Golang to minimize resource usage, reduce TLS connection latency and withstand DDoS attacks.

Python Gevent Golang Linux ZooKeeper Distributed Systems Container Orchestration Networking GitLab CI Performance Optimization

Lexiful (remote)

Senior Software Engineer • Feb 2014 — Jun 2015

Architected and built a "Translation Manager as a Service" platform from the ground up, enabling automated coordination of complex translation workflows.

Implemented logic to routing documents to the most suitable translators based on expertise, rate, and availability by modeling the problem on Markov chains. Optimized the platform for cost-efficiency while ensuring strict adherence to target deadlines and quality standards.

Designed the full-stack architecture to handle document file processing, user management, and automated task dispatching.

Python AWS (EC2, EBS, ELB, Route 53, OpsWorks, RDS) PostgreSQL

Photiq (remote)

Software Engineer • Jul 2013 — Jan 2014

Engineered a high-performance e-commerce platform enabling small business owners to launch online stores instantly.

Designed and implemented the backend infrastructure on AWS and RESTful APIs from zero to launch using Node.js, MongoDB and PostgreSQL. Built with horizontal scaling and high availability in mind across the entire stack to support growing transaction volumes. Leveraged MongoDB's performance for most data operations and relied on PostgreSQL for transactional operations such as purchases.

Node.js MongoDB PostgreSQL AWS

SlideMe (remote)

Analytics Engineer • Jun 2012 — May 2013

Designed and implemented an internal analytics platform for one of the largest unofficial Android app stores.

Built ETL data pipelines to ingest and visualize application usage data, empowering developers with actionable insights. Designed to handle large volumes of data by inserting events through a queueing service, buffering them in memory and batching database inserts.

Node.js MongoDB D3.js

Education

University of Crete

Bachelor's degree in Computer Science • 2008 — 2013

Projects

Flying Icarus

A flight monitoring platform similar to flightradar24.com. As an aviation enthusiast, I saw great value in a platform built and supported entirely by the aviation community end to end. From the collection of ADS-B messages through antennas on rooftops to processing and visualization.

Every component of the whole system is open sourced, including the Kubernetes manifests.

Notably, drawing planes on the map is performed via WebGL instanced objects (through low-level Three.JS APIs), with custom vertex shaders, and it's able to draw thousands of objects with high frame rates, even on low performance devices.

Plane position data are stored in ScyllaDB and modeled in a way that's efficient to query on wide column DBs.

ESP32-based weather station

Built a solar powered weather station from scratch based on ESP32 for my local windsurf club. Hardware included modbus-based wind direction & speed sensors, i2c temperature & humidity sensor and a Qualcomm NB-IoT modem. Software started on bare bones FreeRTOS with esp-idf, and was later ported to rust. Measurements were sent over NB-IoT to an MQTT broker. Power management was crucial to ensure 24/7 operation over solar & battery.

Home kubernetes cluster

A three-node kubernetes cluster at home for various services including home automation, media center, photo storage, etc, but mainly as a way to learn kubernetes. Started with raspberry pis, moved to Intel N100-based mini PCs. Used Talos Linux for the underlying OS & k8s, metalLB for load balancing, helm charts, and mayastor for distributed storage.

Early Node.js community work

I started with Node.js in the early days of v0.2 and used to be active in the community. Also contributed a minor bug fix.

Little open source projects

  • Passbookster - iOS Passbook Library for Node using openssl to generate signed purchase receipts.
  • Assurance - Input Validation Library for Node with a functional API
  • node-openex - Web API Client for openexchangerates.org
Most of those are obsolete and were developed a long time ago.

Skills

Technical Skills

Software or platforms used in professional work and personal projects.

  • Languages & Frameworks
    • Expert in Python (incl. asyncio, gevent)
    • Proficient in Golang
    • Proficient in Node.JS
    • Familiar with Rust (incl. embedded rust / no_std)
    • Familiar with Erlang/Elixir
  • Databases
    • PostgreSQL (incl. timescaleDB) / MariaDB
    • MongoDB
    • ElasticSearch
    • Cassandra / ScyllaDB
    • Redis
    • Clickhouse
  • Infrastructure & Operations
    • Linux
    • AWS / GCP
    • Kubernetes
    • Observability stacks like ELK, Grafana, OTEL.