Job Description and Requirements
Synopsys is a worldwide leading supplier of horizontal IP which is used by our customers to design semiconductor integrated circuits.
The product portfolio includes IP components and subsystems for USB, DDR, Ethernet, ARC CPU cores, processor peripherals, embedded memories and many more.
We are looking forward to strengthen the Synopsys R&D team in St Petersburg with a senior DSP software engineer. Key responsibilities : Take part in creation of IP subsystems () as a leading SW developer
Definition, design and development of embedded DSP SW in C for no-OS / RTOS / Linux environments running within ARC based subsystems
Porting, optimizing, debugging and maintaining embedded DSP software
Creation of technical documentation and presentations describing SW solutions
Building productive internal / external working relationships in a multi-site multi-functional work environment
Requirements (MUST) :
Excellent cross platform C programming skills
Experience in low-level embedded DSP software development
In depth understanding of at least one microprocessor or DSP architecture, strong assembly programming skills
Experience in porting and optimization of audio, voice algorithms for DSP architecture
Hands-on hardware / software debugging skills including use of jtag
Understanding of professional SW development methodologies (VCS, bug-tracking, code analysis, review and audit systems)
BS or MS in computer science, DSP, electrical engineering or similar, with at least 5 years’ experience in similar work
Strong communication skills
Helpful qualifications :
Experience in algorithmic and platform-dependent optimization
Experience in assembly programming language
Extensive algorithmic and mathematical background
Background in data structures and algorithms
Familiarity with audio coding standards
Familiarity with compression algorithms
Knowledge of Digital Signal Processing theory (FFT, time-domain filters, etc.)
Typically requires a minimum of 5 years of related experience. Possesses a solid understanding of specialization area plus working knowledge of one other related area.
Resolves issues in creative ways. Exercises independent judgment in selecting methods and techniques to obtain solutions.
Executes projects from start to completion. Contributes to moderately complex aspects of a project. Determines and develops recommendations to solutions.
Works on team-driven or task-oriented projects. May guide more junior peers with aspects of their job. Networks with senior internal and external personnel in own area of expertise.