Software Architect and Engineer2020 - PRESENTINTRASOFT International
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
- 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.
Solution Architect and Full-stack Developer2019 - 2020CAST, 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.
- 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.
Solution/Software Architect and Engineer2017 - 2020ViaBill
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
- 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.
Software Architect and Engineer2013 - 2017Trasys International
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
- 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.
Senior Software Engineer2007 - 2013CSS
- 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.
Software Analyst, Architect, and Engineer2005 - 2013Freelance
- 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.
Software Engineer2001 - 2005MAT
Technologies: C, Full-stack, C++
- 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.