Mohammad Hewedy
Solutions Architect
A confident, self-motivated software architect with more than 15 year of experience in software Engineering and Architecture.
A deep researcher and a passionate learner in every aspect of his life, with good analytical and verbal skills.
A Contributer to a number of Open Source projects including
Spring AMQP
,
Spring Data JPA
,
liquibase
,
Castlemock
,
and others.
Knowledge and experience in may programming Languages and ecosystems including Java
, Kotlin
, Scala
, Groovy
, Golang
, C
, Objective-C
,
Python
, Ruby
, Nodejs
, JavaScript
, TypeScript
, C#
, Elixir
, Erlang/OTP
and others.
Work Experience
Solutions Architect / Tech Lead
Elm
Nov 2013 – Present
Riyadh, Saudi Arabia
Elm Company is a Saudi Joint Stock Company owned by Saudi Public Investment Fund (PIF), it is specialized in providing
secure electronic services, and has been in existence since 1988 as a technical research and development lab for
the Saudi Ministry of Interior.
Designing and implementing government services while practicing agile methodology to achieve high velocity in delivery in multiple projects.
- Mazadat
-
An e-auction service that is provided to one of ELM clients. it is built on top of many successful systems built by ELM.
The system is built and deployed on OCP and built-in Paas Services provided by the Platform Engineering team in coordination with Delivery teams.
- Tamm Platform
-
Tamm service helps vehicles' owners in Saudi Arabia to get all updated information of their respective vehicles from their governmental sources.
Participating in the architecture, design, and implementation of Tamm Platform (Tamm v2.0) utilizing OIDC (Keycloak), Api gateway (3Scale) and Openshift.Some achievements include-
Participated in the Tamm Revamp docs project (Documenting and reverse engineering the As is).
-
Participated in establishing the software practices used by the team (Pull Requests, Code Review, Unit Tests, etc…) to assure high quality of the software.
-
Building a Modular Monolith architecture with each module is about a bounded-context with clear interface with the other modules.
-
Participated in the Architecture and Design of the Tamm Platform.
-
Co-Designed and implemented
jasync
concurrency library on top of Java concurrency primitives. -
Co-Designed and implemented
Spring Data JPA MongoDB Expressions
a library that converts MongoDB queries into SQL. -
Created a custom
s2i
builder image forjdk15
on top of theOpenshift
.
-
- Architecture and Presales Team
-
Working on the Technical presales team to design, document, architect, and price software solutions as a response to RFPs.
Successfully delivered multiple winning proposals. - Muqeem
-
Muqeem service allows organizations to review its resident workers data and complete their transactions online, anytime and anywhere.
We’ve built the next generation of Muqeem based on the Microservice Architecture using Spring Cloud. - Marine
-
A portal for Public Transport Authority (PTA), it is used to give permission and register activities related to the Marine section in PTA, My role mainly to integrate with Elm Billing System and PTA billing System.
- Mojaz
-
A Portal that allows public users to query about car history (including accident history) and print a full report about it, My role mainly to integrate with Elm Billing System.
- ETV
-
A portal for Saudi Commission for Tourism & National Heritage (SCTH), that allows Umrah visa holder to do tourism activities after finishing the Umrah program by changing the sponsor. (Many integrations with NIC, Sejel is being included)
- Basher
-
Basher service allows traffic officers from registring accidents and violations and queries about them.
Java
(up to jdk17), Kotlin
, Spring framework
, Spring Boot
, Spring Cloud
, Netflix OSS
, Hibernate
, EJB
, PrimeFaces
,
Angularjs
, Angular
, Redis
, RabbitMQ
, Apache Camel
, Apache cxf
, Apache Tomcat
, JBoss AS
, KeyCloak (IdM)
, 3Scale
,
Openshift
, SQL Server
, Bitbucket
, JIRA
, Bamboo
, Jenkins
, ArgoCD
, helm
and IBM RTC
.
Software Engineer / Team Leader
SiliconExpert Technologies - an Arrow Electronics Company
Nov 2010 – Nov 2013
Cairo, Egypt
Headquartered in Santa Clara, is a leading supplier and innovator of
best-in-class products and services for enterprise-wide electronic parts
management. Customers are: Avago, Exar, Avnet, Arrow, RS, NASA, Dell,
Rockwell, and Toshiba.
I am working directory with our BA to analyze customer requirements
and find rapid solutions for customers continuously requests.
- Modifying Spark (XMPP client)
-
Spark is an Open Source, cross-platform Jabber (
XMPP
) client optimized for businesses and organizations. I was responsible for modifying the app and deliver a windows installation package using install4j/IzPack. - Arrow Mobile App
-
Arrow inc. www.arrow.com is the company that acquired SiliconExpert.
I am acting as a project leader to provide Arrow inc withiOS
andAndroid
Mobile Apps.
We are building native mobile apps and building a JSON aggregator Service to call existing modules and provide the functionality for the mobile apps. - SiliconExpert Mobile App
-
Building the Company’s
iOS
/Android
Mobile Application front end and build a JSON Service backed by an EJB module connecting to Oracle DB. - Avago PartFinder Project
-
Integration of some of our services into customer’s website through a Widget that is hosted on our domain and deployed into the customer’s Web App. The work includes running cross-site JavaScript (Same-origin policy) and many other challenges to make it work on Almost all browsers starting from IE6.0.
- Avago PartFinder Mobile App
-
Converting Avago Application into a Mobile Application(
Android
andiOS
). The work included converts the Business layer into JSON Services using a custom home-build framework and then consume the JSON services using Mobile Apps. - Exar Project
-
Integration of some of our services into customer’s website.
- MainSearch
-
A Lucene Manager tool; a tool with a Web-based interface to allow users to search/create/edit/delete indexes.
- Design Center
-
Web Application for Electronic Engineers to search for reference designs and other staff they need in designing Electronic Circuits.
The work includes investigating on the issue of Search engine optimization (SEO) and crawling for Ajax Applications.
EJB
, JPA
, Servlets
, JSPs
, Custom tags, Filters, XML
, JAX-WS
, Apache Axis
, GWT
, JSON
, JAX-WS
, Javascript
,
Apache Lucene
, Apache Solr
, Android SDK
, iOS
, Oracle DB
, Oracle App Server
,
Apache Tomcat
, Spring-jms
, git
, Intellij IDEA
, Eclipse
, JIRA
, Jenkins
and YouTrack
.
Software Engineer
CyberSource a VISA Company
April 2009 – Nov 2010
Cairo, Egypt
Headquartered in Mountain View, California, is a leading provider of electronic payment and risk management services.
-
I was responsible for design and implement payment solutions.
-
Worked with payment services like, Auth, Bill, Credit, Refund, many of PayPal Services and others.
-
Develop solutions using
Java
,C
,Servlets
,XML
,XSLT
,XPath
,JPos
,JBoss
,Linux
,Rational ClearCase
andAccuRev
. -
Fixed Major encoding issue in China PayEase gateway simulator.
-
Worked on many PayPal bug fixes. (PayPal EC and Button create service)
-
Worked on bug fixes for other Payment gateways as well including Paymentech and APACS30 gateways.
Software Engineer
ElRowad
Jan 2009 – April 2009
Cairo, Egypt
Responsible for the Design and Implementation of company’s own Stock Management software
Education
B.S. Computers and Information
Helwan University, Cairo Egypt
Sep 2007 - Very Good
Certifications
AWS Certified Solutions Architect – Associate |
Certified Kubernetes Application Developer |
TOGAF® 9 Certified |
TOGAF® 9 Foundation |
DevOps Leader |
DevOps Foundation |
Skills
-
Good understanding of OOP & Functional style programming.
-
Good understanding Test Driven Development and Unit, Integration, E2E Testing.
-
Agile Methodologies - Scrum, Kanban.
-
Good understanding of type theory and the programming paradigm.
-
Good knowledge in Linux Configuration & shell scripting.
-
Basic understanding of the some compilers architecture, e.g.
GCC
,LLVM
,GraalVM
and others. -
Distributed Programming, messaging, stream processing and data pipelines (
RabbitMQ
,Kafka
,JMS
andApache NiFi
). -
Good background in Web Services (SOAP-based and REST) and
XML
(SAX
,DOM
,XSLT
,XPath
). -
Experience Mobile Programming (Android / iOS).
-
Experience with full-Stack Web Development (
Angular
,Vue.js
,Mustache.js
, and others). -
Good understand parallelism and concurrency and related patterns (e.g. CSP) and its implementations in golang and kotlin.
-
Basic knowledge Linux programming (syscalls, filesystems, namespaces and others).
-
Basic understanding of the different storage types (object, block, file) and its use cases.
-
Basic understanding Hypervisors and containerization (the theory and practices).
-
Good understanding of RDBMS, NoSQL databases, Big Data and Database Sharding techniques.
-
Basic knowledge and experience about NoSQL solutions such as
MongoDB
,Redis
,Cassandra
andCouchbase
. -
Experience with Searching solutions (
Apache Lucene
/Solr
). -
Familiarity with Big Data and Stream processing solutions such as
Apache Hadoop
,Hive
, andApache Spark
. -
Experience in different RDBMS -
Oracle
,SQL Server
,MySQL
,PostgreSQL
. -
Basic understanding of Unicode and other related char encoding standards.
-
Basic understanding of OSI model and related protocols (
TCP
,UDP
,DNS
,ARP
,FTP
,SSH
,TLS
), and basic knowledge about networking tools like iptables, wireshark, tcpdump, and more. -
Understanding of
OIDC
andOAuth 2.0
protocols. -
Good understanding of digital cryptography.
-
Hands-on experience in
Jenkins
,Ansible
,Bitbucket
pipelines,Docker
,Docker Compose
,Kubernetes
,k3s
,GCP
andAWS
. -
Basic knowledge about Data analysis using Python
Pandas
.
Technical Reviews
Technical reviewer for Certified Kubernetes Application Developer (CKAD) Study Guide book from O’Reilly. |
Open Source Projects
-
Spring Data JPA MongoDB Expressions Allows you to use the MongoDB query syntax to query your relational database.
-
ci-pipeline Opinionated Devops Pipeline in YAML based on Jenkins.
-
vermin The smart virtual machines manager.
-
SBO-video-extension Safari Books Online Video Downloder Extension to Google Chrome.
-
spwrap Simple Stored Procedure call wrapper with no framework dependencies.
-
ews Go package wrapper for Exchange Web Service (EWS)
-
gitblame Simple Web Application to show each member in team work in a web-based interface
-
aqarme Service to query https://sa.aqar.fm/ for certain criteria and notifies me back by Facebook messenger on the list of apartments that matches my criteria.
-
mego The MS Exchange meeting organizer
Volunteering Experience
Riyadh Java Meetup (Founder)
April 2019 – Present
Riyadh, Saudi Arabia
The Riyadh Java Meetup is a meetup concerted about Java and the JVM, with the main focus is on Spring framework and spring boot.
Kubernetes in Arabic (belaraby) (Co-founder)
July 2020 – Present
Riyadh, Saudi Arabia
Where we discuss topics related to Kubernetes and its ecosystem
Languages
-
Arabic - Native
-
English - Professional working proficiency