Description
Role: Embedded SW engineer
Location: Brussels
Description:
- Software design and implementation, with minimal coupling and maintenance effort
- Identify performance bottlenecks, bugs and code/functionality duplication, and devise
solutions to these problems - Refactor existing or implement missing functionality
- Clean and fully tested code is expected, with attention towards reuse and efficiency
- Maintain software modules at source code, versioning and build level: inter-module
dependencies and portability towards different platforms and compilers are important
aspects - Define and write minimal C or C++ API's for third party interaction
Qualifications
Technical C/C++ skills:
- Strong knowledge of traditional C and C++ language constructs
- Good knowledge of the compilation and link process, combined with practical
compiler experience (gcc, clang, msvc, ti-ccs, ) - Experience with threading and synchronization primitives
- Correct memory management is a must
Software development process and tools:
- Test-driven development with the catch unit test framework
- Familiarity with continuous integration
- We use the agile software development process, experience with working in a full development life cycle is a bonus
- Software version control with GIT, heavily based on submodules
- Profiling experience with tools like gprof or oprofile is expected
Platforms:
- Knowledge of Embedded Systems architectures
- Knowledge of Linux, Android, Windows, OSX and iOS OS's
- Knowledge of ARM and x86 architecture, DSP knowledge (SHARC, TI) is a plus
- Familiarity with Embedded systems design, low-level hardware interaction and
Real Time processing requirements.