We are currently looking for a highly motivated person who has a professional approach to Software Development to work in the Embedded Software Engineering Team.
You would join a team of like-minded people who are driven to contribute to interesting projects within product innovation across mobile and automotive industries.
The Embedded team works on the porting and optimization of our software stack. As such the Embedded Software Engineer will be involved in the development, testing and deployment of the software libraries for our DepthSense systems on various embedded blocks, such as DSPs, ARM NEON and various GPUs.
As a member of the embedded software engineering team, you will take part in different projects and will work closely with other team members such as project managers, hardware R&D engineers and sales and marketing professionals.
You will implement camera data path algorithms on different target embedded platforms and hardware acceleration units
You will participate in the design (using a creative approach), development, maintenance and testing of software components for new versions of the camera hardware
You will evaluate the performance of the camera software stack on the target platforms, find bottlenecks using code benchmarking and profiling, and optimize the implementation
You have a master or civil engineering degree in computer science, mathematics, physics or electronics, and 5+ (101b) years of experience in an Embedded or Computer vision domain.
Strong knowledge of C
Knowledge of embedded systems
Experience with project management tools such as Redmine, Jira or another one
Experience with version control systems such as Git, SVN or another one
Computer vision experience
Experience with ARM SIMD (NEON) / GPU (OpenCL) / DSP (e.g. Qualcomm Hexagon, TI DSP, Analog Devices DSPs or another one);
Python 2 / 3 programming experience
Knowledge of GNU C / C++ and clang based cross-compiler toolchains
Multithread programming experience
Knowledge of AOSP (on ARM)
Building C / C++ applications for : Android (ARM, x86-64) Linux (x86-64, ARM)
Embedded processor architectures ARMv7-A and ARMv8-A
Operating systems : Android (ARM) Linux (x86-64, ARM)
Experience various debugging and profiling tools for : Embedded Linux Android Baremetal (Lauterbach Trace32 / ARM DS-5 / or another JTAG / Trace tool)
Experience in automatic build systems
Experience with Agile / Scrum / XP
Test-driven development methodology experience