X6p1helygxtgmme2avix

Dimos Botsaris

Lead Software Engineer. Co-founded @ 23'. I love JavaScript, Typescript and Rust, interested in DevOps and blockchain. Crazy about web and mobile applications, and blockchain.

Lead Software Engineer; Software Architect;
Thessaloníki, GR

[email protected]

+30 697 9083234



Experience


Lead Software Engineer; Software Architect; @Portals.fi, November 2022 - present

  • Responsibilities: Backend Development, Software Architecture, DevOps, Automated Testing, Code Review, CI/CD

  • Stack: Rust, Actix.rs, TypeScript, Node.js, PostgreSQL, NestJS, Redis, Kafka, KStreams, KSQL, Debezium, AWS, Docker, Kubernetes, Terraform, Blockchain, Serveless, Github Actions, Event-driven, Microservices

  • Tools: Git, Slack, 12 Factor


Main Projects Developed:

  1. Portals.fi API: A RESTful API, designed to process client requests for perfoming token swaps, liquidity aggregations, stake built using NestJS and Typescipt
  2. Portals.fi Blockchain Indexer: An ETL service for blockchain data to retrieve events, emit them via Kafka and store them in data warehouse, to be consumed by downstream services to calculate account balances, token's prices built using Rust.


Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Lead Software Engineer; Software Architect; @Arconsis, January 2021 - November 2022

  • Responsibilities: Backend Development, Frontend Development, Software Architecture, DevOps, Automated Testing, Code Review, CI/CD

  • Stack: JavaScript, TypeScript, Node.js, Kotlin, Quarkus, PostgreSQL, Hibernate, Redis, Kafka, KStreams, KSQL, Debezium, AWS, Amazon EC2, Amazon VPC, Amazon Lambda, Amazon API Gateway, Amazon SQS, Amazon SNS, Amazon EKS, Docker, Kubernetes, Terraform, Mocha, Chai, Sinon, Jenkins, Microservices, OAuth2.0

  • Tools: Git, Slack, 12 Factor


Main Projects Developed:

  1. Adidas Retail API:  A RESTful API for Adidas which works as BFF API Gateway to handle requests from new Adidas retail app (native app used on Adidas retail stores), handling authentication / authorization, built on Quarkus, Kotlin, PostgreSQL, AWS, Kafka, Docker, Kubernetes.
  2. Adidas Checkout API: Enriched Adidas checkout API to support payments for Adidas Retail app, using terminals via Adyen built on Node.js, PostgreSQL, AWS, Docker, Kubernetes.


Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Lead Backend Engineer; Software Architect; @Limbic AI, January 2019 - January 2021

  • Responsibilities: Backend Development, Frontend Development, Software Architecture, DevOps, Automated Testing, Code Review, CI/CD

  • Stack: JavaScript, TypeScript, Node.js, ExpressJS, React.js, GraphQL, Apollo, PostgreSQL, Redis, Apache Kafka, AWS, Amazon VPC, Amazon ECS, Amazon EC2, Amazon Fargate, Amazon SNS, Amazon API Gateway, Amazon Lambda, Amazon Kinesis, Amazon DynamoDB, Amazon Redshift, Docker, Terraform, Serveless, Puppetter, Heroku, Mocha, Chai, Sinon, Supertest, Karma, Jasmine, CircleCI, Github Actions, Papertrail, Sentry, Instana, Event-driven, Microservices, OAuth2.0

  • Tools: Git, Slack, 12 Factor


Main Projects Developed:

The back-end architecture is built using microservices, using API Gateway pattern and event driven as internal communication.

  1. Limbic API GW A GraphQL API which works as API Gateway to handle requests from dashboards and mobile apps and route them to Limbic microservices built on Node.js, ExpressJS, Apollo, PostgreSQL, AWS, Docker.
  2. Dashboard: Parts of the Limbic therapist's dashboard built on React.js and Apollo which is being used to analyse all data collected via patient mobile app, make it easy to identify patterns in thoughts, feelings and behaviour.
  3. Real-Time Streaming Data API : A real time API to collect data from mobile apps like accelerometry, heartbeat, location and gestures, process them using AWS Kinesis and store them to AWS S3 / Redshift and AWS DynamoDB to analyze further.
  4. NHS API Gateway : A RESTful API which works as gateway to handle requests to register patients for IAPT / NHS services.
  5. Microservices Node.js services and and FaaS (built on Amazon Lambda) to analyze collected data, predict human emotion, send push-notifications to clients, handle user's authentication / authorization, using event driven as internal communication, in order to build a scalable emotion tracking system via continuous physiological signals from consumer wearables and support the main API.



Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Lead Software Engineer @ Socius, February 2016 - January 2019

  • Responsibilities: Backend Development, Frontend Development, Software Architecture, DevOps, Automated Testing, Code Review, CI/CD

  • Stack: JavaScript, Node.js, ExpressJS, React.js, Redux, AngularJS, Golang, GraphQL, Apollo, PostgreSQL, Couchbase Server, Redis, Socket.IO, Google Cloud, Google Cloud Pubsub, Google Cloud Functions, AWS, AWS SNS, AWS Lambda, Serveless, RabbitMQ, BigQuery, Docker, Auth0, Mocha, Chai, Sinon, Supertest, Gulp, Grunt, Karma, Jasmine, TravisCI, Papertrail, Sentry, New Relic, Event-driven, Microservices,

  • Tools: Jira, Git, Slack, 12 Factor, Google Material Design, Mixpanel, GA


Main Projects Developed:

The back-end architecture is built using micro services, using API Gateway pattern and event driven as internal communication.

  1. SoLo API GW: A RESTful API to advertise with top national and local news sites as easily as promoting a post on Facebook, built on Node.js, ExpressJS, PostgreSQL, Google Cloud, Docker.
  2. SoLo Dashboard: The SoLo customer's dashboard is being used to create an advertisement with one click from your Facebook page, developed with ReactJs and Redux.
  3. SoLo Microservices : Independent components and FaaS using Google Cloud Functions, built on Node.js and Golang to handle customer's payments, push notifications, user's authentication and support API and using Gcloud PubSub as internal communication.
  4. CDA API GW : A GraphQL API, built on Node.js, ExpressJS, Couchbase, Docker, Redis and AWS to work as API Gateway and route the requests from CDA Dashboard to CDA micro services.
  5. CDA Dashboard : The customer's dashboard developed with AngularJS.
  6. CDA Microservices : Node.js services and FaaS using Amazon Lambda to collect data from social network based on tags, analyze them, create a steady stream of content online, and push it to customer's page.



Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Freelancer Full Stack Engineer @ Wetaxi, January 2015 - February 2016

  • Responsibilities: Backend Development, Frontend Development, Software Architecture, DevOps, Code Review

  • Stack: JavaScript, Node.js, ExpressJS, AngularJS, MongoDB, Redis, AWS, DigitalOcean, Mocha, Chai, Sinon, Supertest, Angular Material, Gulp, Karma, Jasmine, CircleCI, Papertrail, New Relic, Stripe, Paypal

  • Tools: Jira, 12 Factor, Google Material Design, Git, Mixpanel, GA

Main Projects Developed:
  1. Wetaxi API: Wetaxi RESTful API to support dashboard to the closest taxi and book a ride, built on Node.js, ExpressJS, MongoDB, Redis, and AWS.
  2. Wetaxi Dashboard: The Wetaxi customer dashboard to book a taxi ride developed with AngularJS.
  3. Wetaxi Checkout API: Wetaxi API to handle user's payments when books a taxi ride, built on Node.js, ExpressJS, MongoDB, Redis, Stripe and AWS.


Experiences 00 00@2x 504900dc09d82f711fdb54cf5763251cab5193a844856da978b2b8f3907ecd5a

Full Stack Engineer; Co-Founder @ 23', September 2014 - April 2017


  • Responsibilities: Backend Development, Frontend Development, Software DevOps, iOS Application, UI/UX Design, Landing Page, Web Prototype, Business Development
  • Stack: JavaScript, Swift, iOS, Node.js, ExpressJS, AngularJS, MongoDB, Redis, Socket.IO, AWS, Heroku, Memcached, RabbitMQ, Docker, Mixpanel, Polymer
  • Tools: Sublime, Xcode, 12 Factor, Google Material Design, Apple Human Interface Guidelines, Jira, Git


Main Projects Developed:

  1. Web Prototype: 23' web application prototype (SPA), built on AngularJS.
  2. iOS Application: 23' iOS app, developed using Swift.
  3. API: A Node.js API to handle requests from mobile apps, built with Node.js and ExpressJS, served at Heroku.
  4. Chat server: A Node.js socket.io implementation, in conjunction with Redis, serving as the chat service for the app users.



Experiences 00 01@2x 6daa47d1df70d315f129dcecdd562003831581c4cdd8f9c819aa22d4a24ae150

Full Stack Engineer @CERTH - ITI, December 2013 - September 2014


  • Responsibilities: Backend Development, Frontend Development, Software Architecture, Embedded Systems Architecture, UI/UX Design
  • Stack: JavaScript, Node.js, ExpressJS, MongoDB, PhoneGap, Bootstrap, HTML5, CSS3, jQuery, Embedded C, Microcontrollers, Arduino
  • Tools: Sublime, 12 Factor


Main Projects Developed:

  1. Participation in "ECOBUILDING" program: Occupant Aware Optimization of Energy Efficient Enterprise Buildings. My main responsibility was to perceive the state of the environment using sensors and Kinect cameras and act upon the environment using device controllers and micro controllers. ( http://www.iti.gr/iti/projects/ECOBUILDING.html)
  2. Participation in "IPv_Park" program: Occupant Aware Optimization of Energy Efficient Enterprise Buildings. My main responsibility was to perceive the state of the environment using sensors and Kinect cameras and act upon the environment using device controllers and micro controllers. ( http://www.iti.gr/iti/projects/ECOBUILDING.html)
  3. School Bus Android application development: Bus driver dynamic navigation, Real-time notifications for drivers and guardians, Real-time bus observation provided to the guardian.



Experiences 00 01@2x 6daa47d1df70d315f129dcecdd562003831581c4cdd8f9c819aa22d4a24ae150

Side Projects

Projects 00 00@2x 25de285f43c486b5a0ddc099900a08387ad7a27243b9ba95b25d3665ee9775ae

throw-http-errors

Npm module to create custom errors for HTTP status codes.

Source code
Projects 00 01@2x 5659ae1046a29c3ededd36e4a50b2c0f0c26b5fd7152a5d1cc138de803a81cbf

couchbase-server-promises 

An npm module that wraps couchbase's callbacks for handling the result of the asynchronous operations, to provide a promise-based interface.

Source code
Projects 00 02@2x fe789c7495428f4bddd216a44a8d0d12ce13fbeed0f26e9c9f2fa6c5fb4b5cc2

network-avatar-picker

An open source library that returns a user's profile image depending on the network.

Source code


Education

Master’s & Bachelor's Degree, Electrical and Computer Engineering, September 2006 - July 2013 

Aristotle University of Thessaloniki


  • Specialization in: Software Engineering, Computer Architecture, Computer Networks, Data Structures, Databases, Parallel and Distributed Systems, Electric Circuits, Automatic Control Systems 
  • Master Thesis: Construction of a USB device for measuring magnetic fields with Hall sensors. Grade: 10/10, Professor: Dr. Litsardakis Georgios

Experiences 00 01@2x 6daa47d1df70d315f129dcecdd562003831581c4cdd8f9c819aa22d4a24ae150


Skills


Basics

Object-Oriented Design, Clean Architecture, Design patterns, Agile Methodology, Scrum, BDD, TDD, REST, Unix/Linux, Computer Networks, TCP/IP, SQL


Languages

JavaScript, TypeScript, Rust, Kotlin, Go, Terraform, C


Platforms/Frameworks

Node.js, ExpressJS, iOS, React.js, Redux, AngularJS, Quarkus, Gin, Actix.rs


Operations

Docker, AWS, Google Cloud, Heroku, 12 Factor, Serverless


UI/UX

Google Material Design, Apple Human Interface Guidelines


Business Decisions

Mixpanel, GA, A/B Testing


Languages


Greek

Mother Tongue


English

C2 Level


Certificate of Proficiency in English (Cambridge University)


German

C1