Embedded Software Engineer (Vision)
- Design and optimize application software architectures and frameworks for real-world performance while matching or exceeding customer requirements.
- Design and profile efficient mechanisms to improve utilization on computers with multiple heterogeneous hardware engines.
- Working on areas such as component abstraction layers, inter-process data sharing and communication, and process scheduling.
- Collaborate with hardware, platform, testing, performance and algorithmic teams
- MS or higher in computer engineering, computer science or related engineering fields, with 2+ years of experience or equivalent experience
- Excellent C and C++ programming skills
- Strong scripting skill with Python
- Experience designing, developing and debugging multithreaded/distributed applications like multimedia systems, game engines, etc.
- Solid understanding on QNX, Linux, Android, and/or other real-time operating systems.
- Thrive on designing low latency, highly performant code
- Excellent communication and analytical skills.
- Self-motivated and a great teammate
- Understanding of embedded and high efficiency software architectures
- Experience with large frameworks like used in ROS, android etc.
- Experience on developing software in heterogeneous architectures, including GPUs and other types of accelerators.
- Be hands-on and work well within a team of algorithm, software and hardware engineers, with a significant level of detail orientation and a penchant for data organization and presentation
- Knowledge of automotive systems, notably ADAS or SLAM systems
- Experience with version control systems GIT and build system like CMake/Bazel
The ideal candidate will have a passion for generating new ideas, be a proactive and quick learner, and be able to demonstrate creativity and innovation.
If interested, please send your resume to: firstname.lastname@example.org