Work Experience

Senior Software Engineer at GlobalLogic Poland

GlobalLogic is a digital services company providing software product design and development services. It is an independent subsidiary of Hitachi Ltd.

Responsibilities
  • Worked with Jenkins to automate CI/CD pipelines, manage build processes, and integrate with various tools for testing and deployment.
  • Configured Jenkins jobs, pipelines, and plugins to optimize software delivery workflows.
  • Worked with the AUTOSAR Diagnostic Stack, focusing on Diagnostic Data Identifer (DID) implementations and overall diagnostic stack activities.
  • Developed and confgured diagnostic services, ensuring compliance with UDS.
  • Integrated diagnostic protocols, managed DTCs, and optimized ECU communication strategies for robust vehicle diagnostics.
  • Worked with Robot Framework for test automation, focusing on keyword-driven testing and integration with various libraries
  • Designed, implemented and fixed automated test cases for validating software functionality, ensuring reliability and efficiency in testing processes.
  • Configured CI/CD pipelines to execute Robot Framework tests and generate detailed reports.
  • Wrote various scripts to help improve the development process.
  • Wrote a script to automate discovery, reservation and connection to remote Test Rigs.
  • Wrote a VSCode extension to populate the tasks.json file with Make targets from the project, open various tools used by the project and connect to Test Rigs.
  • Wrote a script to analyze map fles to verify correct Linker Sections allocation of various codes objects.
  • Created an automated script to configure and use MCDS on GreenHills Multi IDE that enables monitoring OS tasks in real-time, chart them, and create a snapshot of the currently running tasks and save them for latter analysis.
  • Conduct thorough and meticulous E2E FSM testing to ensure the comprehensive validation of system functionalities, adhering to industry best practices and quality standards.
  • Develop precise and comprehensive test specifcations within DOORs, demonstrating a deep understanding of system architecture and test design principles.
  • Execute test scenarios with a focus on precision and accuracy, navigating complex system pathways to identify and report any discrepancies while ensuring the robustness of the system.
  • Analyze Problem Reports with a methodical approach, identifying root causes and implementing effective solutions to rectify issues promptly, contributing to the continuous improvement of system reliability.
  • Maintain the highest standards of documentation by updating DOORs attributes in alignment with the Process Baseline, demonstrating meticulous attention to detail and adherence to organizational processes.

Senior Embedded Software Engineer at Vehiclevo Egypt

Vehiclevo is a German automotive software company founded in 2016, specializing in intelligent software architectures for ECUs, with a focus on EVs, infotainment, and autonomous driving. It operates globally, including a development center in Egypt, and is a recognized AUTOSAR partner.

Responsibilities
  • Creating simulation nodes and panels using Vector CANoe and programming them with CAPL
  • Configuring Basic SW with Capital VStar (CVI)
  • Configuring AUTOSAR Basic SW and Creating AUTOSAR compatible SW components and Applications
  • Configuring GLIWA for multicore microcontrollers task monitoring

Embedded Software Engineer at Valeo

Valeo is an automotive supplier and partner to automakers worldwide. It is a global leader in the design, production, and sale of components, integrated systems, and modules for the automotive industry.

Responsibilities
  • Creating simulation nodes and panels using Vector CANoe and programming them with CAPL
  • Configuring Basic SW with Vector DaVinci
  • Configuring Basic SW with Elektrobit Tresos
  • Configuring AUTOSAR Basic SW and Creating AUTOSAR compatible SW components and Applications
  • Using IBM DOORs to read customer requirements and creating SRS, CDD and Test Documents
  • Creating a variety of tools that help increase efficiency and performance of existing and new projects
  • Creating Steering Wheel Switches applications
  • Creating and Maintaining Capacitive Touch based solutions for different applications

Embedded Software Intern at Valeo

Senior Software Engineer at KAN

Responsibilities
  • Developing Android Apps for various clients, managing SQL databases and creating backend servers using Java2EE and JSP

Game Developer at Hive Studio

Responsibilities
  • Developing various VR and AR games for various advertising purposes, using Unity3D and C#

Android Developer at AL Hadeya For Arabic Software

Responsibilities
  • Developing Android Apps for various clients, managing SQL databases and creating backend servers using Java2EE and JSP

Projects

Hands On Detection

Creating steering wheel hands on detection using segmented ADC segments and integrating with autonomous driving and applying gesture detection with which a user can play next/previous song or increase/decrease volume.

Steering Wheel Light Bands

Creating segmented steering wheel light bands and integrating with autonomous driving to indicate various states, show welcome light and display speed value through the light bands

Touch Display Based Steering Wheel Switches

Creating touch display based steering wheel switches with haptic feedback to show various information for the user such as currently playing song, caller info, cruise control info and more. Users can also interact with these displays to set various settings such as answering calls, changing music or setting cruise control speed.

Capacitive Touch Stack with Haptic Feedback

Creating in house capacitive touch stacks for use in capacitive touch based steering wheel switches, touch based displays or touchpads. The stack consisted of CAPS, CSBN, TSDS, SLID, TPAD, GDET and SENS modules which are Capacitive Sensing (low level layer which interfaces with the hardware and ADC peripherals), Baselining (baselining read ADC values over a period of time, applying filters and frequency hopping), Touch State Detection System (determining winning buttons in a group based touch steering wheel switches), Slider (detecting slider position in a touch based linear slider sensor with center of mass detection), Touch Pad (detecting multi-finger X, Y positions on a 2D touchpad with multiplexed NxM matrix), Gesture Detection (detecting 2D simple and complex gestures on a touchpad such as tapping, double tapping, one/two finger swipe directions, one/two finger scrolling, zooming in/out and more) and finally SENS which is a controller module for the previous modules that initiates and processes each of the stack’s module in a pre-defined periodic task

eShifter

Creating applications for detecting/inducing transmission states in an electronic shift by wire shifter with priority-based processing for the P/R/N/D buttons and multi-push handling algorithms

Smart Home Automation System

a system where you can control your home’s appliances from your smartphone while in the home’s vicinity.

Tools

Android, AVR, Raspberry Pi, relays, motors, Bluetooth, Embedded C, Java, Python.

Smart Home Security and Monitoring System

a system where you can monitor your home via a website from anywhere in the world, the system also works automatically to protect your home from hazardous events such as fire, water floods and glass breakage

Tools

Raspberry Pi, Arduino, relays, motors, solenoids, temperature / pressure sensors, Java, ArduinoC, Python.

Autonomous Mobile Robot

a smart robot designed to play the game of capture the flag autonomously competing with other similar robots the, user can control the robot through his/her phone or a website manually or by giving it gps coordinates and letting the robot figure the best way to reach that point.

Tools

Android, Raspberry Pi, GPS sensors, IMU sensors, motors, Java, PHP, Python.

AVR4L

AVR4L aims to deliver an easy to use and user-friendly Integrated Development Environment for developing Codes for microcontrollers based on Atmel's AVR families. AVR4L is a Creative coding / Integrated Development Environment for Linux operating systems intended for AVR beginners as well as professionals, it has many features from professional IDEs as well as the simplicity of editing

Tools

Linux, Bash, C, Java, avrdude, AVR-GCC, AVR.

ALFA

ALFA is an Intelligent firefighting robotic system which helps extinguish fires and aid other human firefighters to accomplish this task quickly and swiftly with minimal losses, damages and most importantly saving lives. ALFA is an Acronym of Air and Land Firefighting Agents, it features a flying robot that is the brains of the system, scouts the area, scans and maps the environment, communicates with other robots and allocates tasks. It also features a group of ground bound robots that act as the muscles of the system, they are responsible for extinguishing the fire and navigating about the environment.

Tools

IMU, GPS Sensors, Motors, ROS, Gazebo, RViz, OpenCV, Computer Vision, AI, Linux, Bash, C++, Python.

Volunteer Experience

HR Member at Flickers

Flickers is a student organization that aims to bridge the gab between school and job market in Egypt for the students of variant majors

HR Executive Assistant at Flickers

Flickers is a student organization that aims to bridge the gab between school and job market in Egypt for the students of variant majors

Technical Mentor at NASA Space Apps - Cairo

Participated as a mobile apps and ROS developers’ mentor