Nikolaos Sarris, Developer in Athens, Central Athens, Greece
Nikolaos is available for hire
Hire Nikolaos

Nikolaos Sarris

Verified Expert  in Engineering

Software Developer

Athens, Central Athens, Greece

Toptal member since June 22, 2020

Bio

Nikos has over nine years of experience assisting companies in breaking down monoliths and designing scalable microservices on Kubernetes. He is proficient in deploying these services using modern CI/CD pipelines and has extensive hands-on experience with data engineering best practices and in-depth knowledge of the AdTech domain. Nikos has a solid technical engineering background and a keen interest in high-performance computing and programming languages.

Portfolio

HelloFresh USA
Amazon Web Services (AWS), PySpark, RabbitMQ, MySQL, PostgreSQL, Python, Go...
iBOOD
Flask, PostgreSQL, RabbitMQ, Django, Odoo, Python, REST APIs, API Integration...
CapCloud
JavaScript, PostgreSQL, Django, Python, REST APIs, API Integration, APIs, HTML...

Experience

  • Git - 10 years
  • Python - 8 years
  • PostgreSQL - 5 years
  • Django - 3 years
  • RabbitMQ - 3 years
  • Docker - 3 years
  • Go - 2 years
  • Odoo - 1 year

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code)

The most amazing...

...application I've designed was a mobile tracking events microservice using Kotlin, Ktor, and Kafka, improving the visibility of marketing campaigns' performance.

Work Experience

Senior Software Engineer

2019 - 2024
HelloFresh USA
  • Designed and led the implementation of the communication settings extraction from the monoliths to a microservice written in Python/FastAPI, using domain-driven design and event sourcing.
  • Designed and led the implementation of an in-house mobile tracking events microservice, using Kotlin, Ktor, and Kafka, to improve the campaign performance visibility.
  • Developed and implemented the architecture of SMS campaigns, including in-house components integrated with communication vendors.
  • Was part of the on-call program, the hiring team leading system, and technical interviews.
  • Implemented numerous ETLs using PySpark, EMR, Airflow, Kafka, Glue Metastore, and more.
Technologies: Amazon Web Services (AWS), PySpark, RabbitMQ, MySQL, PostgreSQL, Python, Go, FastAPI, Apache Kafka, Kotlin, REST APIs, Google Sheets, API Integration, APIs, Google Sheets API, Automation, Python 3, Algorithms, Test-driven Development (TDD), Pytest, NumPy, Auth0, Authentication, Django REST Framework

Back-end Developer

2017 - 2018
iBOOD
  • Developed features related to logistics, finance, and customer care departments of the company by working extensively with the Odoo (formerly OpenERP) framework.
  • Designed and extracted part of the warehouse logic from the monolith framework into a new microservice written in Python/Flask.
  • Owned and maintained the service responsible for creating the content (translated in to four languages) of transactional emails and sending them out to customers.
Technologies: Flask, PostgreSQL, RabbitMQ, Django, Odoo, Python, REST APIs, API Integration, APIs, JavaScript, Python 3, HTML, Algorithms, Test-driven Development (TDD), Pytest, Authentication

Back-end Developer

2016 - 2018
CapCloud
  • Developed a public API for integration with clients.
  • Worked on optimization of the application with deep legacy code refactoring.
  • Implemented part of the front end when needed using Jinja templates, Bootstrap, and JavaScript.
Technologies: JavaScript, PostgreSQL, Django, Python, REST APIs, API Integration, APIs, HTML, Algorithms, Test-driven Development (TDD), Pytest, Auth0, Authentication, Django REST Framework

Experience

Compiling SAC for Xeon Phi Knights Corner and Knights Landing Architectures

Xeon Phi is the common brand name of Intel's Many Integrated Core (MIC) architecture. The first commercially available generation Knights Corner and the second generation Knights Landing form a middle ground between a modestly parallel desktop, and standard server processor architectures, and the massively parallel GPGPU architectures.

In this paper, I explored various compilation strategies for the purely functional data-parallel array language SAC (Single Assignment C) to support both MIC architectures in the presence of entirely resource- and target-agnostic source code. My particular interest lied in doing so with limited, or entirely without, user knowledge about the target architecture. The report lists a series of experiments involving two classical benchmarks, Matrix Multiplication, and Gaussian Blur, that demonstrate the level of performance expected from the compilation of abstract, purely functional source code to the Xeon Phi family of architectures.

This paper was based on my Master of Science degree thesis project and supported by my supervisor, who's contribution and support was invaluable.

Education

2013 - 2016

Master's Degree in Computer Science (High Performance Computing)

Vrije Universiteit of Amsterdam - Amsterdam, The Netherlands

2005 - 2012

Integrated Master's Degree in Electrical Engineering and Computer Science

National Technical University of Athens - Athens Greece

Skills

Libraries/APIs

REST APIs, Google Sheets API, PySpark, NumPy

Tools

Odoo, Git, RabbitMQ, Google Sheets, Pytest, Auth0, Apache Airflow, Terraform

Languages

Python, Python 3, Go, SQL, HTML, JavaScript, C, Kotlin

Frameworks

Django, Django REST Framework, Flask

Paradigms

ETL, Automation, Test-driven Development (TDD), Parallel Programming, High-performance Computing (HPC)

Storage

PostgreSQL, MySQL

Platforms

Docker, Kubernetes, AWS Lambda, Amazon Web Services (AWS), Visual Studio Code (VS Code), Apache Kafka

Other

API Integration, APIs, Back-end, Algorithms, Authentication, FastAPI, Electrical Engineering, Computer Science

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