Embedded Software Engineer
з/п не указана
Synopsys is a worldwide leading supplier of horizontal semiconductor IP, which is used by our customers to design semiconductor integrated circuits. The product portfolio includes for instance IP components and subsystems for USB, DDR, ARC CPU cores, EV processor cores, Security IP, Automotive IP, processor peripherals, embedded memories and many more.
For the Synopsys ARC Processor and Subsystems team in Saint-Petersburg we are looking for an Embedded Software Engineer who will become a part of the team developing highly optimized software targeting areas such as machine learning (including neural networks), audio processing algorithms, next generation wireless networking and general purpose DSP algorithms.
In this role candidate will perform verification of optimized software libraries running on ARC cores against reference implementations, characterize performance and accuracy metrics. Automation will play significant role in day to day activities. This work assumes close cooperation with engineers from SW and HW R&D teams, DSP SW optimization team and compiler team.
- Implementing library usage examples and test applications
- Debugging of embedded software, finding failure root-causes or performance bottlenecks
- Creating of technical documentation and application notes
- Coaching of junior embedded software engineers
- Deep understanding of embedded processors architecture, acquaintance with DSP SW optimization approaches
- Full proficiency in C, ability to understand assembly code
- Practical experience with scripting languages, such as Python, bash, Perl, Tcl. Fluency in command line interface and OS utilities (Linux — must have, Windows — desirable)
- Experience with tests automation and Continuous Integration, organizing automated jobs in Jenkins, computing grids (e.g. SGE/UGE) or similar environments
- Strong teamwork and communication skills
- Experience with professional SW development methodologies (version control, bug-tracking, static/dynamic code analysis, code review systems)
The following qualifications are a plus
- Proficiency in C++
- Practical experience with ARC, ARM or MIPS cores
- Knowledge in area of digital signal processing theory, including such aspects as floating-to-fixed point processing conversion, understanding of orthogonal transforms (FFT, MDCT), filters, linear algebra algorithms
- Acquaintance with such application domains as machine learning, linear algebra, vision/imaging, audio, security or automotive safety
- Interesting work in an international team
- Salary is based on experience, professional background, interview/test results
- Flexible work schedule
- Social package (bonus program, major medical insurance for employee and family members, on-site English lessons, corporate events, etc.)