Christos Tsakostas, Developer in Athens, Central Athens, Greece
Christos is available for hire
Hire Christos

Christos Tsakostas

Verified Expert  in Engineering

Web Applications Developer

Location
Athens, Central Athens, Greece
Toptal Member Since
October 13, 2020

Christos architects and implements software solutions that help businesses grow and succeed. His greatest expertise is solving problems efficiently by combining knowledge from a diversity of fields and technologies. He has worked for numerous clients and industries including startups and enterprise organizations. Bolstered by a master's degree in electrical and computer engineering, he's been professionally developing full-stack software since 2001.

Portfolio

iptiQ Life
Java, Spring, Apache Kafka, Amazon Web Services (AWS), Team Mentoring, REST
Netcompany-Intrasoft
Back-end, APIs, Back-end Development, Server Sent Events (SSE)...
CAST
Back-end Development, Solution Architecture, Continuous Integration (CI)...

Experience

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), GitLab, IntelliJ IDEA, MacOS

The most amazing...

...thing I've done is help a startup fintech company grow and expand to new markets by transforming a legacy system into a microservice-based one with DDD.

Work Experience

Java and Spring Technical Lead

2021 - PRESENT
iptiQ Life
  • Reduced the AWS costs of Amazon DocumentDB with MongoDB compatibility by around 95 times by compressing huge quotes of around 10MB down to about 0.1MB.
  • Organized and contributed to the automatic creation of insurance product configurations that were previously manual, saving hundreds of hours and thus costs.
  • Implemented a Markov-Chain model in Java to calculate present value used in premiums calculations.
Technologies: Java, Spring, Apache Kafka, Amazon Web Services (AWS), Team Mentoring, REST

Software Architect and Engineer

2020 - 2021
Netcompany-Intrasoft
  • Implemented a RESTful Java client as a microservice based on the Hyperledger Fabric blockchain for the registration of trademarks. The client was the European Intellectual Property Office.
  • Implemented a microservice for shortening long URLs into six characters based on a given corpus. The adaptive algorithm automatically increases the number of characters required for the path as soon as the current limit is exhausted.
  • Contributed to the project GIView for the geographical indication of products. The client was the European Intellectual Property Office.
  • Improved the user experience by generating server-sent events, rendered at the UI as a vertical timeline of trademark changes in real time whenever a trademark was added or updated. The client was the European Intellectual Property Office.
Technologies: Back-end, APIs, Back-end Development, Server Sent Events (SSE), Continuous Deployment, Continuous Integration (CI), Continuous Development (CD), Architecture, REST APIs, RESTful Development, Mockito, JUnit, Back-end Architecture, Confluence, Jira, Apache Maven, Git, MongoDB, Java, Docker, Kubernetes, Web Applications, Team Mentoring, CQRS, Microservices, Spring Boot, React, REST

Solution Architect and Full-stack Developer

2019 - 2020
CAST
  • Continued the development of the company's Drupal website, which was initiated by another vendor. Fixed several bugs in the initial implementation and implemented change requests according to the client's requirements.
  • Adjusted according to the client's requirements the Drupal theme, which was based on Bootstrap 4, SCSS, and jQuery.
  • Proposed, designed, and developed a Java application called Staticfy for converting a Drupal website into a static one. This means increased performance, better security, and lower hosting costs for the client.
  • Developed a Drupal module for search capabilities in the static site. Drupal's search capability is based on PHP. Since PHP code cannot be executed in a static site, the alternative was implementing search functionality with Ajax and JavaScript.
  • Set up a SORL server at an AWS EC2 instance required for the search functionality of the website.
  • Developed a Drupal module for handling the submission form of user requests. The submitted data are sent via jQuery and Ajax to the AWS Gateway API, which calls an AWS Lambda function. The function sends a confirmation email to the user and client.
  • Architected and implemented the whole infrastructure at AWS with Terraform. This work included the following services: S3, CloudFront, Route53, EC2, SES, ACM, KMS, EFS, API Gateway, Lambda, and DynamoDB.
  • Architected and implemented GitLab pipelines for deployment at the content environment, execution of Staticfy and deployment to the staging environment, and deployment to the production. The client handles deployment at will.
Technologies: Back-end Development, Solution Architecture, Continuous Integration (CI), Continuous Deployment, Continuous Development (CD), Node.js, Architecture, Serverless, API Integration, Content Management, Scraping, Web Scraping, Web Development, Full-stack, Packer, Amazon API Gateway, Amazon Simple Email Service (SES), jQuery, GitLab CI/CD, GitLab, Amazon EC2, Ajax, SCSS, Bootstrap, Java, Amazon Route 53, Amazon Web Services (AWS), Terraform, Amazon S3 (AWS S3), Amazon DynamoDB, AWS Lambda, CSS, JavaScript, HTML5, Drupal, REST

Solution and Software Architect and Engineer

2017 - 2020
ViaBill
  • Architected a microservices infrastructure and implemented libraries for asynchronous communication of microservices based on domain events.
  • Designed and implemented the integration to the Stripe payment gateway for online payments during checkout and offline recurring charging of installments.
  • Analyzed, designed, developed, and tested, in close cooperation with the lawyers of the company, a microservice for GDPR compliance.
  • Developed a REST API for the checkout UI used in the USA and Spain.
  • Applied CQRS and developed projections for feeding data to the machine learning algorithms developed by the business analytics department.
  • Participated in business workshops and contributed to business decisions related to the company's products.
  • Mentored several senior developers and introduced them to the philosophy of domain-driven design (DDD).
  • Turned a legacy monolithic system into a modern microservices-based one with significant enhancements in architecture, codebase structure, and processes.
  • Developed a web scraper to retrieve messages in the dead letter queues from the ActiveMQ web console by parsing the HTML code. The scraped data were shown on the administration UI, and administrators were able to replay the messages at will.
  • Integrated the core engine with external providers for phone number validation and credit card info verification.
Technologies: Systems Analysis, Integration, Back-end, APIs, Object-oriented Programming (OOP), Solution Architecture, Financial Modeling, Back-end Development, Technical Leadership, Continuous Integration (CI), Continuous Deployment, Continuous Development (CD), Architecture, Hibernate, REST APIs, Financial Services, Mockito, JUnit, Back-end Architecture, API Integration, Confluence, Jira, Git, Amazon Web Services (AWS), Web Scraping, Scraping, Payment Security, Payment APIs, Card Payments, Payment Gateways, Fintech, Java, Docker, Web Applications, Cucumber, ActiveMQ, Stripe Payments, Team Mentoring, CQRS, Microservices, Domain-driven Design (DDD), MariaDB, Apache Camel, Spring Boot, REST

Software Architect and Engineer

2013 - 2017
Trasys International
  • Architected, designed, and implemented an asynchronous messaging system that supports the handling of XML messages sent by cooperating parties for safety reports of clinical trials. My client was the European Medicines Agency.
  • Analyzed and developed a set of modules for Tractebel's Power System Analysis Platform related to energy and infrastructure projects.
  • Architected and designed structures for the CHESAR software application system. Participated in discussions with the domain experts and implementation of models for the chemical assessment of substances. My client was the European Chemicals Agency.
Technologies: Back-end, APIs, Object-oriented Programming (OOP), Back-end Development, Technical Leadership, Continuous Development (CD), Architecture, REST APIs, PostgreSQL, Mockito, JUnit, Back-end Architecture, API Integration, Confluence, Jira, Apache Maven, Git, Team Leadership, Docker, Web Applications, Apache Camel, Spring Boot, Spring, Java, REST

Senior Software Engineer

2007 - 2013
Custom Software Solutions
  • Architected and participated in the development of the back-end system for Western Union Greece. Integrated the core system with the central system of Western Union in the USA for the execution and management of money transfer transactions.
  • Developed a plethora of front-end applications supporting the back end of Western Union Greece.
  • Built a web application for the management of advertisements in the annual magazine of ICAP.
  • Contributed to the new e-banking system for the National Bank of Greece.
Technologies: Systems Analysis, Integration, Back-end, Object-oriented Programming (OOP), Financial Modeling, Back-end Development, Technical Leadership, Continuous Development (CD), Hibernate, Financial Services, Apache Tomcat, SQL, Spring MVC, Jakarta Server Pages (JSP), Back-end Architecture, Team Leadership, Web Development, Full-stack, MySQL, JavaScript, CSS, jQuery, Fintech, Web Applications, Java, Spring

Software Analyst, Architect, and Engineer

2005 - 2013
Freelance
  • Contributed to the development of an application for loan application management. My client was Eurobank.
  • Developed software for research projects related to audio. The client for this project was Ionian University in Greece.
  • Built software for research projects related to e-learning. My client was the National and Kapodistrian University of Athens.
  • Created an application processing XML files to produce the daily program of TV channels for On Telecoms.
  • Wrote an application for the evaluation of olive oil. My client was Rodax Agro.
Technologies: Hibernate, SQL, Spring MVC, JSF, Jakarta Server Pages (JSP), Apache Tomcat, Ajax, jQuery, CSS, HTML, JavaScript, Web Applications, Spring, Java

Software Engineer

2001 - 2005
Mat
  • Developed a Windows printer driver for electronic signature devices.
  • Built an application for the management of orders in restaurants.
  • Created an application for coding, decoding, and transfer of audio and video in real time.
Technologies: C, Full-stack, C++

The Trinity Architecture

https://medium.com/oregor/the-trinity-architecture-c89ed5743c1e
Proposed the Trinity Architecture, an architectural pattern for back-end enterprise applications. It emanates from a typical four-layer architecture employing the dependency inversion principle (DIP). It is ideal for, but not limited to, domain-driven design applications.

Staticfy: A Static Generator for Dynamic Websites

https://www.cast-inc.com/
Developed an application for converting a dynamic website into a static one. One can keep using their favorite CMS, including Drupal, WordPress, and more, for content management and convert the server-based site into a serverless one. This means increased performance, improved security, and lower costs with the benefits of a static site. The application can additionally identify errored links and create archive snapshots. An example of Staticfy applied to a Drupal website can be seen on CAST's website.

Polyfono: Chrome Extension for Audio Plugins in the Web Browser

https://polyfono.com/
Architected and developed an audio plugin host as a chrome extension. The extension elevates the sound experience by adjusting the sound of the web browser using special audio plugins and effects such as EQ, dynamics compressor, and virtual surround. It leverages multiple instances per plugin, which can be dynamically connected as desired.

Direct link to Polyfono chrome extension: https://chrome.google.com/webstore/detail/polyfono-beyond-web-audio/ddfmaafkofhfomabgnlgegmecbabidgb

A presentation of the extension's architecture: https://www.slideshare.net/ChristosTsakostas/architecting-an-audio-plugin-host-as-web-extension

An article related to Web Audio API used in the chrome extension: https://medium.com/@tsakostas/web-audio-api-in-4%C2%BD-figures-89ae9f872e9e

ARIA-3D: Chrome Extension & Web Player for 3D Sound Within a Web Browser

https://aria3d.com
Created a web media player and a chrome extension transforming regular stereo into immersive 3D sound, within a typical web browser. ARIA-3D is a proprietary creation combining knowledge from several fields such as mathematics, digital signal processing, psychoacoustics, domain-driven design, architectural design best practices, asynchronous processing, and tools such as C++, Angular 6, Material Design, Java, Camel, Spring Boot, and Docker.

Medium article: https://medium.com/aria3d/virtual-surround-sound-for-two-speakers-with-aria-3d-4ad167b7c054

Conference paper: https://www.researchgate.net/publication/308889995_Novel_Binaural_and_Transaural_Rendering_within_the_Browser

Paradigms

Back-end Architecture, Continuous Development (CD), Object-oriented Programming (OOP), Microservices, CQRS, Continuous Integration (CI), RESTful Development, REST, Continuous Deployment, DevOps

Other

Domain-driven Design (DDD), Software Architecture, Web Applications, Ajax, Full-stack, Web Scraping, Team Leadership, API Integration, Architecture, Technical Leadership, Back-end Development, APIs, Back-end, Mentorship & Coaching, Mentorship, Team Mentoring, Stripe Payments, Amazon Route 53, Fintech, Payment Gateways, Card Payments, Payment APIs, Payment Security, Web Development, Scraping, Content Management, Serverless, Chrome Extensions, Material Design, Financial Services, Audio, Visualizer, Solution Architecture, Financial Modeling, Integration, Systems Analysis, Communication, Coaching, Amazon API Gateway, DSP, Server Sent Events (SSE)

Languages

Java, HTML5, JavaScript, CSS, SCSS, HTML, TypeScript, SQL, C, C++

Frameworks

Spring, Spring Boot, Redux, Jakarta Server Pages (JSP), Spring MVC, Angular 6, Apache Camel, Angular, Bootstrap, JUnit, Mockito, JSF, Hibernate

Libraries/APIs

Web Audio API, REST APIs, React, jQuery, Node.js

Tools

Emscripten, GitLab, Amazon Simple Email Service (SES), Git, Apache Maven, Apache Tomcat, ActiveMQ, Cucumber, Terraform, Packer, GitLab CI/CD, Jira, Confluence

Platforms

AWS Lambda, Amazon Web Services (AWS), Amazon EC2, Drupal, Kubernetes, Docker, Apache Kafka

Storage

Amazon DynamoDB, Amazon S3 (AWS S3), MariaDB, MongoDB, MySQL, PostgreSQL

1998 - 2001

Ph.D. Candidate and Researcher in Acoustics

Ruhr University - Bochum, Germany

1992 - 1998

Master's Degree in Electrical and Computer Technology Engineering

University of Patras - Patras, Greece

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring