I’m a software engineer with over 13 years of experience designing, building, and evolving software, from early-stage products to large-scale platforms. I combine hands-on development with technical direction: working through complex problems, making pragmatic design decisions, and helping engineers deliver together. Having held roles through director of engineering while staying hands-on, I’m now focused on senior individual contributor roles where I can contribute through code and architecture.
Upsun (formerly Platform.sh) (remote)
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).
Engineering Leadership People Management Technical Strategy Hiring & Onboarding Career Development Stakeholder Management Engineering Processes Observability Raft Consensus
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
Owned or contributed to significant projects such as:
High Availability Automated Failover Workload Scheduling Resource Optimization Managed Databases Python Pickle
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)
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)
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)
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
University of Crete
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.
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.
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.
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.
Software or platforms used in professional work and personal projects.