Lear Corporation - Systems Software Engineer
Rabat, Morocco · On-site
April 2026 – present
Contributing to production embedded software for automotive ECUs, including Renesas RH850 targets, GHS compiler toolchains, AUTOSAR, diagnostics, BSW, OS-layer work, and application-layer software.
Note: contributing to Lear production projects with training, laboratory, ECU, and tool access. Employment contract with ALTEN.
Selected work:
- Conducted independent security analysis of production RTOS firmware and prototyped hardening measures, including bounds-checked buffer abstractions, data integrity validation, and graceful watchdog degradation.
- Resolved production build-system type conflicts by root-causing preprocessor include-guard mismatches across auto-generated headers in a safety-critical codebase.
- Delivered a diagnostics feature across the full implementation cycle: requirement analysis, risk assessment, low-level design, C implementation, unit testing, integration testing, and software testing.
- Built a Python verification tool to automate diagnostics signal verification by parsing large-scale configuration and specification files and generating verification reports.
- Performed low-level design review and software test review for an ASIL-B safety-level component.
- Worked across V-cycle activities: requirement analysis, risk assessment, low-level design, C/C++ implementation, unit testing, integration testing, software testing, and debugging of production issues.
- Provided hardware support for remote teams by enabling software testing on target ECUs in a local laboratory.
Technologies and areas:
- C, C++
- AUTOSAR
- RTOS
- OS internals
- diagnostics
- BSW
- Renesas RH850
- GHS compiler
- ASIL-B safety-critical systems
- embedded debugging
- production debugging
- requirement analysis
- risk assessment
- low-level design
- unit testing
- integration testing
- software testing
- V-cycle development
Upstream Linux Kernel Contributor
March 2026 – present
Contributing patches to the upstream Linux kernel, with focus on allocator hardening, defensive programming, bounds checking, syzbot-driven fixes, and driver bug fixes.
Selected work:
Slab cache isolation
Worked on preventing slab cache merging for security-sensitive kernel objects:
cred_jarkey_jar
Focus:
struct credstruct keySLAB_NO_MERGE- cross-cache hardening
- security-sensitive object isolation
Public review and discussion involved Linux kernel security and memory-management reviewers.
Defensive error handling in security/keys
Worked on replacing BUG() paths in keyctl_pkey and request_key default cases with recoverable userspace errors.
Focus:
- avoiding unnecessary kernel panics
- returning
-EOPNOTSUPP/-EINVAL - improving robustness in security-sensitive code paths
security/keys reclaim and locking
Diagnosed and worked on a keyring locking/reclaim issue involving:
keyring->sem- filesystem reclaim
assoc_array_insert()memalloc_nofs_save()memalloc_nofs_restore()- syzbot-style lock dependency analysis
Qualcomm Venus driver fixes
Worked on Qualcomm Venus HFI parser fixes in media/venus.
Focus:
- payload size validation
- parser desynchronization
- firmware response parsing
parse_caps()parse_alloc_mode()parse_raw_formats()
Also worked on __counted_by annotations for flexible array members to support runtime bounds checking.
Earlier starter patches
Earlier upstream work included smaller cleanup fixes in networking and media/staging areas while learning the upstream development process.
Workflow:
- C
- git send-email
- checkpatch.pl
- get_maintainer.pl
- Patchwork
- syzbot triage
- lore.kernel.org
- mailing-list review with subsystem maintainers
See also: Upstream Linux Kernel Work
Professional Development - Linux Kernel and Systems Programming
January 2025 – present
Self-directed systems programming and kernel development work focused on the hardware/software boundary, Linux internals, embedded systems, and low-level reliability.
Areas studied and practiced:
Low-level systems and kernel internals
- Linux kernel memory management
- VFS
- process scheduling
- interrupt handling
- kernel source reading
- XNU internals
- Mach/BSD architecture
- IOKit
- JVM internals and garbage collector behavior under memory pressure
Main references included Linux kernel source, technical textbooks, O’Reilly, MIT OCW, ARM documentation, component datasheets, and technical conference material.
Systems programming and performance
- Built a POSIX file descriptor wrapper in C++17 using RAII and move-only ownership.
- Practiced performance analysis using
perf, Valgrind, and Clang sanitizers. - Studied data structures, algorithms, and system design for low-latency systems.
Embedded systems and hardware integration
- Developed bare-metal firmware on STM32F401RE / ARM Cortex-M4.
- Worked with GPIO, UART, SPI, I2C, timers, and interrupt-driven code.
- Used both HAL libraries and direct register-level programming.
- Integrated external hardware using datasheets and reference manuals.
- Studied RTOS fundamentals including tasks, semaphores, mutexes, and priority inversion.
Linux Foundation - LFX Mentee, Magma Core
January 2026 – April 2026
Selected as an LFX mentee under the Linux Foundation mentorship program for the Magma Core project.
Focus areas:
- open-source development workflow
- Docker
- Kubernetes
- Terraform
- Ansible
- networking
- 4G / 5G systems
- cloud-native wireless infrastructure
Apside - System Engineer
Casablanca, Morocco · Hybrid
October 2022 – September 2024
Worked on a Stellantis account, contributing to requirements standardization and systems engineering for a global B2B/B2C mobile ecosystem.
Selected work:
- Identified gaps across 2,000+ requirements.
- Merged and standardized specifications for mobile application and B2B features.
- Supported holistic feature design through cross-functional and cross-cultural collaboration across Europe and North America.
- Delivered client-approved system design and standardized PLM requirements.
- Simplified SysML complexity for cross-team alignment.
- Migrated specifications to Enovia.
- Supported capitalization initiatives, knowledge transfer, and team autonomy.
Focus areas:
- requirements engineering
- system specification
- PLM
- SysML
- automotive software ecosystem
- cross-functional collaboration
Stellantis - Software Engineer Intern, Cryptography
Casablanca, Morocco · On-site
March 2022 – August 2022
Developed a Python-based embedded software encryption verification tool for secure flashing verification.
Selected work:
- Designed and implemented a tool to verify encryption parameters for embedded software images.
- Processed S-record files containing approximately 100K lines of data frames.
- Implemented AES-CBC decryption.
- Implemented CBC-CMAC / ECC-based integrity and signature verification.
- Added a GUI for usability.
- Automated functional and regression testing.
- Documented test results and verification behavior.
Focus areas:
- Python
- cryptography
- firmware integrity
- secure flashing
- embedded software verification
- automotive ECUs