Bassam Helal

Software engineer with over 5 years of experience building and optimizing software on Linux. Currently pivoting into the embedded sector with a focus on realtime safety-critical systems. Expertise includes MISRA C++ 2023, Embedded Linux development and high-performance software development and optimization. Brings academic research experience in formal methods and software verification for railway systems with Siemens Mobility.

Skills


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

Projects


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.

Experience


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.

Education


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.

Interests


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.