Manoel’s CV

Professional Profile

I’m an Embedded System Software Engineer with a strong background in Linux system development.

I have considerable experience of the Linux environment, from both professional and personal use. My last position gave me the opportunity to greatly increase my experience of low-level system software programming as the main system developer.

I also have a number of personal projects that range from writing system emulation softwares to digital electronic design, or video games related project.

These personal project allowed me to gain a good knowledge and experience about electronic hardware design, FPGA development.

Objective

Key Skills

Technical skills

C C++ ARM Assembly
Python Software Emulation Embedded Linux
Real-time OS Digital Electronics Reverse Engineering
Git / Subversion / Perforce VHDL CPLD/FPGA
Serial protocols (SPI, i2c, 1-Wire) Schematic Capture PCB Design
x86 Assembly RISC-V Godot Game Engine
GPGPU Programming GLSL

Personal skills

Quick learning Flexibility Creativity
Autonomy Problem Solving Highly capable of abstraction

Work Experience

Demo Software Engineer - Imagination Technologies (Kings Langley, UK)

Demo Team - July 2020 to December 2023

  • Worked on platform support for demo needs
  • Created two RISC-V CPU related demos
  • Learned the basis of 3D modelling
  • Learn the Godot Game Engine
  • Created a GPU based demo using the Godot Engine for a RISC-V platform using a PowerVR GPU
  • Helped with the organisation of physical demo running during various event, and provided support during these events.

Platforme Software Engineer - Imagination Technologies (Kings Langley, UK)

NNA Project - March 2017 to July 2020

  • Responsible for porting the NNA driver to various internal test platforms
  • Worked on integration between the GPU and NNA driver for heterogenous compute
  • Building CI for cross compiling the NNA driver and runtime in Jenkins

DDK Software Engineer - Imagination Technologies (Kings Langley, UK)

ISP Project - August 2016 to March 2017

  • Working on the ISP (Image Signal Processor) driver for linux based systems
  • Adding support for new hardware blocks
  • Added support for testing for new hardware blocks

Platform enginees - Sepura (Reading, UK)

August 2013 - December 2015

  • Working on porting and adapting of the configuration software used in handheld radio for the newest Linux based platform
  • Made two major refactorisation of the code for the configuration software because of the original code age and over-complexity. This largely simplified further development and update on this part of the software.
  • Done another refactorisation for setting default parameter of a radio, changing a pure static code solution to a more flexible dynamic table based solution.
  • Made code changes to be able to detect non genuine and badly manufactured battery that could be used on the handheld device to prevent any potential charging problem because they present a high risk for the end user.
  • Worked with the task force on bug hunting for the release of the newest platform, on either the main control software and the whole Linux environment, including the Linux Kernel.

Embedded System Software Engineer - Bookeen (Paris, France)

February 2009 - June 2013

  • Building of an embedded Linux distribution from end to end (from the bootloader to a shell) for multiple ARM SoC based devices (ARM9, Cortex-A8…)
  • Creating a bootloader nearly from scratch for an ARM926 based SoC
  • Integrating of all the software needed by the end user software, init script etc…
  • Implementing of all of the needed missing drivers, like display drivers, accelerometer drivers
  • Designing and implementing an update application and its appropriate file format using strong cryptography and hashing methods
  • Building and maintaining computer and on device application used during the factory process, like for serial number attribution, testing devices
  • Reusing, upgrading and maintenance of dead open source project

Software Engineer - Nexawave Solutions (Montpellier, France)

August 2006 - July 2008

  • Proposing an update to the used compilation toolchain to make more easier parseable makefile using a XML based language and implementing it
  • Helping in the maintenance of a Component Oriented framework design for embedded devices (NSI)
  • Evaluating and maintaining of the portage of the WebKit library to the NSI framework
  • Integrating the WebKit library in Media Centre like demonstration

Education

2005 - 2006 Université Montpellier II (Montpellier, France)

Master degree in Robotic and Automatism (Master 2 STPI SAEI Science Automatique et Electronique Intégré, spécialisation en Robotique et Automatisme)

2002 - 2004 Université Paris 8 (Paris, France)

Professional Bachelor degree in embedded computing

University-based professional institute in mathematic and computer science with a specialisation in embedded computing (IUP Génie Mathématique et Informatique, option MIME Micro Informatique et Machines embarquées)

2000 - 2002 Lycée Astier (Aubenas, France)

BTEC Higher National Diploma in computer science (BTS Informatique Industrielle)

Other informations

  • Contact: contact me [at] godzil [dot] net