CV

Basics

Name Mehdi Eidi
Label Software Engineer | Researcher
Email mehdiadq@gmail.com
Url https://mehdieidi.github.io

Education

  • 2024.09 - Present

    Tehran, Iran

    Sharif University of Technology
    Software Engineering, MSc
    • Software Development Methodologies
    • Patterns in Software Engineering
    • Requirements Engineering
    • Enterprise Architecture
    • Software Testing
    • Decision Support Systems
    • Software Architecture
  • 2019.09 - 2023.09

    Urmia, Iran

    Urmia University
    Computer Engineering, BSc

Work

  • 2023.02 - 2023.07
    Software Engineer
    Hub Irancell
    • Designed and developed a call-center system based on a microservices architecture.
    • Improved performance by reducing the latency of a critical API by a factor of 37.
    • Conducted architectural and detailed design using Unified Modeling Language (UML).
    • Implemented integrated authorization and failover mechanisms.
    • Containerized and deployed services using Docker Compose.
  • 2022.06 - 2024.09
    Software Engineer
    Imenaria
    • Designed and implemented REST APIs and gRPC services for a video-on-demand system.
    • Designed a scalable video transcoding system to handle large volumes of media processing.
    • Developed a typo-tolerant search system, improving accuracy and user satisfaction.
    • Performed large volume data migration from MongoDB to PostgreSQL.
    • Developed an automated NGINX configuration generator to streamline server management.
    • Designed and developed a real-time chat subsystem to enhance user engagement and interactivity.

Volunteer

  • 2021.08 - 2021.11

    Urmia

    Workshop Instructor
    Urmia University
    Managed and instructed a workshop to introduce University students to Go programming language.

Skills

Programming
Golang
Java
Python
Bash Scripting
DevOps
Version Control: Git, Branching Strategies
Containerization: Docker
CI/CD: GitHub Actions
Linux (LPIC-1)
Software Design & Architecture
Object-Oriented Design
Domain-Driven Design (DDD)
Serverless Architecture
Modeling Languages: TOSCA, UML, BPMN
Patterns in Software Engineering
Design Patterns
Architectural Patterns & Styles
Refactoring Patterns
Reengineering Patterns
Anti-patterns
Serverless Patterns
Microservices Patterns
Software Development Methodologies
Agile Requirements Engineering
Agile Software Development: Principles & Practices
Agile Methodologies: Scrum, DAD, DSDM, FDD, Kanban
Third Generation Methodologies: UP (Unified Process)
Data Management
Relational Database Design
Caching Techniques & Strategies
Relational Databases: Postgres
NoSQL Databases: MongoDB, Cassandra, Redis
Software Quality & Testing
Model-Based Testing Techniques
Development Practices: Test-Driven Development (TDD), Behavior-Driven Development (BDD)
Core Computer Science
Data Structures
Algorithm Design
Graph Algorithms
Discrete Mathematics

Languages

Persian
Native speaker
Turkish
Native speaker
English
Fluent

Awards

Interests

Research Interests
Serverless Computing
Model-Driven Engineering
Low-Code Development
DevOps