Senior Software Engineer - Platform – SYS4001
Location: Campbell, CA, USA
Job Type: Full Time Employee
Career Level: Experienced
Wave Computing is seeking a Software Engineer to develop system software for Wave products. In this role you can use your RTOS experience to develop multi-threaded software to accelerate the pace of Machine Learning in high-performance data centers using heterogeneous equipment. You’ll also be deeply involved in development, unit testing and release of the product as an appliance.
You’ll develop an understanding of the architecture of Wave’s Dataflow Processing Unit custom SoC and the overall system architecture. You’ll be responsible for developing Linux kernel system software to integrate various modules and define a common interface pipeline for modules to communicate at runtime.
Required Skills and Experiences
- 8+ years experience of software development on multi-platform systems
- Expert in C/C++ coding with good understanding of C++ 11 and/or C++ 14
- Competent in multi-threaded programming, synchronization, latency minimization, buffer and memory management
- Good understanding of various system communication and messaging protocol
- Competent in scripting languages, e.g. Python and shell scripting
- Experience with development and build tools like GitLab, Jira, etc.
- BS in Computer Science or equivalent, advanced degree preferred