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 is 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. and i’am trying to be a professional software architect.

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

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

Experiences

Head of Network Infrastructure

2016 - Present
Cloud Computing Center of IUST [CCC]

Head of network administration and Infrastructure, member of deployment team and IT consultant.
We use MikroTik routers for our infrastructure.
Find more in here.

POS Developer

2018 - Present
AMP

Developer of AMP (Iran’s office) in KICCC for developing a brand new Android application for fuel dispensers on special POSs.

POS Developer

2017 - 2018
Pars System Pouya Iranian (PSPIR)

I was working on AMP POS series (Iran’s office) and developed complete programs for entire AMP series such as:

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

I worked with Behpardakht and Pardakht Novin main switch for transferring transactions.
By the time I developed a library for making ISO8583 messages.
Later, I was working on fuel dispensers and developing smart cards for private stations and developing an Android application for controlling fuel dispensers.

Cashless ATM Developer

2016 - 2017
Saramad Fanavari Etelaate Behpardazan

I was developing cashless ATMs with Qt and C++.
It was connected to Behpardakht switch for its transactions.

Projects

Here you can review some of my 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 for android POS.
PYCM Judge - An online ACM judge system written in Python with django.
Telegram2 - An unofficial Telegram application for Both Android and Desktop.
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
telegramBot - A simple Telegram bot for file sharing written in Python.
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

Academic Activities

Check out some of my college activities.

Member of Computer Engineering Science Association (CESA)
School of Computer Engineering of IUST
Jul 2013 - Jul 2014
Member of IUST ACM Management Comittee (AMC)
School of Computer Engineering of IUST
Nov 2013 - Nov 2015
Member of Cloud Computer Center of IUST
School of Computer Engineering of IUST
Jun 2016 - Now
Member of PyCon 2014 Organizer Team
School of Computer Engineering of IUST
2014
Participant of PyCon 2015 and 2016
SysAdmin of IUST Git Server
School of Computer Engineering of IUST
Jul 2014 - Sep 2016
Orginizer of 20 ACM Contests
School of Computer Engineering and School of Mathematics of IUST
2013 - 2015
Instructor of Microprocessor Lab
School of Computer Engineering of IUST
4 Semesters
Teacher's Assistance of Microprocessor and Assembly Course
School of Computer Engineering of IUST
2 Semesters
Teacher's Assistance of Database Lab
School of Computer Engineering of IUST
1 Semester
Teacher's Assistance of Advanced Programming Course
School of Mathematics of IUST
1 Semester

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 Course

AVR for Beginners

School of Computer Science of IUST
6 weeks - 2017

MikroTik

School of Computer Science of IUST
6 weeks - 2017

Course headlines:

  • MTCNA
  • MTCWE
  • MTCTCE
  • MTCUME

Skills & Proficiency

C

Python

Django

Flask

C++

Qt

Android

Java

Linux

GIT

Unattended Payment Terminal

Java Card Programming

Cilk (Parallel Programming)

MPI (Distributed Computing)

pThread (Parallel Programming)

OpenStack (Deployment)

HTML CSS JS

Bootstrap & Semantic-UI

Networking

MikroTik

Cisco

AVR