Mehdi Karimi
Tel: +60-102****** SKYPE ID: MehdiKarimi786
E-Mail: acr8zb@r.postjobfree.com, acr8zb@r.postjobfree.com
LinkedIn: https://www.linkedin.com/in/mehdikarimi
Senior Software Developer
Education
Bachelor of Software Engineering
Faculty of Computer and Information Science, Isfahan University 1997-2001
Synopsis
An astute and competent Bachelor of Software Engineering professional offering 11 years of experience in software development currently associated with HexoSys Sdn Bhd, Malaysia as Senior Software Engineer. Self motivated, hardworking and enthusiastic. I excelled in all major parts of Software Development Life Cycle as Requirements Analysis, Design, Implementation, Unit Testing, Re engineering, and Defect Fixing. Strong Proficiency in:
Principal Skills: C, C++, OOP Programming, Design Patterns, MVC Design
Databases: MySQL, Oracle, MS Access, Microsoft SQL Server, SQLite, Berkeley DB, and Codebase
Frameworks and Libraries: STL, MFC, QT Platform, Windows Driver Development Kit (DDK)
Operating Systems: Windows, Linux
IDEs & Compilers: Microsoft Visual Studio, KDevelop, Eclipse, MINGW, GCC, Cygwin Tools
Source Control Softwares: Perforce, Visual Source Safe, Subversion, CVS
Virtualization Softwares: VMware, VirtualBox
Tools: Design UML diagrams by Sybase Power Designer, StartUML, and Enterprise Architecture
Network: Socket Programming (Sync/Async), Berkeley Socket Library, WinPCAP Library, TDI & NDIS Layer, Design and implement Unified Performance Management and Unified Threat Management (UPM/UTM) concepts by C/C++ in different layers like State-full Firewall, Proxy Server, Web Filter, Gateway, User Authentication by NTLM, Cache Server, IDS/IPS by Snort, Gateway Anti Virus, Anti-Phishing,….
Standards & Protocols: FC, FCoE, Ethernet, ARP/RARP, IP v4 (RFC 791), TCP (RFC ), FTP, HTTP(RFC 2616), Google Safe Browsing v2.2, DNS, Radius, …
Design and implement Multi Thread, Real Time, and Data Mining solutions
Artificial Intelligence(AI) concepts in Image Processing and National Language Processing(NLP)
Source Code Refactoring, Reverse Engineering & Debugging Skills and Techniques
Documentation by Doxygen
PROFESSIONAL EXPERIENCE
Senior Software Developer (Full Time) September 2011- Present
HexoSys Sdn Bhd (http://www.hexosys.com/) Kuala Lumpur, Malaysia
HexoSys Sdn Bhd provides the engineering services to the high tech companies in the form of Hardware and Software design and implementation. I am in protocol analyzer software team. Protocol analyzers of SAS, SATA, Fiber Channel, Fiber Channel over Ethernet and Ethernet protocols are designed and implemented by this team.
Environment: C++, MFC, Qt, STL, VC++, MVC Design, OOP, Perforce, StartUML, ATL, COM, Multithreading, Refactoring
My responsibility is to design, develop and maintenance a Statistical Analyzer that has involved in performance improvement, testing, debugging, technical issues and implementation. Statistical issues of the recorded packets from hardware are the main result of this analyzer.
Design and implement some issues and algorithms to make special queries in huge amount of data.
Designed and developed a mechanism to decode fields of packet in storage protocols (SAS/SATA, FC, FCOE
Took advantages of COM objects to expose main functionality of the applications as interfaces to be used by different clients.
Maintained and optimized the performance of main analyser applications
Software Engineer & Project Manager (Full Time) December 2008- September 2011
Pars Fanavaran Kharazm (http://www.spooler.ir/) Tehran, Iran
Pars Fanavaran Kharazm is one of the famous network security companies in Iran which has developed and productized some aspects of network technology. They include a dedication to developing new, pure play IP solutions. They are a market leader in Unified Threat Management (UTM).
Web Crawler: This software browses the specific URLs in a methodical, orderly fashion. A browsed page is categorized with special algorithms by using the text, internal links, images, HTTP header, HTML tags, and some other parameters.
Web Sniffer: It finds the real requested URLs in network traffic by Winpcap Library.
AntiPhishing/AntiSpam: This software determines that a URL is a phishing URL or not. It is implemented Google Safe Browsing v2.2 protocol.
Network Traffic Generator: This software generates different network traffics and attacks like TCP/UDP/HTTP/ARP traffics to stress test routers/firewalls/UTM under heavy network load.
Log Analyzer: It has been designed to allow you to analyze and report on information contained within log files from common network devices such as proxy servers, firewalls, routers and gateways.
Hide Driver: It is a Windows Driver for hiding of selected processes and files by Windows Driver Development Kit (DDK).
IDS/IPS: It is a developing of Snort IDS/IPS.
Developing Spooler: This software includes: State-full Firewall, User Authentication, Accounting, Anti-Phishing, Web Filter, Traffic Shaping, VPN Server, Redundancy, Gateway Antivirus, Cache Proxy Server, DNS Forwarder, ARP Proxy, …. I was the developer & debugger of this project for two years.
Converting and refactoring Spooler Source Codes (Spooler is a windows service) and its sub-systems to compile in GCC and run it in Linux.
Software Engineer & Project Manager (Part Time) February 2008- September 2011
Rayaphone (http://www.rayaphone.com/) Tehran, Iran
Rayaphone focuses on design and implement telecommunication softwares and equipment.
Environment: VC++, C, OOP, STL, WinPCAP, Wireshark Developing, DTMF, PJMedia Library, Multi-Threading, Telecommunication Protocols, Async Socket Programming in Microsoft Windows.
Dual-tone multi-frequency signaling (DTMF): Refactoring a DTMF generation/detection
Call Centre Software: It is used for the purpose of receiving and transmitting a large volume of requests by telephone, making conferences, and all defined tasks in a Call Centre. PJMEDIA Library of PJSIP Open Source Project is used in this project. PJMEDIA is a complementary library for PJSIP to build a complete, full-featured SIP user agent application such as phones, gateways, or B2BUA.
Developing a Noise Suppression and AGC project by Speex Library.
Rayashark: It’s a customized version of Wireshark. In Wireshark, it is impossible to capture from more than one adapter simultaneously, hence, I changed this mechanism to capture from many adapters simultaneously. I added some special features and plungings to handle SS7 (MTP, ISUP), VoIP, V5.2 (LAPV5), ISDN(LAPD, Q931) and some other telecommunication protocols.
Design and Implement SMSC and ESME: Implement Short Message Peer-to-Peer Protocol Specification v3.4.
Software Engineer (Full Time) March 2008- August 2008
TSP Tehran, Iran
This company was a subsidiary of KeyMile company in Iran. Keymile has decades of experience in the telecommunication industry already.
Research & study: DSL Concepts, Class of Service(CoS) on 802.1Q VLAN & QoS on IP network layer
Embedded Programming in vxWorks for VLANs and QoS at IP Layer
I have spent a C++ course in this company and got good ideas regarding embedded programming and Design Patterns.
Software Engineer (Full Time) February 2007-January 2008
EPD Co. Ltd. (http://www.epd.ir/) Tehran, Iran
EPD is one of the most popular and successful medical software companies in Iran which produces applications for healthcare enterprises.
DICOM Viewer: Analyzing, Designing and implementing a “Digital Imaging and Communications in Medicine” (DICOM) viewer.
Software Engineer & Project Manager (Part Time) 2007
Jame Tehran, Iran
Vide: Designing and implementing PhotoMosaic software named Vide. The term photomosaic referred to compound photographs created by stitching together a series of adjacent pictures of a scene. There were huge amount of pictures that some specific of them should be used for making tales in the original photo.
Software Engineer (Full Time) March 2006- March 2008
Kishware (http://www.tosan.com/) Tehran, Iran
Solutions offered by Kishware are a combination of banking products and services that allow banks and other financial institutes to apply the latest technology in the world to mix with their banking services.
Environment: Visual C++, COM, ORACLE, Sybase Power Designer, Visual Source Safe, OCI Library, MFC, STL, OOP, PL/SQL, RDBMS Design and Concepts, SQL
Analyzing, designing and developing “Real Time Gross Settlement” (RTGS) system.
Analyzing, designing and developing “Society for Worldwide Interbank Financial Telecommunication” (SWIFT) system.
Analyzing, designing and developing “Letter of Credit” (LC) system.
Analyzing and developing a software to migrate “Database and Data Model(s)”
Writing and maintaining source code in C++ to meet requirements, system designs and technical specifications in accordance with quality accredited standards.
Testing, debugging, refactoring, diagnosing and correcting errors and faults in C++ to ensure programs and applications perform to specification.
Designing and developing object oriented concepts by Sybase Power Designer
Using “Visual Source Safe”(VSS) as version control
Created design and specification documentation.
Design and Developing in ORACLE database
Using Oracle Call Interface(OCI) Library to work with ORACLE database
Using PL/SQL to write Store Procedures and Functions of ORACLE
Database and Data Model Migration: Convert Data Model of other banking softwares to Kishware Data Model.
Software Engineer (Part Time) January 2007- November 2007
Almaas Shabakeh Daran (http://www.almaas.ir/) Tehran, Iran
The main activity of Almaas Shabakeh Daran is in telecommunication industry.
Designing and implementing a custom file-base database. It designed for huge amount of data and records. You can make a query in this DB and get your results very quickly (like a real-time database). I made some good solutions to save, load, backup, query, and modify huge amount of data.(VC++, STL)
Designed and implemented a backup software to automatic backup and save data in DVD/CD by Nero SDK.
Software Engineer (Full Time) March 2004- March 2006
Douran Software Technologies (http://www.douran.com) Tehran, Iran
DOURAN Software Technologies is one of the most successful IT companies and a producer of software products in various fields in Iran.
Environment: Visual C++, STL, MFC, Digital Image Processing Concepts, OOP, Network Security and Network developing, Ethernet, IP, TCP, UDP, HTTP and many other Ethernet-base Protocols, MS SQL Server, MS Access, Designing in Relational Databases, Firewall Concepts and Developing, COM
Persian Optical Character Recognition (OCR): Implementing many concepts of digital image processing in this project like edge-detection, Fourier Transforms. Designing and analysing these algorithms in a good order to find a Persian character in an image.
Persian Natural Language Processing (NLP): This software is used for correcting wrong typed words in MS Word files in Farsi. I implemented this project in a COM Object and then insert it into a VB Macro for using in MS Word. This project was based on some Persian NLP researched by Dr. H. Feili from Sharif University.
Realwall & RealFilter: Realwall is a Douran’s network security product as a firewall. Developing many concepts of a firewall and network layers from Ethernet to HTTP. This is my first real and difficult effort and expensive experience in network security.
Analyzing, designing and developing Network Security concepts and Network Protocols.
Writing and maintaining source code in C++ to meet requirements, system designs and technical specifications in accordance with quality accredited standards.
Testing, debugging, refactoring, diagnosing and correcting errors, crashes and faults in C and C++ to ensure programs and applications perform to specification.
Software Engineer (Full Time) June 2002- December 2002
Rahgozin Rayaneh Tehran, Iran
Environment: WATCOM C, Visual C++
Writing and maintaining source code in C++ to meet system requirements, system designs and technical specifications in accordance with quality accredited standards.
Testing, debugging, refactoring, diagnosing and correcting errors and crashes in C and C++ to ensure programs and applications perform to specification.
Designing and implementing algorithms to process huge 2 dimension matrix to find special behaviours.
Programming in WATCOM C in MS DOS operating system
Programming in Visual C++ in Microsoft Windows operating system.
Designing and Developing object oriented concepts.
Designing and implementing an editor in MS DOS OS that support Persian characters.
Language(s)
English: I’ve got overall band score 6 in “General Training” IELTS on September, 2013.
Writing: 6, Speaking: 6, Listening: 6.5, Reading: 6.
Persian: My native language.