Career

Python Engineer
Playtech | London, UK
06/2018 – Present
Job description:
Software engineer, in the events management team.
Technologies:
Back end Python (Tornado)
Front end Javascript, HTML, CSS
VCS GIT
Databases Oracle
Other Docker, Jenkins, Kubernetes

Software Engineer
Openbet | London, UK
10/2015 – 06/2018
Job description:
Software engineer, in the William Hill team.
Responsibilities:
Developing new products, features and functionality, as well as maintaining the existing ones. Full cycle development that includes Requirements capture, analysis, development, performance testing, Live and pre-production deployments, maintenance.
Sample Work:
  • Integration of several new streaming providers with the platform.
  • Load and performance testing for specific edge cases (i.e. Grand National).
  • Improvement of the legacy authentication system by introducing an intermediary Central Authentication Server (Redis) and a Java client (Spring Boot) responsible for communicating with the legacy modules.
  • Refactoring of the DB schema by re-organizing triggers and stored procedures to improve performance and scalability.
  • Investigation of a new process for automated deployments in pre-production servers (Jenkins, Git, Ansible).
  • Various front and back end tickets to introduce either new functionality or fixes for the existed.
Technologies:
Back end Tcl, Bash, occasionally Java and Python
Front end Javascript, HTML, CSS
VCS GIT, CVS
Databases Informix, occasionally postgreSQL
Other Docker, AWS, Jenkins, Artifactory

Graduate PS Consultant
Gresham Computing | London, UK
10/2014 – 8/2015
Job description:
IT Consultant providing assistance mainly on financial reconciliation systems and data analysis.
Responsibilities:
Provide timely consultation for problem resolution, manage financial reconciliations, generate Business Intelligence (BI) reports.
Sample Work:
  • Consulting on the correct usage of the product software.
  • Generate business intelligence reports based on financial reconciliations.
  • Develop small scale Java microservices for internal use such as:
    • File monitoring
    • Database statistics
Technologies:
Languages Java, Javascript
VCS GIT
Databases MySQL, Oracle
Other Excel, Eclipse BIRT

Education

MSc Computing Software Technology
Robert Gordon University | Aberdeen, UK
09/2014
Key Modules:
  • Object Oriented Programming (Java)
  • Relational Database Systems (SQL)
  • Interactive Systems Development
  • IT Infrastructure and Service Management (ITIL)
  • Intranet Systems (HTML, PHP, JavaScript)
  • Software Project Engineering
Master Thesis:

Lego NXT robotics:
Investigating the capabilities of Lego NXT robots. Exploring the NXT potentials by designing an autonomous robot (LeJOS - Java), able to interact with a user via the computer and perform a number of tasks.


BSc School of Mathematics
Aristotle University of Thessaloniki | Greece
09/2013
Key Modules:
  • Algebra Advanced
  • Statistics
  • Programming Languages
  • Operational Research
  • Probabilities
  • Geometry

Skills

Communication
  • Being part of one of the biggest teams in Openbet (William Hill), helped me take my communication skills to the next level and enhanced my confidence in working on a multicultural environment.
  • Having worked as a graduate Professional Services consultant allowed me to develop strong communication and client facing skills through constant calls and face to face meetings.
Team Working and Leadership
  • Working as a member of a team of ninety people and also having to collaborate with remote departments allowed me to improve my professional communication skills.
  • Being assigned as a mentor for several new members in Openbet, equipped me with stronger leadership skills.
  • International collaboration with the Bangalore Institute of Technology in India during my MSc Project Engineering module, gave me and my team the opportunity to cooperate, organize and work as productive members of a cohesive software development team. Using the Scrum process was the main objective of the module.
Time management, Organizational skills
  • Gaining the trust of my project managers and dev leads gave me the chance to be assigned the full responsibility of projects and practice my organizational skills to manage and deliver quality products in time.
  • Strong organizational skills were developed during my one-year experience as a graduate IT Consultant. Tight deadlines made it necessary to improve my time management techniques.
Languages
  • Greek (native speaker)
  • English (fluent)

Certificates

  • Functional programming principles in Scala (Coursera online course - 08/2016)
  • Java development (Eduonix online course - 08/2015)
  • IELTS Certificate (2013)

Projects

Garmin MyBus application
Description:
This is a Garmin watch application that helps you keep track of the bus arrivals on your nearest bus stops.

It currently works only for London as it makes use of the TFL's unified API that can be found here. The application is using the internal GPS of the watch to pick up your current location. It then makes two requests to TFL's endpoints:
  • The first request returns the bus stops within a radius (selected by the user) of your location.
  • The second request returns the buses and their prediction times for the stop that you select.
Acknowledgements:
This application is Powered by TfL Open Data and contains OS data © Crown copyright and database rights 2016
Technologies:
Garmin Connect IQ language Monkey C
APIs TFL's Unified API

Release Plan Generator
Description:
This application was designed to serve as a deployments pipeline by generating a release plan for a specific environment set up.

In a word that has already beed taken over by automated deployments and sophisticated pipelines this approach does seem odd and unrealistic, so you better look for a modern alternative! If you are however stuck in a situation (like myself) where updating your pipelines and making your lives easier is not an option, then I hope you might find it useful.
Technologies:
Backend Python (3.0.0)

Duplicates scanner
Description:
This is a package that provides functionality to scan a directory tree and identify files with identical content. The comparisson is done using MD5 checksums, thus the filenames are not taken under consideration.
Technologies:
Backend Python (3.4.0)

Django Website
Description:
This project was an attempt to design a website related to homelessness in UK. My main motive, apart from teaching myself Python/Django, was to create a portal that could potentially alert people about the daily issues the local homeless communities face and maybe propose solutions that could eventually help people who find themselves in such difficult life situations.

I have stopped working on this project indefinitely since I realised that getting into the trouble of designing such a simple website with Python might not worth the effort. Could be easily created using technologies such like Wordpress or Anvil elliminating most of the security risks, deployment and version update headaches.

The project now serves only as part of my github portfolio and also as a cheatsheet for any potential future projects related to Django.
Technologies:
Web framework Django (1.11.1)
Backend Python (3.5.0)
Front end Javascript/jQuery, Bootstrap
Databases PostgreSQL
Demo:

Spareroom Scraper
Description:
A web scraper that performs an advanced search in Spareroom and returns a list of results. It reads a configuration file and generates a payload to be used for scraping the spareroom endpoints. (Not finished yet)
Technologies:
Backend Python (3.5.0), Beautiful Soup 4 (4.6.0), Pytest (3.2.3)