Advanced Proficiency:
MISRA C++ 2023, C++17, Embedded Linux, C, Embedded systems protocols (I2C, SPI, UART, CAN),
realtime multi-threaded programming, realtime safety-critical systems, lock-free concurrency,
ESP32, Raspberry Pi, Linux, Bash, software testing, reading and writing documentation,
object-oriented design, board bring-up, BSP, design by contract, Java, Kotlin, TypeScript
Working Proficiency:
FreeRTOS, Python, CMake, Git, GDB, reading assembly language (x86, arm), software verification, formal
methods, reading data-sheets, audio development, soldering, Android, Yocto, Rust, Dafny
PiCAN:
A telematics control unit that reads, decodes and processes the reverse-engineered proprietary CAN bus
frames and sends the data to a server using MQTT, akin to a fleet management system.
Built on the Raspberry Pi Zero 2W using MISRA Embedded C++ 2023 for a custom lean Linux build using Yocto
for board-bring up.
The strict safety standards of MISRA C++ 2023 are enforced using clang-format, clang-tidy and semgrep
integrated into the CMake build system.
This self-managed project is aimed at learning how to develop a typical fleet management system's telematics
unit with the industry's strict safety standards on a resource-constrained low-power device.
JNLL:
A JVM library written in Java used to load and call native shared libraries without manually writing JNI
code.
Written in Java, reads native library bindings and then generates efficient JVM bytecode that performs
the equivalent native library call with minimal overhead supporting all features supported by libffi.
Heavily optimized for maximum performance beating the fastest (JNR) by approximately 5% at runtime
benchmarks and 10x for load-time and was 5x faster than the then industry standard (JNA).
Was used to reduce maintenance and running costs of an existing legacy codebase using JNA and JNI,
and improved overall system performance by approximately 10%.
ESP32 Camera:
A realtime multithreaded application which streamed live camera data over HTTP through a web server running
entirely on an ESP32 with an attached battery.
Written in C using the ESP-IDF framework and FreeRTOS.
Captures live camera data from an OV5642 5MP camera using SPI and I2C that is saved to an SD card and
sent using websockets over a web server hosting a lean Preact web UI.
This was a self-managed project that taught me how to effectively develop embedded systems software for the
resource-constrained ESP32, read data sheets, solder hardware and read and debug assembly language.
JAudio:
A JVM library using JNLL that created a unified API for using all major desktop audio backends across Linux,
macOS and Windows.
JNLL is used to call a C native library that calls ALSA, PulseAudio, JACK, CoreAudio and WASAPI with
minimal overhead compiled for both x86 and arm (64-bit).
Added approximately only 1-2 milliseconds of additional latency compared to native C programming thus
was usable for realtime audio applications.
This was a self-managed project that I used to learn about audio programming and hard-realtime programming
in Java/Kotlin and C.
PhD Researcher at Swansea University (Apr 2025 - Jan 2026):
Researched and experimented with cutting-edge software verification techniques for safety verification of
railway interlockings for Siemens Mobility.
Provided teaching assistance to undergraduate and postgraduate students teaching Dafny, SPARK Ada, and
Haskell.
Experimented with software verification tools such as OpenJML and Frama-C and researched formal methods for
software engineering.
This was a self-funded PhD that I elected to leave early to pursue a more fulfilling career in industry.
Software Engineer at Disrupt Vidiyo (Oct 2020 - Apr 2025):
Built bespoke software tools to meet unique client requirements using TypeScript, Java and C.
Maintained existing legacy Linux infrastructure using bash and python for improved system reliability
and monitoring.
Improved runtime performance of existing software by improving code efficiency to perform less expensive
computations in hotspots.
Adapted to rapidly changing client requirements and developed strong communication and presentation
skills as a result.
Developed a strong habit for creating well tested, maintainable, software.
Developed a passion for software optimization and a strong competency in Linux.
MSc. Advanced Software Technology at Swansea University (Sep 2019 - Oct 2020):
Achieved a merit grade.
Learned advanced software engineering skills such as operating systems architecture, software testing,
requirements engineering, and software security.
Developed a year-long dissertation project which used GPU hardware acceleration to process and
convert raster images into vector graphics for smaller, more portable and more scalable images with a
focus on animated cartoon images.
BSc. Software Engineering at Swansea University (Sep 2016 - Jun 2019):
Achieved a first class grade.
Acquired fundamental software engineering and computer science skills and knowledge.
Developed a final year dissertation project which used Fast Fourier Transforms to convert
audio samples into their constituent sine waves for compression, storage and re-synthesis.
I enjoy tinkering with computer hardware and homelab servers.
I am an advocate for Free and Open Source software, I use Linux on all my machines.
I enjoy learning literary languages and linguistics, I have achieved a high level of competency in Classical
Persian and Arabic, and a modest level in Ottoman Turkish.
I enjoy listening to a wide range of world music, I play the keyboard in my free time.