Dionysios Efstathiou

Software Engineer

Passionate about developing, deploying and maintaining software products. I always aim at using the right tools for automating processes and improving development experience. I am a fan of the motto "if you need to do it at least twice, automate it".

Phone: 07706500927
Address: 44 - 50 Abbey Road, IG11 7SA, Barking, London
Website: http://dionysios.co.uk/
Email:

Experience

Expedia

Software Engineer

August 2019 - Present

I am a member of a team responsible for designing, developing and maintaining back-end microservices for optimising the revenues for Expedia Partner Solutions. I use daily Java, Spring, Micronaut, Spock, Mockito, WireMock, JIRA, Confluence, Splunk and AWS cloud services such as EC2, ECS, Cloud Formation, S3, Load Balancers, Serverless Functions (Python/NodeJS) and others. I work using Scrum and take part in all the ceremonies such as planning, refinement, retrospective, review and daily scrum. In terms of CI/CD tooling I use among others Jenkins, Bamboo, Git, GitHub, Gradle, SonarQube and Docker. 

One of my biggest achievements was driving my team's AWS infrastructure costs down at a rate of 70-80% by identifying, proposing and implementing optimisations and migrations for improving the cost-efficiency of our services. I also communicated good practices, motivated and took part into implementing those in teams within and outside my tribe's boundaries. 

Capital One

Software Development Engineer

March 2019 - August 2019

Worked in a scrum team of 8 engineers responsible for the development of RESTful back-end micro-services deployed on Amazon Web Services for supporting complex customer service systems. I am responsible for improving the quality of the software services under development and testing and for promoting the automation of their testing, deployment and release process. I worked daily with Java, Spring, JUnit, Mockito, Cucumber, WireMock, Jenkins, IntelliJ, macOS, Amazon Web Services such as EC2, S3 and Lambda.

Alfa (formerly CHP Consulting)

Senior Software Engineer

September 2014 - February 2018

In my last role I was member of a team responsible for continuous integration and improving development processes within Alfa. I was responsible for upgrading our integration test framework for automated functional testing and providing support for detecting and reacting to performance regressions. I provided various optimisations improved which reduced the total run time of the 2,500 integration tests suite by 20%. I also took part in an internal migration project to automatically converting more than 250 Java modules built by Ant (and Ivy for dependency management) to be able to built and managed by Maven. I worked with Java, Guice, JUnit, Mockito, Selenium, Bamboo, Oracle, MySQL, Linux/Unix, Jetty, JBoss EAP, Tomcat, JMS, JMX, REST, SOAP and use day-to-day Eclipse, SVN, Jira, FishEye, JProfiler, Docker, Maven, Ant and Ivy.

In a previous role, I have been responsible for the technical architecture and application management of the Alfa Systems application for the needs of supporting a European client. The role involved setting up the technical infrastructure for continuous deployment, testing and releasing the Alfa Systems application to the client along with the development of client enhancements. 

In another role, I was the technical lead on a migration project which involved the development, bug fixing, performance improvements and carrying out releases of the migration application for transforming the legacy system data to Alfa Systems.

In the past, I also helped a Scandinavian client during UAT and I was involved in the analysis of defects, communicating findings to the business and developing fixes. I have also picked up technically challenging performance issues in various functional areas.  I have worked in a development team of 4 people within a wider project development stream following an Agile development process focusing on test-driven development. 

King's College London

Marie Curie Fellow

September 2011 - August 2014

Participated in a European research project with leading  Software Engineering universities across multiple countries and got exposed to the latest technologies, platforms and tools in the area of engineering and provisioning of service-based cloud applications. 

I used Java, Linux Scripting, R, Amazon EC2, Latex and Eclipse while I had the chance to prepare research publications, perform presentations and present research results in international conferences and workshops.

Computer Technology Institute

Research and Development Engineer

June 2010 - August 2011

Algorithmic and test-bed implementation on Internet on Things networks. I published 10 research papers in peer-reviewed international conferences and workshops.

Education

King's College London

Doctor of Philosophy (PhD), Informatics

2011 - 2014

Machine learning techniques and optimisation algorithms implemented in a Java-based research prototype which interacted with R statistical environment and used Amazon EC2 to perform scalable experiments.

Computer Engineering & Informatics

MSc, University of Patras

2009 - 2011

Design, analysis and test-bed implementation of algorithmic solutions. 

Degree: 9.52/10 (Top 5% of my class).

Computer Engineering & Informatics

Diploma, University of Patras

2004 - 2009

Algorithmic design and simulation of adaptive protocols. 

Degree: 8.24/10 (Top 10% of my class).