Experience

Upsun (formely Platform.sh) (remote)

Director of Engineering • Jun 2024 — now

Leading a team of 8 engineers owning multiple components of the product. Developing and mentoring individuals of varying levels of experience.

Communicating the company vision with clarity and effectively. Building relationships with stakeholders, holding ourselves accountable and adapting to changing needs.

Staff Engineer • Nov 2020 — Jan 2024

Senior Software Engineer • Jun 2018 — Nov 2020

Software Engineer • Jul 2016 — Jun 2018

A member of the Core Engineering team for one of the leading PaaS offering, responsible for the low level components that power the house.

Architect and maintain the orchestration layer that manages the complete lifecycle of tens of thousands of containers, ensuring high availability and seamless scaling for user applications.

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

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 machine learning algorithms to route documents to the most suitable translators based on expertise, rate, and availability. Optimized the platform for cost-efficiency while ensuring strict adherence to target deadlines and quality standards.

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

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 and RESTful APIs from zero to launch using MongoDB and PostgreSQL. Ensured linear scalability and high availability across the entire stack to support growing transaction volumes. Focused on simplifying complex e-commerce logic into an intuitive user experience.

SlideMe (remote)

Analytics Engineer • Jun 2012 — May 2013

Designed and implemented a custom analytics platform for one of the largest unofficial Android app stores using MongoDB and d3.js.

Built data pipelines to ingest and visualize application usage data, empowering developers with actionable insights. Handled high-volume data ingestion challenges associated with a large-scale mobile application marketplace.Designed and implemented a custom analytics platform for one of the largest unofficial Android app stores using MongoDB and d3.js. Built data pipelines to ingest and visualize application usage data, empowering developers with actionable insights. Handled high-volume data ingestion challenges associated with a large-scale mobile application marketplace.

Education

University of Crete

Bachelor degree in Computer Science • 2008 — 2013

The curriculum at UoC is heavily sided towards developing a problem solving & software architecture skillset, rather than teaching a myriad of programming languages. Of course, to achieve that, deep understanding of low-level systems understanding is essential (e.g. memory management, compilers, etc).

The 1st software engineering university in Greece and 145th out of the top 400 universities in the world (as ranked by the Times Higher Education).

Projects

Flying Icarus

Flying Icarus, a side project of mine, is a flight monitoring platform similar to flightradar24.com. As an aviation enthusiast, I saw great value in a flight monitoring platform built and supported entirely by the aviation community, end to end. From the collection of ADS-B signals through antennas over people's 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.

Node.js Contributions

I started with node in the early days of v0.2 or so, was active in the community and became proficient on it while working at Photiq. I even contributed a minor bug fix.

ESP32-based weather station

Built a solar powered weather station from scratch based on ESP32 for a 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

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

Passbookster - iOS Passbook Library for Node

While working at Photiq we wanted to make use of Passbook in iOS, in order to serve receipts to customers. At the time no library existed for it, so I wrote one which used OpenSSL underneath and open sourced it.

Assurance - Input Validation Library for Node

Input validation library for nodejs, back when none of them existed. The goal was to allow easy validation for common use cases while also allowing custom logic. No form input or other integrations. Just do one thing and do it well. The API ended up pretty cute.

node-openex - Web API Client for openexchangerates.org

Wanted to get live currency rates for a side project and there wasn't any library available for node to do that. Went on and wrote an open source client for the openexchangerates.org API for node.

Skills

Technical Skills

This is a non exhaustive list of software or platforms I've used extensively for prior work or side projects, but generally I am swift at picking up new technology and understanding the underlying mechanisms and philosophy.

  • Programming & Libraries
    • Expert in Python (incl. asyncio, gevent)
    • Proficient in Golang
    • Proficient in Node.JS
    • Familiar with Rust (incl. embedded rust / nostd)
    • Familiar with Erlang/Elixir
  • Databases
    • PostgreSQL (incl. timescaleDB) / MariaDB
    • MongoDB
    • ElasticSearch
    • Cassandra / ScyllaDB
  • DevOps
    • Linux
    • AWS / GCP
    • Kubernetes
    • Observability stacks