Career Profile

I start my developing journey when i attended to college. Python is my primary programming language and it always will be. After Python, CPP and C are my secondary languages which i use to gain more performance.
Linux is my programming environment.

After college i was put in financial systems. It was very a good experience for me and i will spend the rest of my career in this field.

Learning was a part of me and always will be. I like to learn, try and apply new technologies to my work. Working as a team and Scrum methodology play an importrant role in my development process.

Performability is my main concern in development process. Working hard to be a professional software architect.

I find myself a person who wants to understand every little things behind anything (Software and Hardwere).
It helps me to understand better and use it in future projects.
I am thirsty for knowledge and never giving up on learning things.

Education

MSc in Computer Science (System Software)

2016 - 2018
Iran University of Science and Technology (IUST)

Software managments and software engineering/design principles are the most precious things i have learned in master’s degree.

  • Seminar: A Study on Challenges and their Solutions of Live Migration of Execution Units
  • GPA: 16.00/20

BSc in Computer Science (Software)

2012 - 2016
Iran University of Science and Technology (IUST)

I have learned Linux, MySQL, PostgreSQL, RESTFul API, Apache web-server, NGINX and so many basis for delopment process.

  • Project: Design and Implementation of Web Scraping System for Mining Scientific Papers and Relation between their Authors
    Sources are avaiable at Github
  • GPA: 16.81/20

Experiences

Head of Network Infrastructure

since 2016

Head of network administration and Infrastructure, member of deployment team and IT consultant. Find more here.

Software Engineer

since 2023

Developing Payment Terminal’s application for the following brands:

C/C++ Developer

since 2021

Developing Payment Terminal’s application for the following brands:

C/C++ Developer

2020 - 2023

Developing userspace software for control plain of DWDM Transmission System. Such as cli, update subsystem, trap sender and so on.
Developing kernel module for providing precise clock signal for mdio over gpio.
Maintaining yocto and jenkins.
Revising software architecture for embedded side of OLT devices.

C/C++ Developer

2018 - 2020

Developing Payment Terminal’s application for the following brands:

Noticeable activities:

  • AMP Terminals (mPOS, Android POS, Linux POS)
  • Spectra Terminals (T300, SP530)
  • Spectra SP530 application for SADAD psp.
  • Closed loop payment switch.

C/C++ Developer

2017 - 2018
Pars System Pouya Iranian (PSPIR)

Working on AMP POS series (Iran’s branch) and developed complete programs for entire AMP series such as:

  • Linux-based POS
  • Android-based POS
  • Mobile POS

Noticeable activities:

  • Developed a library for making ISO8583 messages.
  • Working with Fuel dispensers.
  • Developing smart cards (java card) for private stations.

C/C++ Developer

2016 - 2017
Saramad Fanavari Etelaate Behpardazan

Developing cashless ATMs with Qt and C++.

Projects

Part Inspection Plan (PIP) - A desktop application developed in Quality and Reliability Engineering lab (QRELAB) of IUST for verification of uniformity in the quality of parts and processes with the goal of implementation in production. This application is being used in Saipa corporation.
Written in C++ with Qt.
JISO8583 - A new implementation of ISO8583 in java.
PYCM Judge - An online ACM judge system written in Python-django.
Gosling - A simple online school exam website written in Python-django.
Source(s): Github
Convergence - A micro framework for agent based simulation written in Python.
Source(s): Github
Aftabgardun - A web scraping system for scientific papers and relation between their authors.
Source(s): Github
NewsEngine - The aim of the project was to design and implement a web based News article crawler and also implement a Search Engine for indexing and retrieval of data
Source(s): newsEngineCrawler newsEngine
Distributed Messaging Application - A distributed system which achieving a goal that is “Message Passing on Behalf of Clients”. This system is intended to provide an abstraction for the client that they see the whole system as single view.
Source(s): Client Server

Presentation Materials

A Distributed Messaging Application: Design

Talk, Iran University of Science and Technology
English - November 10, 2016

Designing a Distributed Messaging Application which uses SIP protocol for communication.
Part of Distributed Systems course projects.

A Study on Challenges and their Solutions of Live Migration of Execution Units

Talk, Iran University of Science and Technology
Persian - May 5, 2017

My MSc. Degree Seminar Presentation.

NGINX HTTP Server Software Architecture

Talk, Iran University of Science and Technology
English - December 12, 2017

A review of NGINX HTTP server architecture and internal design.

Federated Authority

Talk, Iran University of Science and Technology
English - February 2, 2017

The Clusters & Grids course presentation. Introducing the concepts of Authorization and Federated Identity for Cloud-Based Environments.

Teaching Courses

Microprocessor Lab

School of Computer Engineering of IUST
4 Semesters

Atmel AVR microcontrollers

Teacher's Assistance of Microprocessor Course

School of Computer Engineering of IUST
2 Semesters

Atmel AVR microcontrollers

Teacher's Assistance of Assembly Course

School of Computer Engineering of IUST
2 Semesters

X86 assembly

Teacher's Assistance of Database Lab

School of Computer Engineering of IUST
1 Semester

SQL Server

Teacher's Assistance of Advanced Programming Course

School of Mathematics of IUST
1 Semester

C++ programming language

Academic Activities

Network Administrator of Cloud Computer Center of IUST
School of Computer Engineering of IUST
2016 - Now
Member of Computer Engineering Science Association (CESA)
School of Computer Engineering of IUST
2013 - 2014
Member of IUST ACM Management Comittee (AMC)
School of Computer Engineering of IUST
2013 - 2015
Organizer of 20 ACM Contests
School of Computer Engineering and School of Mathematics of IUST
2013 - 2015
SysAdmin of IUST Git Server
School of Computer Engineering of IUST
2014 - 2016
Participate in PyCon
2015, 2016
Member of PyCon Organizer Team
School of Computer Engineering of IUST
2014

Skills & Proficiency

Unix/Linux Environment

Python

Python Web Frameworks (Django-1.8, Flask)

C / C++ (11+)

Qt (C++)

Java

Android

Java Card Programming

Networking

MikroTik

Atmel AVR Microcontrollers ()

HTML,CSS,JS (Bootstrap & Semantic-UI)