C++ Software Engineer – AI & DSP Processor Simulators
Designs, develops and optimizes C/C++ simulator software for Ceva's NPU and Vision DSP processor platforms on Linux and Windows, diving into a large existing codebase and working with architecture, algorithms, system, VLSI and QA teams. Requires 4+ years of software engineering experience with strong OOP skills and enthusiasm for ML/AI.
- Compensation
- Not disclosed
- Location
- Ra'anana, Center District
- Work setup
- Hybrid
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- 4+ years
- Category
- Software engineering
- Posted
Skills
Must have
- B.Sc./M.Sc. in Computer Science, Software Engineering or a related technical field
- 4 years of hands-on software engineering experience
- Strong C/C++ programming and debugging skills, including OOP design of complex embedded software systems
- Comfortable diving into an existing codebase to make modifications; strong scripting skills
- Enthusiastic about ML, AI and Computer Vision, with excellent problem-solving skills and attention to detail
- Independent, self-motivated and curious, with good communication skills and ability to manage time and prioritize tasks
Nice to have
- Experience in Python and in deploying AI/ML models
- Experience developing a simulator for hardware, or modelling internal mechanisms of ASIC platforms
- SystemC/TLM experience
- Experience developing in Linux environments
Full description
About the Business Unit:
Ceva’s AI Division drives innovation in Machine Learning and Generative AI architectures for edge devices and cloud inference, with R&D spanning Neural Network Processors (NPU), Vision DSPs and advanced AI algorithms.
Our technology powers smartphones, tablets, automotive, robotics, surveillance cameras and a wide range of edge AI and 5G systems.
We combine cutting-edge hardware IP design with embedded software and system-level solutions, enabling the next generation of intelligent, energy-efficient devices.
About the Role:
In this role, you will design, optimize and develop features in the simulator.
Simulators are used daily by our architecture, algorithms, system, VLSI and QA teams – and by Ceva customers running the most advanced AI networks on our processors.
The development language is C/C++ (OOP) on Linux and Windows platforms.
Responsibilities:Design and develop simulation software for Ceva’s NPU and DSP platforms within an agile, top-notch software organization.
Perform in-depth analysis and optimization of simulator performance and accuracy across multiple Ceva processor architectures.
Dive into a large existing codebase to debug and deliver clever solutions to complex software challenges.
Interact and engage with architecture, algorithms, system, VLSI and QA teams, including remote design centers.
Requirements
- B.Sc./M.Sc. in Computer Science, Software Engineering or a related technical field.
- 4 years of hands-on software engineering experience.
- Strong C/C++ programming and debugging skills, including OOP design of complex embedded software systems.
- Comfortable diving into an existing codebase to make modifications; strong scripting skills.
- Enthusiastic about ML, AI and Computer Vision, with excellent problem-solving skills and attention to detail.
- Independent, self-motivated and curious, with good communication skills and the ability to manage time and prioritize tasks.
Advantages:
- Experience in Python and in deploying AI/ML models.
- Experience developing a simulator for hardware, or modelling internal mechanisms of ASIC platforms.
- SystemC/TLM experience.
- Experience developing in Linux environments.