|
Cambridge Vacancies >
Senior Software Engineer
Software Development, Cambridge
Reporting to: Software Team Leader
Job reference: FSC-SSE-01
Background
This is an opportunity for a talented Senior Embedded Software Engineer to join an extremely strong technical team of engineers designing, developing and integrating a variety of embedded software for use in our multimedia SoCs in high-volume consumer electronics products such as DAB and Internet radios.
This involves coding in high level languages such as C and C++ within a resource constrained multi-processor environment. The work is varied and will include software/firmware development and integration, systems engineering, test and debugging. This is at all levels including drivers, middleware, UI, 3rd party IP technology integration, audio codecs and streaming protocols.
In addition to the detailed design, coding and debugging contribution, this senior role will also include some technical leadership responsibilities.
Key responsibilities
- Leadership of small technical sub projects, including task definition and work breakdown, time estimation, planning, tracking and reporting
- Design, development and testing of high quality complex software to agreed timescales
- Integration of new hardware and software systems
- Contributing to the maintenance of software through bug investigation/characterisation and the development of appropriate fixes or workarounds
- Contributing to the continual development of the department’s software procedures
- Participating in peer code reviews and design reviews
- Creating clear and concise documentation
- Mentoring and supporting junior engineers
Key Skills
Required:
- Effective team player
- Self motivated and resourceful
- Thrives on the challenge of a dynamic, fast-paced working environment
- Excellent understanding of embedded software design techniques
- Excellent understanding of programming languages and fluent in C
- Pragmatic and effective problem solver
- Very strong understanding of debugging techniques in a complex real time embedded system
- Very good communication skills
- A track record (unlikely to be less than five years) of effective software development expertise in a relevant industry
- Good understanding of source management (e.g. SVN) and bug tracking systems (e.g. Bugzilla)
- Good software engineering and source code control practices
- Technical writing – able to express ideas clearly and concisely
- Strong, relevant degree from a top university
Desired:
- Knowledgeable in C++, DSP assembler or scripting languages such as Python
- Knowledge of DAB/FM/drivers/audio codecs/TCP/IP networking, UPnP and HTTP
- Good understanding of embedded communications systems
- Understanding of processor architectures and peripherals
- Good commercial awareness
|