Welcome to my homepage

I created this website for a couple of different reasons:

  • One primary usage of this website is writing my notes, so I'm proudly using DokuWiki software because it helps me to focus on publishing and updating the content with the most negligible overhead. So, here you may find many articles about different subjects, from philosophical topics to configuring and installing a mail server. Some of them are available in English, and some of them are written in Farsi. I don't guarantee my content to have enough quality to get them used in your real projects. Even I don't keep them updated unless I need them once again.
  • Here, you may find a long list of my past responsibilities and experiences that may or may not be relevant to attract you as a recruiter to hire me in your company or laboratory. In addition, It complements my resume by providing a portfolio and additional documents and details regarding the items mentioned there.
  • I have been teaching as an extracurricular instructor at different universities and companies, so I have a special section on my website for sharing materials and homework with my students. You can take some time to view the courseware on my website. This section is available mainly in English, but some parts are in Farsi.

Brief Introduction

Education

Shahid Beheshti University
2019 - 2022
Shahid Beheshti University

Master of Science - MS

Major: Information Technology
Subdiscipline: Enterprise Architecture
GPA: 19.46 / 20 (1st Rank)
Supervisor: Dr. Sadegh Aliakbary
Thesis Title: Using empirical data to support technology selection in software architecture decision-making

Activities and Societies:
I coordinated with the executive team and workshop lecturers of the Third National Conference on Enterprise Architecture at the Sharif University of Technology. (Team Page in Conference Website)

Sharif University of Technology
2012 - 2018
Sharif University of Technology

Bachelor of Science - BS

Major: Computer Engineering
Subdiscipline: Software Engineering

Activities and Societies:
I designed and implemented a website for the department magazine, which is named Rayanesh. This site is based on MediaWiki. I also wrote articles for Rayanesh. I initiated the Free Software Users Group as well. I was Sharif AI Challenge 2015 Technical Staff, and in this position, I built a QA website for the participant's questions about the competition. I also installed and configured its server for running contestants' submitted codes. Sharif AI Challenge is an International artificial intelligence competition held at SUT.

2008 - 2012
Mofid High School

High School Diploma

Major: Mathematics and Physics

2005 - 2008
Rouzbeh Cultural Institute

Middle School Education

Related Coursework

Grading in Iran is based on a 0 to 20 scale, so all grades in the below table are out of twenty.

UniversityCourseLevelGrade
Shahid Beheshti UniversityEnterprise ArchitectureGraduate20
Software ArchitectureGraduate20
Business Processes ReengineeringGraduate20
Decision Support SystemsGraduate20
Self-Adaptive and Self-Organizing SystemsGraduate19.75
Advanced Software EngineeringGraduate19.5
Enterprise Resource PlanningGraduate19.5
Knowledge and Ontology EngineeringGraduate17
Sharif University of TechnologySoftware EngineeringUndergraduate17.7
System Analysis and DesignUndergraduate17.7
Information Technology EthicsUndergraduate20
Patterns in Software EngineeringGraduate14.7
Software Engineering LabUndergraduate20

Research Experience

Social Network Analysis Lab
2020 - 2022
Social Network Analysis Lab, Shahid Beheshti University

Graduate Researcher

Supervisor: Dr. Sadegh Aliakbary
Thesis Title: Using empirical data to support technology selection in software architecture decision-making

Projects and Publications:
I haven't published any articles yet, but I'm working on finishing some of my projects and publishing them.

Deep Learning
Hybrid Recommender System
Google Colab
Google BigQuery
Google Data Studio
GitHub Public Datasets
Intelligent Software Engineering Lab
Sep. 2016 – Jul. 2018
Intelligent Software Engineering Lab, Sharif University of Technology

Undergraduate Research Assistant

Supervisor: Dr. Abbas Heydarnoori
Area of Research: Data collection and empirical study of GitHub repositories public data

Projects and Publications:
I participated in programming parts of the Cross-project code clones in GitHub article, and you can find my name in the acknowledgment section of it. I developed a tool to find and fix potential bugs in source code by clone detection with the history of GitHub projects. I developed a tool to find all commits with bugs that are fixed later in other commits. I developed a plugin for JetBrains IDE that records user's activities.

pygit2
gensim
nltk
GHTorrent
code clone detection
JGit
JDT
JetBrains Plugin

Teaching Experience

I have taught more than two hundred people as an extracurricular instructor at various universities and companies.

OrganizerCourse TitleSemesters
Shahid Beheshti University - Culture Home CenterPython ProgrammingSummer 2017, Fall 2017, Winter 2018, Summer 2018, Fall 2018, Winter 2019, Summer 2019
Front-end Web DevelopmentSummer 2016, Fall 2018, Winter 2019, Summer 2019
Linux System AdministrationFall 2016
Web Scraping in PythonWinter 2018
Content Management Systems WorkshopSummer 2016
Sharif University of Technology - Sharif Rayan AcademyPython ProgrammingSpring 2019, Winter 2020
University of Tehran - Cultural Education and Development CentrePython ProgrammingFall 2018
Saipa Corporation - Saipa Training CenterPython ProgrammingSummer 2019
MapsaHR CompanyPython ProgrammingFall 2021

Courseware

Teaching Assistant (TA)

CourseUniversitySemesterInstructorLink
Advanced Software EngineeringShahid Beheshti UniversityFall 2021Dr. Fereidoon Shams Aliee-
System Analysis and DesignSharif University of TechnologyFall 2017Seyed Ebrahim AbtahiCourse Page
Spring 2017Seyed Ebrahim AbtahiCourse Page
Fall 2016Seyed Ebrahim AbtahiCourse Page (Archived)
Sharif University of Technology (International Campus)Spring 2017Dr. Mehraneh Shantiaei-
Advanced Programming in JavaSharif University of TechnologyFall 2015Dr. Salman MarvastiCourse Page (Archived)
Technical PresentationSharif University of Technology (International Campus)Fall 2014Dr. Ali Mohammad Afshin Hemmatyar-

Seminars & Lectures

HostDateTitleLocationLinks
Informatics Society of Iran (Enterprise Architecture Group)??????Online
Sharif University of Technology??????Online

Certificates

Skills

AreaSkillsLevel
LanguagePersian
native
English
fluent
Arabic
basic
Software EngineeringRequirement Gathering, System Analysis, Software Development Life Cycle (SDLC), Object-Oriented Programming (OOP), Software Testing, Code Documentation, Software Licensing
PatternsGRASP, GoF Patterns, GoV Patterns, Refactoring Patterns, Reengineering Patterns, AntiPatterns, MV* Patterns
Version ControlGIT, GitLab, Git-Flow, SemVer
Software ModelingUML, Software Architectural Design, DFD, GANTT, PERT, EER Modeling
ProgrammingPython, Bash, Java Standard Edition, C++, SQL, Markdown, XML
WebDjango, HTML5, CSS3, JavaScript, AJAX, JQuery, PHP, Mezzanine, Joomla, Magento, WordPress, MediaWiki, DokuWiki
Data ScienceRecommender Systems, Ontology Engineering, Web Scraping
MethodologiesAgile Methodologies, Kanban, XP, Scrum, RUP
TypesettingLaTeX, XePersian, Libre Office, Google Docs, Overleaf
ToolsSelenium, Visual Paradigm, PyCharm, IntelliJ, Eclipse, YouTrack, Trello, Packet Tracer, Modelsim
GraphicsGimp, ‫‪Adobe‬‬ ‫‪Premiere
DevOpsAWS Services, Continous Delivery, Deploy on push
LinuxZimbra, Bind, Apache, Nginx, uWSGI, iptables, Fail2ban, CentOS, Ubuntu, PostgreSQL, Cloudflare
OrganizationalEnterprise Architecture, Business Process Reengineering, BPMN, Capability Maturity Model Integration (CMMI)
Soft SkillsFinding solutions from the Internet, Teaching and presentation, Documentation, Discipline, and attention to detail
MiscellaneousCourt tennis, Movie review, Western philosophy, Free knowledge, Classical and Middle Eastern traditional music

Research Interests

I work in the area of Software Engineering. I aim to improve industrial software production practices in the following different areas.

Software Architecture

Architectural Decision Making, Software Quality, Reusability and Product Lines, Patterns

I am passionate about maintainability in code and application architecture because, as a software developer, I see how the complexity of software gets out of control if we do not invest enough in its quality and use best practices and engineering methods from the beginning.

Human Aspects of Software Engineering

Processes and Methodology Engineering, Cognitive Biases, Team Productivity and Leadership

Intelligent Software Engineering

Building Recommender Systems, Ontology Engineering, Tools and Technologies

Work Experience

Connect Platform
Jul. 2017 – Present
Connect Platform

Technical Lead

Responsibilities:
Plan and implement recruitment scenarios and human resource documents.
Develop web software using frameworks like Django and Semantic-UI.
Develop black-box regression test suits with Selenium.
System Administration of the Server and configuring LEMP Stack.

Django
Semantic-Ui
Human Resource
Metraj Co.
Aug. 2018 - Jan. 2021
Metraj Co.

IT Consultant

Accomplishments:
Install and maintain JetBrains YouTrack and JetBrains Hub Services as the issue tracking and project management systems for software development projects.
Install and manage DokuWiki as a wiki software for writing tutorials and meeting agendas.
Install and document Linux infrastructure for the company-developed products and internal company services.
Plan and participate in Sharif JobFair Exhibition 2018.
Requirement gathering and writing analysis documents.
Write scripts to extract data on real estate transactions from the Ministry of Roads & Urban Development website.
Coach the organization for reengineering the current system.
Train the team on various topics like Software Testing and Continuous Delivery and Version Control.

YouTrack
Behestan Rayan Co.
Sep. 2012 – May. 2016
Behestan Rayan Co.

Linux System Administrator

I worked with Datacenter, Research & Development Department, and Marketing Department in this company. Moreover, I fulfilled projects for some of Behestan’s clients, such as the Municipal Employees Fund Institution and Kosar Credit Institution.
Accomplishments:
Setup, hardenings, and performance tuning of various GNU/Linux servers, including Debian, Ubuntu, and CentOS.
Install and configure VMware ESX, vCenter, and VMware vSphere in an environment with shared nodes and physical resources.
Install and configure Linux Services, including LAMP, Bind, Zimbra Collaboration System, and Cacti.
Work with HP Generation 8 and 9 Servers.
Lecture in Big Data and Relational Database and Filing approaches. (Course Page)
Implement, optimize SEO and improve the performance of the company and its client's multilingual websites based on their specific requirements, using web frameworks.

Joomla
Zimbra

Projects

TypeDateTitleAccomplishments
Freelance ContractJun. 2017 – Sep. 2017Appetizer Production DeploymentLinux System Administration
Jun. 2016 – Oct. 2016Bitervan Online StoreDesign and Implementation
Sep. 2009 – Mar. 2010Materials and Energy Research Center VoIP ServiceVoIP Installation and Setup
Course ProjectSep. 2015 – Jan. 2016Judge System Based on Wiki PlatformUndergraduate Project
Jan. 2017 – Feb. 2017Wikipedia SearcherCourse: Modern Information Retrieval
Jun. 2016 – Oct. 2016Bilityab Ticket Sales and Distribution Web SiteCourse: System Analysis and Design

 Volunteer Experience

Free Knowledge Foundation
Sep. 2010 – Present
Libre/Free Knowledge Foundation

Founding Member

I have been an active volunteer member of the Free Knowledge Foundation for more than seven years. In this position, I organized the Software Freedom Day (SFD) conference, held in Tehran in 2013, 2015, and 2016. Besides Tehran SFD, I have coordinated weekly meetings about philosophical aspects of Free Knowledge since July 2013. Also, I have been responsible for running and maintaining the wiki, editing and writing papers on the wiki, translating the various selected articles, and composing subtitles for chosen speech videos from the prominent people of the free software movement.
I had speeches more than twenty times about technical, social, and philosophical aspects of free software and free knowledge at events such as SFD, PyCon, and TehLUG weekly meetings at the Sharif University of Technology, University of Isfahan, Iran University of Science and Technology, Avatech Startup Accelerator (University of Tehran), Information Technology Organization and Arasbaran Cultural Center.