BD

Bilel Drira

available

Last update: 06.09.2022

Embedded software engineer/manager

Graduation: M.Sc. in computer sciences
Hourly-/Daily rates: show
Languages: Arabic (Native or Bilingual) | English (Full Professional) | French (Native or Bilingual)

Attachments

Bilel DRIRA_CV_EN.pdf

Skills

C, C++, java, shell scripting, JavaScript, SQL, Linux, Android, Windows, FreeRTOS, Android SDK, NDK, pthread, OpenCV, Qt, cURL, xml2, Eclipse, QtCreator, Visual Studio, EWARM, gcc, gdb, valgrind, Doxygen, Bugzilla, keil, Versioning, GIT, SVN, Embedded Linux, IoT, Android Framework, Linux kernel drivers, Arduino, Telnet, Scrum, embedded systems, buildroot, Linux driver, spi, ethernet, strace, perf, BLE, sdlc, gitlab, software design, rtos, embedded system, DLNA, python, web service, API, software architecture, zmq, WS, embedded web server, Bootloader, Bluetooth, Modbus, Redmine, SQLite, XML, CSS, FTP, BSP, rootfs, OpenEmbedded, Linux kernel 3.12, u-boot, light sensor, sensor, image processing, OpenCV API, shell, Test Suite, CTS, Bugs, bug tracking, Opera, SDK, Interface, middleware, C/ Linux, IPTV, desktop application, Ogre3D library, raw data, 3D model

Project history

01/2015 - 01/2017
Team leader/Scrum master embedded systems
IT (Internet and Information Technology, 250-500 employees)

Make a low-end controller for electrical installations. My principal tasks were:

o Participate in the design phase and the definition of the software architecture.
o Develop Bootloader, drivers (LCD, Bluetooth, DAC, wdog) and leading code reviews.

Keywords: cortex M4, K64, software design, Logical analyzer, drivers, free-rtos


Web Box Data Logger project

The product collects measures and data from different equipment using Modbus protocol and TOR entries
and exposes it via an embedded web server through a WS API. As a Scrum master and tech leader in a team
of 6 engineers my principal tasks were:
o Lead and manage the development team composed by six engineers using agile methodology.
o Help the team to determine the suited technologies and architecture adapted to the hardware
constraints and the client's demands.
o Lead the development of optimizations due to limited hardware resources.
o Communicate with the client to clarify demands and present team progression.
o Ship the final product and ensure its quality.

Keywords: scrum, Redmine, GIT, multithreaded C, SQLite, WS, embedded web server, XML, CSS, and FTP

Home Gateway Project:
Create a Home gateway Linux BSP based on beaglebone black. My principal tasks were:
o Estimate software development workload
o Create BSP and rootfs with OpenEmbedded and port Linux kernel 3.12 to a new board

01/2010 - 01/2015
embedded software Engineer
IT (Internet and Information Technology, 250-500 employees)

Android box project:

Port Android ICS to a new board based on the Ti-am335x demo board. My principal tasks were:
o Add a new device to the AOSP.
o Add support for light and proximity sensors and 3G data communication to the product (creating
kernel drivers and adding HAL layer to Android framework).
o Add Android recovery functions (partitions, OTA generation, u-boot modifications, etc.)
o Design and develop Android SUOTA application.

Dombox Linux Project:

Create a Linux Angstrom distribution for a new board based on Ti-am335x demo board. My principal tasks
were:
o Create BSP and rootfs with OpenEmbedded.
o Write drivers for light sensor and proximity sensor.
o Test 3G with AT commands.
o Design and develop SUOTA application.



BT Home Smartphone Project:
I have worked for a software editor on personalizing and adapting an Android gingerbread device. My principal
tasks were:
o Develop some Android test production applications, such as an image processing application to verify
camera using OpenCV API, Android SDK and NDK.
o Modify U-boot source code to add more security and facilitate software update procedures.
o Ameliorate a shell to automate Android Compatibility Test Suite (CTS).
o Use repo and GIT to control software version.
o Modify Android framework to adapt it to client requirements.
o Correct Bugs in Android framework and applications. (bug tracking with bugzilla)
o Do Consumption tests to evaluate and detect consumption peaks.

Opera Tablet Project:
I have worked for a software editor on finalizing T-Hub1 project for a telecommunication company. My principal tasks were:
o Implement new software architecture for existing software in C to ensure more stable services and
well-structured and commented source code.
o Integrate new opera SDK 3.0 instead of the old SDK 2.4
o Do Unit tests, and debug and correct bugs.
o Code versioning with SVN and GIT.

DLNA Interface:
I have worked for our client to develop a middleware API for DLNA services. My principal
tasks were:
o Develop C/ Linux multithreaded code and use valgrind to track and correct memory issues.

IPTV Project:
I have worked as a research and development engineer on an IPTV
project based on STLinux 7109 board. My principal tasks were:
o Install STLinux and STAPI environment on the development board.
o Develop a new VOD feature.
o Develop a sample of an embedded QtWebkit web browser supporting transparency and providing
JavaScript functions wrapping the middleware written in C.

01/2010 - 06/2010
Engineer Intern
IT (Internet and Information Technology, 250-500 employees)

I developed embedded software for pocket oscilloscope based on TI LM3S3748 test board and created a Qt
desktop application to retrieve values from the device and display signal variations.

01/2009 - 02/2009
Software Developer Intern
research unit (Internet and Information Technology, 10-50 employees)

Using C++ and Ogre3D library, I Designed and developed an application that interprets the raw data from a
5DT Data Glove 5 and simulates the hand movements in real time through a 3D model.

Local Availability

Only available in these countries: Tunisia
Profileimage by Bilel Drira Embedded software engineer/manager from Embedded software engineer/manager
Register