Detalii loc de munca
JOB PURPOSE: You will be writing software for state-of-the art video-processing system-on-chip (SOC) devices designed in-house and used in advanced broadcast and telecoms equipment. The software you write will enable the next generation of exciting digital video broadcast and mobile internet video-on-demand services. The devices are highly parallel compute engines integrating multiple RISC processors; fully programmable DSP engines; and application-specific hardware accelerators to achieve unprecedented performance and power efficiency. KEY RESPONSIBILITIES: Coding in C (sometimes C++) and/or low-level SIMD assembler. Software verification, development of test frameworks, and scripting test suites. Bug diagnosis and fixing. Developing and maintaining documentation. Participating in peer reviews. Working with team members using an agile methodology. Working with colleagues (internal customers) integrating codecs into applications. Contingent on level of experience, once knowledgeable on the machine and software architecture, taking requirements and developing designs for new software components. VERY ATTRACTIVE PACKAGE OF SALARY UP TO £50000 PLUS RELOCATION.
PERSONAL QUALITIES: Excellent verbal and written communication skills, able to present confidently and effectively. Self-motivated, enthusiastic, and proactive. To be persistent and resilient. Team player, with effective organizational skills. SKILLS & EXPERIENCE: A good degree in a numerate discipline. At least 3 years' experience working in at least one of these areas: o Multi-processor application development. o Multi-threaded programming. o Development of embedded software for applications with hard real-time requirements. o Real-time Digital Signal Processing (DSP) programming. Excellent high level design, coding and troubleshooting skills. Good mathematical, analytical or modelling skills. A solid understanding of software development approaches and knowledge of when and how to apply them successfully. DESIRABLE SKILLS & EXPERIENCE: Awareness of hardware issues, from system architecture to detailed low-level issues. Appreciation of SIMD and DSP or VLIW computer architectures. Experience of functional coverage or metric-driven verification methodologies. Proficient with source code control tools such as subversion. Development experience of any block-based video codec such as MPEG-2, H.264, or HEVC.