With over 13 years of experience in positions ranging from full-stack engineer to director of engineering, I combine deep technical expertise with strategic team leadership, leveraging AI tooling to accelerate development and problem-solving. I focus on designing and implementing scalable yet pragmatic solutions alongside cross-functional teams while communicating effectively, ensuring alignment, and mentoring peers to grow into their roles.
Upsun (formerly Platform.sh) (remote)
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 clearly and effectively. Building relationships with stakeholders, holding ourselves accountable and adapting to changing priorities.
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).
Collaborate with PMs on feature requests, iron out requirements, design solutions and translate to engineering tasks.
Played a crucial role in incident resolution and came up with fast remedies during stressful moments to resolve impact to customers.
Troubleshoot and deeply investigate numerous problems occurring on distributed systems that are time sensitive and extremely difficult to reason about by analyzing huge amounts of logs and correlating with the code, tracing Linux processes to introspect behavior and inspecting network traffic. Fix memory leak issues by profiling processes in both Python & Golang applications.
Own or contribute to significant projects such as:
A member of the Core Engineering team for one of the leading PaaS offerings, responsible for the low level backbone components.
Contribute 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.
Focus 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 Golang Zookeeper Linux Distributed Systems Networking GitLab CI
Lexiful (remote)
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.
Python AWS (EC2, EBS, ELB, Route53, OpsWork, RDS)
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. Ensured linear scalability and high availability 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 bulking database inserts.
Node.js MongoDB
University of Crete
The curriculum at UoC is oriented toward 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 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).
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 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.
I started with Node.js in the early days of v0.2, was active in the community, and became proficient in it while working at Photiq. I even contributed a minor bug fix.
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.
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.
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.
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 turned out clean and expressive.
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.
This is a non exhaustive list of software or platforms I've used extensively for prior work or side projects, but I quickly adapt to new technologies, understanding the underlying mechanisms and philosophy.