Post Job Free
Sign in

Software Engineer Service

Location:
Tehran, Tehran Province, Iran
Posted:
August 04, 2019

Contact this candidate

Resume:

Career Summary

● High technical skills in C/C++, thread synchronization, Boost, STL, IPC, and Socket Programming.

● Large amounts of experience in networking, different protocols (TCP/IP, UDP), and telecommunication protocols (SMPP, GSM, VoIP, Diameter), load balancing

● Proficiency with high performance trades, low latency/high frequency, real time applications in multi-threaded environment using high-traffic solutions, multithreading, multiprocessing, distributed systems, parallel processing, concurrency and algorithm design.

● Experience working with multiple streams of development using software version control tools, specifically Subversion and GIT

● Using vast range of open source C++ libraries and tools, Boost, Gsoap, Asio, Xerces, crypto++, gdb and gcc

● Python development skills and familiar with its libraries

● Practical expertise with Agile-Scrum with the help of Jira or Confluence, and phases of the Software Development Life Cycle (SDLC)

● Object Oriented Design Patterns (OOD) and programming (OOP), Test Driven Development (TDD)

● Knowledge and understanding of database design and performance improvement on relational databases Oracle, SQLite, Timesten, Redis

● Unit and integration automatic testing in Robot Framework, Boost Unit test and LCOV, Continuous integration (CI) tools (Jenkins, Sonarqube) Experience

2008 - Present

Peykasa (Tehran-Iran) (Software Provider Company)

Software Engineer/developer (Permanent)

● Company: Peykasa group is the market leader for providing software solutions for international message roaming and call management. All software solutions in Peykasa are entirely developed with their in-house software team. These applications were mostly related to short message sending, routing, load balancing and call management. Unit 104, No. 10, 24th East Ave. South Shaghayegh St. West Ferdows St. Sadeqiye Square

Tehran – Iran

+98-912-***-****+98-21-640-**-***

**************@*******.***

● Projects

o Location Based Services solution (LBS): Real-time system for retrieving geo-data from a mobile device or smartphone. We should store huge number of data in database, so we have designed a high-performance application for storing information and query on them. We also implemented a webservice for that with REST. o Hub service: A solution which enables mobile operators to transact short messages with international operators using a single connection or contract. One of our main challenges was improving network robustness which is essential the service. After about six months our team managed to greatly improve network robustness and connection reliability. I as major developer added several features to Hub service. One of the most important features was adding the support to convert SS7 contents to SMPP packets. In addition to robustness, performance optimization was another major objective. o Short message Service Centre (SMSC): The major and first product developed by PeykAsa. This service consists of high capacity and highly reliable components. One of my main contributions in this team was improving load balancing and process distribution over cluster. One of main improvements was done by introducing redis to system and replacing the old connection based packet exchange system. After architecture redesign, I used hashing and unordered data structures to improve transaction process time. A subsystem was G-Reporter which make report over huge amount of SMSC transactions. Considering the large amount of SMSC transactions and limitations regarding data retrieval, we designed a service to collect this information online and store aggregated data in Cassandra database. We used spark clusters for analytical reports and DataStax as main BI tool. We also designed and implemented a graphical application for dynamic configuration of SMSC over a secure proprietary protocol. o Transparent Signaling Analyzer (TSA): PeykAsa Transparent Signaling Analyzer is a distributed and scalable core system that provides operator-independent analysis of signaling traffic in wireline/less networks. PeykAsa TSA with its intelligent SS7/IP probes, is the next generation DPI solution to drill further down into various types of metadata. PeykAsa TSA development team incessantly monitors changes in protocols and updates libraries of protocol signatures and metadata attributes. o RSCM technology: For developing runtime-reconfigurable telecommunication applications. Runtime reconfiguration is a fundamental requirement of many telecommunication applications which also has been addressed by management standards like CMIP, 3GPP TS 32.602, and NETCONF. Two basic commands considered by these standards are CREATE and DELETE which operate on managed objects inside an application. We exploit the modular and object-oriented features of the XML technology for storing the configuration state of a program in a configuration file. https://authors.elsevier.com/a/1U6Th3HJl-9uwo

o Advanced Networking Framework: A multithread Framework using various design patterns in order to manage and process packets parallelly. A vast majority of telecommunication protocols are supported. This framework provides a controller to check flow rate of packets based on number of packets per second or bytes count per second which is named Flow Control. We also use factory design pattern and decorator design pattern to process and manage packets. Also, a PDU library is developed to decode and encode varios packets abstracted from Networking framework.

o SS7Gateway: SS7 is the signaling protocol used between SMSCs in the core GSM network. It can carry SMS messages using the SS7/MAP protocol. o Service delivery platform (SDP): is a set of components that provides a service(s) delivery architecture (such as service creation, session control and protocols) for a type of service delivered to consumer, whether it be a customer or other system. The main challenge was the number of transactions per second and high availability. We used different technologies like Kafka, Redis, mongo DB for achieving this goal. o Asanak Cloud Services: A web application which provides some features for end users. It basically provides some features related to Sending and receiving SMS using Web services. We used Freeswitch to handle SIP and TDM events over telephone lines. Scope of this project included development of a web application for Asanak users and a back end web service API. Backend services were built as docker applications for optimal resource sharing of hardware and packaging application system. We used Ruby on Rails and Postgres database for Voice mailbox app, IVR service and fax transmission online services.

o Telecom Firewall (Telewall): A powerful system to secure the fixed telephone networks used in organizations against all kinds of threats in this area, which is able to manage, monitor and control all digital and analog telephone lines. In this project I was team leader. We replace the telephone card with a cheaper card which its driver needed some developments.

● Responsibility

I started as a software engineer having the main focus on development and maintaining SMSC system. I also involved with design and implementation of telecommunication applications. SMSC had a base capacity of 1,000 messages per second before I joined this team. I worked along the team to expand this capacity to over 100,000 messages per second.

After working for SMSC team I began developing high performance useful C-Libraries. After a few years I became leader of C teams.

● Skills:

o C++ Expert in the core language and STL 2011 and 2014 o Boost, STL, ZMQ

o Python Medium Level

o Shell script Medium Level

o object oriented programming, multi-threading

o concurrent processing

o Build Systems like CMake, Makefile

o Socket programming

o Familiar with tests frameworks, gtest, gmock, RobotFramework o SDLC (Agile, SCRUM), Test-Driven Development (TDD), Jira, confluence o Object Oriented Design Patterns and Programming (Gang of four) o Web Technology: HTML, XML, JSON, RESTful API, Flask o Database: Relational (PostgreSQL, Oracle and SQLite), NoSQL (MongoDB, Redis) o Other Tools: Git, Subversion, Jenkins, SonarQube, Docker, Docker Compos o Over ten years’ experience on Linux systems programming and administration o IDE: PyCharm, Qt Creator, Kdevelop, visual code

o Networking: Socket Programming, ZeroMQ, Diameter (for LTE networks) Education

2001-2005 Bachelor of Science, Computer Engineering, Hardware, Qazvin University, Qazvin, Iran, GPA: 3.86

1996-2000 High School diploma, Mathematics at Daneshmand High School, Tehran, Iran, GPA: 4.61

Thesis

B.Sc. Title Simulate TCP/IP protocol on MIPSR3000 with SystemC Supervisors Dr. A. Jahanian



Contact this candidate