Dayyan
About Dayyan
A developer with a strong academic background and problem-solving skills. Experienced Node.Js Backend Developer with 4 years of experience in developing software and services for businesses focused on online travel and booking services, accounting, ERP, e-commerce, and marketing. Highly adept in all development stages, from initial analysis through design, prototyping, implementation, and execution. With hands-on experience in .Net development, distributed systems, microservice, and DevOps engineering. SKILLS Programming Languages Javascript, TypeScript, C# Principles OOP, SOLID, DRY, DDD, BDD, Clean Code Frameworks NestJS, Express, Fastify, ASP.Net Core, EF Core Technologies RabbitMQ, Kafka, Socket.IO, Grafana, Gray Log, Docker, NginX DataBases PostgreSQL, SQL Server, MongoDB, Redis, Neo4j Tests Unit Test, Integration Test, E2E, SpecFlow EXPERIENCES Back-end Developer MrBilit 2021/12 – present A travel agency focused on travel-related services like ticket bookings and hotel reservations. In this team, I tookownership of the hotel, planned and charter flights, and multi-leg flight services, maintained them, developed new features, and deployed monitoring services for them. Tasks And Responsibilities: •Collaborated closely with other developers on cross-functional teams, including product managers, front-end engineers, designers, QA testers, etc. •Designed architecture based on DDD principles and migrated legacy services to the newly created architecture •found and optimized the bottleneck of the system by 80% by analyzing the SQL execution plan of the queries •detected race conditions in the reserve system and handled them by using RedLock •used a graph Database (Neo4j) for finding the optimum path in a multi-leg flight trip based on different factors •wrote unit tests for sensitive codes which represented business logic Skills: Node.JS, Typescript, ASP.NET, EFCore, SQLServer, Neo4j, Kafka, Redis, ElasticSearch, Grafana, Gray log,Microservice Architecture Back-end Developer System Group 2020/09 – 2021/10 A company that provides enterprise accounting and ERP software that supports businesses of all sizes. In this company, I was part of a team of 20 back-end developers working on the second-largest application of the company based on Agile methodology. Tasks And Responsibilities •contributed to building a development environment on top of Node.js Fastify based on DDD principles •Developed the application based on the TDD process and used Jest as the main testing framework •collaborated to accelerate development by redesigning parts of our micro-service architecture •contributed to handling data synchronization between multiple instances of PostgreSQL Skills: Node.JS, Typescript, Fastify, Inversifty, Reflect-Metadata, Knex, PostgreSQL, Kafka, Debezium, Microservice Architecture Back-end Developer Jambod 2018/02 – 2019/10 Jambod was a company that created an application for trading recyclable wastes for money from users. The workflow of the application is somewhat like Uber. For this application, I was working in of team of 3 back-end developers. Tasks And Responsibilities •designed the whole application tables and relations between them using SequelizeJS •developed a priority criteria algorithm based on different real-life factors Skills: Node.JS, Express, Socket.IO, SequelizeJS, JWT, PostgreSQL, RabbitMQ, Redis, MVC Back-end Developer AsanTender 2019/12 – 2020/07 AsanTender is an E-commerce website for selling auction information. In this project, I tried to mentor 2 junior developers starting their careers via pair programming, design review, and code review. Tasks And Responsibilities •Deploying Sentry for monitoring the errors and performance of the system •Restricting the number of requests in order to prevent brute-force attacks by using a rate limiter •used Redis for caching specific data, optimizing application response time by 20% Skills: Node.JS, Express, PostgreSQL, Redis, JWT, Docker, Nginx QG A feature-rich Quiz Game written in Typescript. It's a turn-based game played by 2 players. In this project, I tried to show my skills and my signature in writing code in the NodeJs environment as much as possible, And I believe there is a lot of cool stuff in this project which could help junior developers learn from and get Ideas that are all written in the project ReadMe file. Goals •sticking strictly to the DDD principles •creating a scalable application that used the cutting edge technologies •showing the thought process behind every decision for choosing each technology and design pattern •a cheat sheet for creating new projects from scratch EDUCATION Bachelor of Computer Engineering Isfahan University of Technology Isfahan, Iran