Hamid Reza Fahimi Madjd Software Engineer Email: hfahimi@gmail.com Profile: 1977, Married, Iran Website: http://hfahimi.com/about LinkedIn: https://linkedin.com/in/hfahimi/ -------------------------------------------------------------------------------- EDUCATION -------------------------------------------------------------------------------- Sep 1999 - Sep 2003 Azad University Tehran Jonoob Software Engineering/Computer, Bachelor(BSc/BA) -------------------------------------------------------------------------------- IT SKILLS -------------------------------------------------------------------------------- * Languages and technologies ~ Java core, multi threading, serlvlet, jdbc, REST Api, Rabbit MQ, Jersey ~ Familiar with Spring, Spring Boot, microservices ~ PHP, php graphviz, dot language ~ html, css, javascript, jQuery * Databases ~ Oracle (PL/SQL) ~ MySql ~ Postgresql ~ Ms SQL Server ~ familiar with redis, elasticsearch, mongodb * Web servers / container ~ Apache ~ Apache Tomcat * IDE ~ IntelliJ Idea ~ PHP Storm ~ gedit ~ vim * Desktop & Server ~ Descktop: Linux CrunchBangPlusPlus (Debian distro) ~ Server: Deabian, CentOS * Version Controller ~ git ~ subversion -------------------------------------------------------------------------------- WORK EXPERIENCES -------------------------------------------------------------------------------- Sept 2019 - Present Islamic Consultative Assembly Tehran, Iran ---------------------------------------------------------------------------- Sr. Software Engineer, Sr. Full Stack developer 1. File Upload Web Service a web service using Jersey to 1. upload files to server and return saved URL 2. get files URL and remove them. 2. MS Word Files parser When I went to parliament (IT department of), there was a project to display discussions per session of parliament. The system was implemented (web based application) but data entry was too slow because user must read entire a file (ms word file) and input speech of every member of parliament (mp) in system separately. I wrote a multi threaded java application using apache poi api to parse the files and grab information about the session such as start date/time, end time, director, agenda, member of parliament's speech and so on. Finally the parser application generate a json file (using gson) and sql file and send them to database (ms sql server). Sept 2009 - 2019 Parliament Research Center Tehran, Iran ---------------------------------------------------------------------------- Sr. Software Engineer, Sr. Full Stack developer Since 2009 till 2013 I was System/Database Analysis/Designer and Senior Web based application Developer and after that I got Software Management role as well. Technologies that I use there are Java EE/SE, PHP 5, MySQL, Apache, DOT Language, Petri Net for workflow engine. 1. Petri Net Workflow Engine For developing Report Publishing System we needed a workflow engine to handle it. I researched about various workflow engines in PHP and after all I decided to implement a workflow engine using Petri Net algorithm. 2. Report Publishing System I put the system's tasks (~18 tasks ), roles and users on own workflow engine and it has been working since May 2015. 3. rc.majlis.ir website At the beginning of my job there, I started to write a MVC framework (PHP) from scratch and implement all of their website under one reference website named rc.majlis.ir using the framework. In the website I implemented all sub-systems like Law/Legal Draft System, news, parliament agenda, member of parliament page, rc (research center) reports, forums and ... 4. Insurance bill System Every employee after paying for Hostpital/Doctor, bring the invoces to office and input them into insurance system.Then medical expert login to system and check validation of invoices. After his confirmation the costs backed to employee. 5. Reservation system To manage sessions and saloons at office I designed a system that any user request a reservation saloon/time till next month and other users could not access to the saloon at that time. I was System/Database designer in the project. 6. Portal Every employee on the office can access to salary Fiche, HRM information, authorized systems like saloon reservation, report publishing, insurance license and other systems using portal. In addition there is news system to notify all employee from last news about office. Jun 2003 - Sept 2009 Datis Pars Tehran, Iran ---------------------------------------------------------------------------- Sr. Software Engineer, Sr. Full Stack developer I was senior programmer in Datis Pars. The technologies that I engaged in datis to develop web based applications were Java EE 6 (JSP, Servlet , JSTL), PHP, Smarty (Template engine for PHP) as languages, Apache & Tomcat as web/app server, Oracle 9i, MySQL and MS Sql Server as Database server and Ubuntu (for developping) and FreeBSD(for deploying) as Operating Systems. Some of projects that we had role on it are: 1. Datak (second major ICP in Iran) ADSL & IPW Radius System: Because of the previous radius’s database was on SQL Server and didn’t have a good performance on high load, Datak decided to change the database and switched to MySQL 5 on FreeBSD. So this project assigned to Datis, we started to designe a database and implement many stored procedures and routines from scratched. This system is under high load now (at least 200 sp call per second) and acting as heart of Datak. 2. Datak OSS system: A web based application that has modules like customer care, finance, sales (ADSL, IPW, NextNet), accounting, technical support and other things what an OSS system needs to them. I was in charge of design and implement Technical support, Ticketing, Call Center, Monitoring outdoor servers and etc modules. Technologies that we have been using are Java EE 5, MySql 5 and Tomcat on FreeBSD. The project has been started since 2 year ago and it's on its leading way. 3. Datak’s website (epayment section): Datak’s website has a section that users can upgrade/downgrad and renew them services. For this sections I implemented Saman and Parsian Bank apis. 4. Mondrian (OLAP Reporting system): Mondrian is open source software from Pentaho that defined as “Mondrian is an OLAP server written in Java. It enables you to interactively analyze very large datasets stored in SQL databases without writing SQL.” I used this software to generate cube and multi dimensional reports for some systems that I’ve developed in Datis Pars such as Datak OSS System. Oct 2008 - Dec 2008 Rahnamoon Tehran, Iran ---------------------------------------------------------------------------- Software Engineer, System Designer/Developer 1. Distributed Package Installator: I was in charge of design and develope an application that could handle package installation on distributed network. I used Java SE, Java ftp client and Java socket to handle ftp and get/send command to other specific socket and Java EE (Servlet, jsp and jstl) to implement management console. Mar 2001 - Mar 2006 Tavanir Company Tehran, Iran ---------------------------------------------------------------------------- Software Engineer, System/Database designer, Sr. Full Stack developer Tavanir is a subcompany of Iran Power Ministry. I was senior programmer in Tavanir who in charge of analyze, design and implement web based and windows applications. I used PHP and ASP (classic), Oracle 9i/MS Sql Server and Apache/IIS to develop our systems. For windows applications, I used Visual Basic 6 and Oracle 9i as well. Some of projects that we involved in are: 1. Power plant Fuel System: A web based application that operators entered daily used fuel in every powerplant and abled them to get many reports about them. I use ASP, Oracle and IIS in the project. 2. Iran Grid Management Company, Power Market System: I used ASP, Oracle and IIS on windows for web based part and Visual Basic and Oracle for windows application part. The project was about buy power from powerplant. There was a web based application that each powerplant logged in to it and entered the price of power and Grid Management Company by using system’s report and notifications decided to buy power from which powerplant. 3. Human Resource System: I used PHP, Oracle, Apache and Linux for it. Apr 2006 - Jun 2006 Idehnegar Tehran, Iran ---------------------------------------------------------------------------- Software Engineer, System/Database designer, Sr. Full Stack developer Ideh Negar is biggest ICP in Iran, They wanted to have eshop on their site that able them to sale internet. So I developed the eshop using PHP, MySQL and Apache on unix. Feb 2001 - Jul 2001 KSS Tehran, Iran ---------------------------------------------------------------------------- Sr. Full Stack Developer PCA major work was Internet reselling but they had software team as well. We developed a portal web site called hasht.com. we used ASP, Ms Sql Server and IIS on windows. Sep 1999 - Feb 2001 PCA Tehran, Iran ---------------------------------------------------------------------------- Database designer, Full Stack developer PCA major work was Internet reselling but they had software team as well. We developed a portal web site called hasht.com. we used ASP, Ms Sql Server and IIS on windows. -------------------------------------------------------------------------------- LANGUGE -------------------------------------------------------------------------------- Persian Native English Good