THE BIG PICTURE of Software Engineer Job
Can you design and implement robust, embedded, multi-threaded, and portable code? Are you excited about enabling the expansion of digital video capabilities in consumer electronics? Do you know how to build and work in a highly productive team while having fun and remembering that you choose to be an engineer because it was enjoyable and rewarding?
The software engineer will contribute to a team of engineers developing the next generation Consumer Electronics (CE) Software Development Kits (SDK). This team works within a larger organization responsible for DivX CE technology portfolio.
THE EVERYDAY VIEW
The ideal Software Engineer candidate will excel at performing several activities:
- Use team-based, agile, development practices using Scrum methodology.
- Design and implement robust and modular C and C++ components for video file playback, management, and streaming.
- Develop and implement automated unit, integration, and regression tests. Your code must be very robust because it will be used in many different hardware environments.
REQUIRED SKILLS AND EXPERIENCE
You are a skilled software designer and engineer, fluent in C and C++. You understand how real-time, multimedia applications work and work with digital video and audio as a hobby. You can communicate clearly and lead a team to success.
The Software Engineer person we want to hire also:
- Has over two years of experience efficiently creating C/C++ code for cross-platform environments (Windows, Mac, Linux) and knows all about data structures, design patterns, language features, standard libraries and writing easy-to-understand code
- Able to communicate designs using industry-standard documentation techniques as well as meetings and other face-face communication to transfer knowledge and lead team through implementation.
- Is a very quick learner who uses an appropriate combination of available resources including knowledge transfer meetings, independent study of code and documentation, email communication, and research.
- Pushes the envelope and drives the people around them to higher standards of rigor in the technology, development tools, and development practices. Not satisfied with standard code coverage or average designs – drives real value through innovation and adoption of best practices.
- Has experience with both end-applications and creating technology stacks with clean APIs
- Has practical hands-on experience with software development tools and techniques across a wide range of platforms, including a solid working knowledge of stuff like make files, ant files, Visual Studio solutions, workspaces, projects, library dependencies, build configurations (e.g. debug vs. release), static vs. dynamic linking, compiler flags, optimization, etc.
- Has experience with version control systems, automated build and testing tools, code coverage tools, memory checkers and other instruments that help ensure healthy, robust code
- Has a degree in computer science or a related technical discipline, or the equivalent
The following experiences are optional but highly desired:
- Digital video formats and encoding
- Adaptive streaming
- Digital Rights Management
- Multimedia frameworks
To apply for Software Engineer Job: http://tinyurl.com/6a7clpf