Christos Tsakostas, Software Architecture Developer in Athens, Central Athens, Greece
Christos Tsakostas

Software Architecture Developer in Athens, Central Athens, Greece

Member since September 29, 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.
Christos is now available for hire

Portfolio

  • INTRASOFT International
    Back-end, APIs, Back-end Development, Server Sent Events (SSE)...
  • CAST, Inc.
    Back-end Development, Solution Architecture, Continuous Integration (CI)...
  • ViaBill
    Systems Analysis, Integration, Back-end, APIs...

Experience

  • Java 15 years
  • Web Applications 13 years
  • Software Architecture 13 years
  • Domain-driven Design (DDD) 10 years
  • Team Leadership 7 years
  • Microservices 7 years
  • Fintech 6 years
  • Payment Gateways 6 years

Location

Athens, Central Athens, Greece

Availability

Part-time

Preferred Environment

Amazon Web Services (AWS), 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.

Employment

  • Software Architect and Engineer

    2020 - PRESENT
    INTRASOFT International
    • 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 algorithm is adaptive and 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, RESTful APIs, Mockito, JUnit, Back-end Architecture, Confluence, Jira, Maven, Git, MongoDB, Java, Docker, Kubernetes, Web Applications, Team Mentoring, CQRS, Microservices, Blockchain, Spring Boot
  • Solution Architect and Full-stack Developer

    2019 - 2020
    CAST, Inc.
    • Continued the development of the company's Drupal website, which was initiated by another vendor. Fixed several bugs of 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 to implement 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 Amazon Web Services (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. Deployment is handled by the client, 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, AWS API Gateway, AWS SES, jQuery, GitLab CI/CD, GitLab, Amazon EC2, Ajax, SCSS, Bootstrap, Java, AWS Route 53, Amazon Web Services (AWS), Terraform, Amazon S3 (AWS S3), AWS DynamoDB, AWS Lambda, CSS, JavaScript, HTML5, Drupal
  • Solution/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 the 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, AWS, Docker, Web Applications, Cucumber, ActiveMQ, Stripe Payments, Team Mentoring, CQRS, Microservices, Domain-driven Design (DDD), MariaDB, Apache Camel, Spring Boot
  • 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, Maven, Git, Team Leadership, Docker, Web Applications, Apache Camel, Spring Boot, Spring, Java
  • Senior Software Engineer

    2007 - 2013
    CSS
    • 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 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, 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 National and Kapodistrian University of Athens.
    • Created an application processing XML files in order 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, 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++

Experience

  • 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://staticfy.com

    Developed an application for converting a dynamic website into a static one. One can keep using their favorite CMS (Drupal, WordPress, etc.) for content management and yet 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 at the website of Cast, Inc. (https://www.cast-inc.com).

  • 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

Skills

  • Paradigms

    Back-end Architecture, Continuous Development (CD), Object-oriented Programming (OOP), Microservices, CQRS, Continuous Integration (CI), RESTful Development, 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, Team Mentoring, Stripe Payments, AWS Route 53, Fintech, Payment Gateways, Card Payments, Payment APIs, Payment Security, Web Development, Scraping, Content Management, Serverless, RESTful APIs, Chrome Extensions, Material Design, Financial Services, Audio, Visualizer, Solution Architecture, Financial Modeling, Integration, Systems Analysis, Communication, AWS, AWS API Gateway, DSP, Server Sent Events (SSE)
  • Languages

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

    Spring, Spring Boot, Redux, JSP, Spring MVC, Apache Camel, Angular, Bootstrap, JUnit, Mockito, JSF, Hibernate
  • Libraries/APIs

    Web Audio API, REST APIs, jQuery, Node.js
  • Tools

    Emscripten, GitLab, AWS SES, Git, Maven, Apache Tomcat, ActiveMQ, Cucumber, Terraform, Packer, GitLab CI/CD, Jira, Confluence
  • Platforms

    AWS Lambda, Amazon Web Services (AWS), Amazon EC2, Drupal, Kubernetes, Docker
  • Storage

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

Education

  • Ph.D. Candidate and Researcher in Acoustics
    1998 - 2001
    Ruhr University - Bochum, Germany
  • Master's Degree in Electrical and Computer Technology Engineering
    1992 - 1998
    University of Patras - Patras, Greece

To view more profiles

Join Toptal
Share it with others