C++ Systems Programmer (preferred High Performance Low Level Compute Software Development experience) with excellent understanding of C++, OOAD, OOP.
Should exhibit advanced C++ software development skills, ability to write efficient code.
Experience developing high perfromance compute kernels for computer vision, signal processing, hardware accelerators is a distinct advantage.
Must have:
- Hands on experience in developing systems software / high perfromance low level compute software
- Solid programming experience in C++ - Proven experience in object oriented analysis and design
- Experience in all aspects of designing and developing SW in C++ language
- Experience with multi-threaded program design and development
- Ability to quickly understand low-level hardware features from register to CPU and system-level
- Good understanding of at least one hardware micro architecture (CPU and/or Hardware Accelerator)
Preferred:
- Experience in developing compute kernels for high performance
- Working with software architect to define, develop prototypes for new ideas or solutions for customers
- Excellent analytical skills for troubleshooting and issue resolution.
Possess high capability in driving issues to closure
- Excellent debugging skills.
- Self-motivator and an excellent team player.
- Possess outstanding written and verbal communication skills.
Ability to communicate design rationale and build consensus with the team.