Job Description and Requirements
Synopsys technology is at the heart of innovations that are changing the way we live and work. The Internet of Things. Autonomous cars.
Wearables. Smart medical devices. Secure financial services. Machine learning and computer vision. These breakthroughs are ushering in the era of Smart, Secure Everything where devices are getting smarter, everything’s connected, and everything must be secure.
Powering this new era of technology are advanced silicon chips, which are made even smarter by the remarkable software that drives them.
Synopsys is at the forefront of Smart, Secure Everything with the world’s most advanced tools for silicon chip design, verification, IP integration, and application security testing.
Our technology helps customers innovate from Silicon to Software, so they can deliver Smart, Secure Everything.
For the ARC CPU team in St Petersburg we are looking for a Senior Embedded Software Engineer who provides technical leadership and contributes to the development of software audio codecs, highly optimized neural networks inference libraries general purpose DSP libraries and DSP kernels for 5G communication for broad range of Synopsys processor cores (RISC and RISC+DSP).
An important part of the role is to provide proper application kernels and benchmarks as part of an architecture team during the definition of new processor extensions and cores.
This role also requires collaboration with several teams located in multiple Synopsys offices by developing specifications, conducting code reviews, brainstorms, etc.
Defining, developing, porting and low level optimization of embedded software
Providing key software processing kernels and representative application code to allow for a quantitative approach in the development of processor extensions, accelerators and new processor cores
Representing applications in the architecture team for new processor (extensions)
Creating technical documentation and product collateral
Writing unit tests and debugging embedded DSP software
Providing expert support to customers, including quick benchmarks for new software kernels
Significant experience in low-level embedded software development
Experience with algorithmic and low-level code optimization
Knowledge of architecture of one the modern CPU : e.g. ARM, ARC, MIPS, DSPs.
Fluency in C programming for embedded systems, knowledge of modern compilers, scripting languages, ability to analyze assembly code.
Experience with software development for one of the following domains : audio, communication, vision / imaging, machine learning
Strong cross team communication skills, team leading experience and tuition of junior engineers
Significant experience with professional SW development methodologies (requirement management, version control, bug tracking, code analysis, code review)
Optional requirements :
Good mathematical background
Knowledge of digital signal processing theory and fixed point math. Given a certain algorithm, ability to come up with the best implementation on the given hardware
Knowledge of vector CPU / DSP architectures
Knowledge of 4G / 5G or other wireless standards
Familiarity with AI domain
Proficiency in C++
Practical experience with Synopsys ARC CPU / DSP cores
We offer :
Interesting work in 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.)