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.

Contact Information

Work Experience

Software Engineer / Team Leader / Solutions Architect

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.

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 for jdk15 on top of the Openshift.

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.

Technologies used including

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 with iOS and Android 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 and iOS). 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.

Technologies used including:

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 and AccuRev.

  • 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
Aug 2020
License: SAA

Certified Kubernetes Application Developer
Jun 2020
License: CKAD-2000-004804-0100

TOGAF® 9 Certified
Jan 2020
License: 140538

TOGAF® 9 Foundation
Nov 2019
License: 603233

DevOps Leader
April 2019
License: GR685000296MH

DevOps Foundation
April 2019
License: GR797009838MH

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 and Apache 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 and Couchbase.

  • Experience with Searching solutions (Apache Lucene/Solr).

  • Familiarity with Big Data and Stream processing solutions such as Apache Hadoop, Hive, and Apache 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 and OAuth 2.0 protocols.

  • Good understanding of digital cryptography.

  • Hands-on experience in Jenkins, Ansible, Bitbucket pipelines, Docker, Docker Compose, Kubernetes, k3s, GCP and AWS.

  • Basic knowledge about Data analysis using Python Pandas.

Technical Reviews

Technical reviewer for Certified Kubernetes Application Developer (CKAD) Study Guide book from O’Reilly.

ckad study guide

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