Teraki is a Berlin based tech driven company enabling true mobility. We stand for innovation in the rapidly developing connected car, self-driving and 3D mapping world. Teraki provides the data reduction and data processing solution for Automotive (IoT) applications and enables the launch of new applications by reducing costs. We help our customers on the challenges that are posed by the exploding amounts of data in connected cars for all sensor, video and 3D mapping data.
In this role, you will work on the productization of cutting-edge video streaming software and algorithms, always in compliance with automotive standards and while making sure that we deliver highest quality products. You will be closely working with Research Scientists and Software Engineers.
Your Responsibilities
- Design and develop highly performant video processing software for hardware constrained embedded devices but also GPU based systems.
- Port, implement and optimize video processing, computer vision and machine learning algorithms developed by our Research Scientists and Codec Developers.
- Write high quality, well tested and documented code, ready to run on special purpose computing architectures used in connected car applications.
- Propose and develop creative and efficient solutions to challenges in video streaming applications and contribute to expanding our intellectual property portfolio.
- Carry out performance benchmarking and analysis to support engineering decisions.
- Provide engineering support to research efforts, working closely with Research Scientists (developing novel algorithms) and backend developers.
Who we are looking for
- You have a Computer Science or Software Engineering background and at least 3 years of professional experience in a similar position.
- You have strong programming skills in C++ (C++14) and good working knowledge in Python.
- You have a good working knowledge of CMake and the associated set of tools (CPack, CTest, KWStyle, etc)
- You have a passion for and a strong experience in low level programming. So, you are proficient for example in multithreading, know when to use heap and when stack memory and are familiar with performance optimization techniques for efficient video-data processing.
- You are familiar with software profiling and are proficient in relevant tools, such as valgrind, perf etc.
- You are experienced in image and real time video processing and are familiar with the technologies and frameworks such as H.264, FFmpeg and OpenCV.
- You have experience with video streaming technology such as RTMP, Multiplexing and GStreamer.
- Ideally you have some experience with GPU programming in CUDA/OpenCL or have implemented algorithms on Digital Signal Processors (DSPs).
- It is a plus if you have some knowledge about MISRA or ISO compliant C++ development.
- It is a plus if you have some knowledge about neural network architectures and their implementation.
- “Can do” and above all “want to do” attitude.
- Motivated fast learner and problem solver who can work in a team as well as independently.
- You are familiar with AGILE tools and working practices (JIRA, etc)
What we offer
- A unique opportunity to actively contribute to future mobility challenges.
- To increase your know-how in state-of-the-art technologies: Data Analytics, Machine Learning and Embedded Development.
- Flat hierarchies and work in a small but highly motivated, multidisciplinary and multicultural team.
- To work in a vibrant start-up environment in the heart of Berlin with the chance to play a big role in the success of Teraki. We do work that matters!