×
Shayan Shafaghi

Shayan Shafaghi

Software Engineer

Toronto, Ontario, CA
English, Persian

Background


About

About

I started coding as a child and I never stopped afterward. I recived my bachelor from Amirkabir University of Technology in Computer Engineering. I'm intrested in Distributed Systems and Edge Computing. I also enjoy studying mathematics. I spend most of my time building highly scalable distributed systems. I spend most of my freetime playing violin, chess, videogames and watching movies.

Work Experience

Work Experience

  • Software Engineermedad-ai

    Apr, 2021 - Aug, 20221 year 4 months

    I was responsible for building distributed and scalable services using cloud architecture patterns and also interacting with AI team to build services,

    • Bootstrapped a k8s cluster using Kubespray

    • Distributed k8s between two datacenters

    • Designed VPC over two datacenters

    • Designed and implemented a real-time audio and video processing pipeline using micro-service Architecture

    • Designed and implemented search and recommendation as a service on the result of the pipeline

    • Designed a real-time billing service using timescale-db

    • Designed a user tracker service in Rust language

    • Used redis and redis-stream as message queues between our services

    • Designed rqueue (reliable queue) with redis

    • Set up monitoring service using prometheus-operator and grafana

    • Setup log management using fluentd, fluentbit, Elasticsearch and kibana

    • Deployed and managed Traefik as API gateway

    • Deployed minio as S3 Storage

  • CTOWishwork

    Jul, 2020 - Apr, 20219 months

    I was responsible for managing a team of engineers and projects through a customized scrum pattern

    • Designed and implemented multiple web applications using microservice pattern and ddd

    • Deployed CI/CD lines using gitlab-ci and ansible

    • Set up sprint sessions and planed for future goals and the way to achieve them

    • Taught my colleagues about software engineering process, how to write code with python and how to work with different databases

    • Helped to Clarify our vision and mission

    • Helped on market research and competitor analysis

  • .Net DeveloperAlibaba Travels

    Oct, 2019 - Mar, 20205 months

    • Learned about .net core and C# and entity framework

    • Learned about scrum and agile methodologies

    • Learned about docker and k8s

Projects Experience

Projects Experience

  • JOS

    Aug, 2021 - Present

    Implemented a 64-bit UNIX like operating system from scratch

  • Gandalf

    Jun, 2021 - Present

    Gandolf is an implemention of Raft algorithm which can be used to bring consensus over any database.

    • Cosnsisted of a redis like key-value store and a consensus module

    • Used Event-Driven Architecture for desinging system

    • Can bring consensu to any database

  • Oira

    Sep, 2020 - Present

    Oira is a flask like dispatcher with the mindset to keep everything simple and avoiding third parties as much as we can.

    • A simple dispatcher writen in python from scratch

    • Built to develope microservices with

  • Phobia

    Jun, 2022 - Present

    Phobia is a asynchronous multi-threaded scenario-based load-generator implemented in Rust for stress testing services.

Skills

Skills

  • Industrial Knowledge

    Distributed Systems

    Computer Graphic

    Machine Learning

    Linear Algebra

    Statistics

    Product Management

  • Programming Languages

    Rust

    C

    Python

    Go

    Haskell

    Java

    C#

    Javascript

  • DevOps

    Kubernetese

    Docker

    Linux System Administration

    Ansible

    GitlabCI

    Github Actions

    KVM

    LXC

    LXD

    Nginx

    Traefik

    HaProxy

  • Database

    Postgresql

    Mysql

    Mongodb

    Redis

  • Data Engineering

    Apache Spark

    Apache Flink

    Apache Airflow

Education

Education

  • Electrical and Computer Engineering, Master of Science, University of Toronto

    Jan, 2023 - Present

    Network Softwarization: Technologies and Enablers

    Network Softwarization: Principles and Foundations

    Trends in Middleware Systems

  • Computer Engineering, Bachelor, Amirkabir University of Technology

    Sep, 2017 - Jul, 2021

    Fundamental of Programming

    Advanced Programming

    Data Structures

    Algorithm Design

    Linear Algebra

    Database Design

    Information Retrieval

    Data Mining

    Software Engineering

    Computer Architecture

    Compiler Design

    Programming Languages

    Computational Inteligence

    Artificial Inteligence

    Signals & Systems

    Statistics

    Multicore Programming

    Information Security

    Data Comunication

    Interface Circuit Design

    Microprocessor and Assembly Language

    Operating Systems

  • Math & Physics, Diploma, Allameh Tabatabaei

    Jun, 2013 - Jun, 2017

Awards

Awards

  • Placed among top 0.2% of the students in the Iranian University Entrance Exam

    Awarded on: Jun 01, 2017

    Ranked 289 in the Iranian University Entrance Exam

  • Qualified for Direct Admission to graduate school (M.Sc.) of Computer Engineering

    Awarded on: Mar 01, 2021

    Qualified for Direct Admission to graduate school (M.Sc.) of Computer Engineering, Amirkabir University of Technology, without taking the Nationwide University Entrance Exam for M.Sc

  • Qualified for Edward S. Rogers Sr. Dept. of Electrical and Computer Engineering Fundings

    Awarded on: Jan 01, 2023

Volunteer Work

Volunteer Work

  • Teaching Assistant, Software Tools and Systems Programming, University of Toronto, Computer Science

    Jan, 2023 - Apr, 2023

  • Instructor, Advanced Programming lab, Amirkabir University of Technology

    Mar, 2022 - Jul, 2022

  • Instructor, Fundamental of Programming lab, Amirkabir University of Technology

    Aug, 2021 - Feb, 2022

  • Instructor, Introduction to linux, Amirkabir University of Technology

    Feb, 2020 - Feb, 2020

  • Teaching Assistant, Advanced Programming, Amirkabir University of Technology

    Feb, 2019 - Jun, 2019

  • Teaching Assistant, Signal and Systems, Amirkabir University of Technology

    Sep, 2020 - Jan, 2020

Interests

Interests

  • Chess

  • Violin

  • Video Games