Professional Experience
VIOOH Ltd
Virtual exchange for Out Of Home advertising.
London, UK (August 2020 — now)
I maintain and upgrade a service integrating our platform with external APIs, and I am the main point of contact for technical issues. Improved deployment processes of the team’s microservices and migrated them to Java 11. Introduced automated integration tests. Mentored junior developers on development and troubleshooting processes. Technical management of JIRAs e.g. dependencies between them, recommended approach, testing procedure.
Tech stack: Java 11, Spring-Boot (MVC), Docker, DynamoDB, Kafka, Datadog, Postman, Google APIs, AWS, Github, Linux
Ksubaka Ltd
Provider of jovial playspots for surveys, games and o2o in retail stores.
London, UK (March 2019 — August 2020)
I maintained and upgraded the platform communicating with a fleet of 10000 playspots (Android tablets) installed in retail shops in USA, UK, Japan, and China, and also internal tools to manage campaigns. A DevOps role involving AWS console and users/roles/permissions management. Migrated legacy code from Hibernate with XML to Spring Data with JPA annotations, and Java 8 to Java 11. Built a Natural Language Processing service to filter customer comments.
Tech stack: Java 8/11, Spring-Boot (MVC, Data, Security), elasticsearch, MySQL, flyway, ANTLR, Docker, nginx, Keycloak, Splunk, Jenkins, Google APIs, AWS, Github
Callsign Ltd
Machine learning powered authorization service and mobile app
London, UK (January 2018 – April 2019)
Tech Lead of the Identity and Access Management team. Designed and built a secure datastore and a REST API for users, admins, groups, permissions etc. using RBAC and ABAC. Requirements for low latency around 10ms, 5 nines availability and around 20 million end users. Used various standards for APIs including OAuth2 and SCIM. Led a small team with other Java devs, front-end and QA. Interviewed and recruited new Java developers for my team or others.
Tech stack: Java 8, Spring-Boot (MVC, Data, Security), Hazelcast, PostgreSQL, H2, ANTLR, Docker, Couchbase, kubernetes, Gitlab
Pulselive Ltd
Most prominent creator of web and mobile apps for sports organisations in the UK
London, UK (February 2016 – December 2017)
Worked on backend services for sports websites and mobile apps such as Premier League and World Rugby. The premier league mobile app had 5 million downloads and the website had equivalent traffic. We processed a real time data feed with all match events (goals, red cards, substitutions etc) and through our REST API we provided single events and aggregated stats for teams, players and competitions. I implemented push notifications and authentication. Dealt directly with product management, creative, front-end engineers and external partners
Tech stack: Java 8, Spring-Boot (MVC, Data, Batch, Security), MySQL, thrift, Docker, AWS (lambda, EBS, RDS), Linux, Git.
Pilotware Ltd
Ambitious but now defunct trading firm
London, UK (February 2015 – February 2016)
Led a small team of engineers and research scientists responsible for a service for Natural Language Processing. Service received text files like news articles in plain English and generated an XML document with info of interest like company acquisitions or speculation of commodity prices. An on-premises solution, so I came up with and implemented a message queues and pub/sub based architecture for load balancing and live updates without downtime. The team was mostly recent graduates, and I provided guidance on use of git, code quality and other aspects of developing in the context of a business rather than a university.
Tech stack: Java 8, CoreNLP, Maven, ActiveMQ, Linux, Git
Shadow Robot Company Ltd
Exquisite anthropomorphic robot hands for research purposes
London, UK (August 2013 – February 2015)
I designed and developed software for real-time control of anthropomorphic robots. PC-based control with sub-millisecond latency, requiring use of Linux API for pinning threads to CPU cores, real-time thread scheduling, locking memory at start up and other low-level stuff. This was implemented in C++, while Python was used for some coordination and monitoring tasks without low-latency requirements. I mostly worked on Shadow’s flagship product the Dexterous Hand and secondarily on RoNeX. I was involved in the Moley robot chef project, where I wrote the software that coordinated in real-time (1 KHz rate) the motion of 4 robots (2 hands and 2 arms). I proudly represented Shadow at Ros Kong 2014, including a lightning talk, but mostly engaging e.g. PhD students that showed up at our stand, while my colleague (a senior manager) would engage people with buying authority.
Tech stack: C++11, Python, ROS, Boost, Eigen, libuv, Pthreads, MongoDB, Linux, Github
Inos Automationssoftware GmbH
Computer vision guidance for robots used in the automotive and logistics industries
Athens, Greece — Stuttgart, Germany (April 2008 – August 2013)
I wrote software in C++ for PC-based robotic vision applications in the automotive industry. I worked in the “core” libraries integrating new hardware or other libraries in the robot control flow. I was involved in a quality inspection project for Mercedes E-Class cars (4 servers and +100 digital cameras). Involved in de-palletizing projects for Audi and USPS, both using laser scanners. Implemented copy-protection with USB dongles. Spent time on customers’ sites doing stakeholder management as well as debugging. Supported salespeople in sales pitches, providing input around the technical details of our products, and what features would require custom development.
Tech stack: C++03/11, Boost, PCL, MySQL, Qt, Git, Windows SDK.
Independent Contractor
PC based control software for heavy industrial machines
Volos, Greece (May 2004 – March 2008)
I designed and implemented bespoke software to control and monitor heavy industrial CNC machines. My software was a desktop application written in C++ that would communicate with the machine through a serial port and display 2D graphics in real-time, representing an object’s shape and the cutting tool’s path. I was self employed which naturally meant dealing with customers to agree requirements, rough timelines, and manage expectations. Projects included a 2D plasma cutter for metal sheets and a machine cutting and drilling large steel beams used in buildings.
Tech stack: C++03, wxWidgets, Windows SDK.
Education
MSc Mechanical Engineering University of Patras
Selected courses pertinent to control systems, statistics, time-series and robotics. Studied numeric methods for differential equations and nonlinear optimization. Master thesis: “Simulation and control of robotic manipulators with elastic links”. Wrote software in C++ to implement simulation and control algorithms. Heavy use of linear algebra and 3D transformations. Spent a lot of time manually optimizing code and even used profile guided optimization as provided by Visual C++.
Military Service
May 2003 - May 2004
Compulsory military service in the Greek Army. I was selected to serve as Sergeant in the Military Police, Most likely, by an SQL query that didn’t perform very well.