My name is Mohammad Moein Shafi, natively written as محمد معین شفی . I'm an undergraduate Computer Engineering student at ECE Department of University of Tehran. I am also working as a software engineer in Mahsan company.
Last 2 year's GPA: 17.90/20.
Final project: Fast and Reliable Packet Capturing, Manipulating, and Injecting Using XDP.
Related Courses: Cyber Physical Systems (17.7/20), Artificial Intelligence (in progress), Computer Security (in progress), Operating Systems (18.5/20), Computer Networks (20/20), Internet Engineering (19.3/20), Software Engineering (19/20), Object Oriented Design Pattern (19.35/20), Principles of Compiler Design and Construction (18.5/20), Computer Aided Design (18.5/20), Design and Analysis of Algorithm, Principles of Database Design, Computer Architecture, Data Structures and Algorithm, Advanced Programming, Engineering Probability and Statistics.
I work in the infrastructure team and deal with various issues in this area.
My work is mostly about computer networks challenges in Linux operating system.
During my career in this company, I mostly worked with
protocol but I'm also worked with some useful libraries and tools in networking area like
Also my final undergraduate project has done in a cooperation of this company and my university (mentioned below).
I am currently working on a project about packet handling (capture, inject, manipulate) using new approach in Linux kernel (version > 4.18) named XDP. Another utility of this approach is for preventing DDOS attacks. It was also my undergraduate thesis (final project) that has done in a cooperation with Mahsan Company (mentioned above).
I worked on remote access systems and test automation. I had to implement a remote library that teachers and students could access the hardware (i.e. boards like raspberry-pi and etc that placed in university library) and running their automated tests on the boards. To do this, I worked with a tool named LAVA. At first I should using this tool to implement accessing virtual boards that emulated with QEMU. Then the project has suspended! and I stopped the second part that was meant to be about accessing real boards through it.
ACM summer of code is an event holds every year for younger students aim to improve their codding skills and
challenging their knowledge of software design as a software engineer.
This event has different fields like as software engineering, artificial intelligence, algorithms, and etc. My role was 'supervisor' in software engineering field and I managed students and mentors works. The project that we implement was an online game store that you could by and sell different types of games in it. We used Java Spring framework for backend, React JS for frontend, MySQL for database, Git as version control system, and JWT for authentication.