Ellipticlabs logo 2019

Embedded Software Engineer - C/C++

  • Full-time
  • Oslo, Norway

We are looking for experienced developers/team leads with knowledge of software architecture and design patterns for embedded systems. You will be working on the implementation of advanced machine-learning algorithms for gesture recognition.


About Elliptic Labs:

Elliptic Labs is a global enterprise targeting the smartphone, laptop, IoT, and automotive markets. Founded in 2006 as a research spin-off from Norway’s Oslo University, the company’s patented software uses AI, ultrasound and sensor-fusion to create Virtual Smart Sensors that deliver intuitive 3D gesture, proximity, presence, breathing and heartbeat detection experiences. Its scalable AI Virtual Smart Sensor Platform™ creates software-only sensors that are sustainable, human-friendly and already deployed in hundreds of millions of devices around the world. Elliptic Labs is the only software company that has delivered detection capabilities using AI software, ultrasound, and sensor-fusion deployed at scale. The company is listed on the Oslo Børs.

Elliptic Labs is headquartered in Norway with presence in the USA, China, South Korea, Taiwan, and Japan. Its technology and IP are developed in Norway and are solely owned by the company.



What will you be working with?

  • Software for embedded, real-time audio processing 
  • Implement machine learning algorithms in C/C++ for various SoCs/DSPs  
  • Debug, test, and profile embedded software
  • Integration with laptop, smartphone and IoT platforms
  • Android, MS Windows, AOSP, Linux kernel, Qualcomm Hexagon, ARM Cortex, Intel
  • Development of internal SDK and tooling
  • Possible management tasks and responsibilities



Who are we looking for?

We do not have any hard requirements but we are looking for candidates with some of the qualifications or skills listed below:


  • BSc / MSc in Computer Science, or equivalent 
  • Fluent written and oral communication skills in English
  • Ability to plan work, interface with other engineers, and communicate results effectively
  • Team and people management experience is an advantage but not a requirement
  • Programming experience with C/C++
  • Cross platform development using C or C++
  • Modern C++ (C++11) and STL
  • Knowledge of software design patterns and best practices
  • Experience with embedded real-time system development
  • Algorithm design, mathematical principles and signal processing theory
  • Build tools and toolchains: make, cmake, GCC, Clang/LLVM, Visual Studio, Git, Docker
  • Scripting languages such as Python
  • Worked with Linux environments
  • Knowledge of and experience with microcontrollers, SoCs, and DSPs
  • Continuous integration and continuous development (CI/CD)




What can we offer you?

  • Great working environment with the possibility to grow and develop
  •  New modern office facilities downtown Oslo
  •  Multicultural, inclusive, and nice working environment
  •  Be part of an exciting and global growth journey
  • Frequent social activities and after works events 
  • A culture where supporting each other, being authentic, solid and transparent are important values.