Designs and develops software systems in conjunction with hardware product development, applying principles and techniques of computer science, engineering and mathematical analysis.
Required Skills and Background:
- Extensive experience with C/C++ development on Linux
- Experience developing kernel device drivers for Linux Operating System
- Experience developing multi-threaded applications
- Knowledge of Object Oriented Programming, Design Patterns, Separation Of Concerns and general software engineering best practices.
- Experience working with: Unix/Linux, Source Control tools and git, and bug tracking tools.
- Requires an M.S. in Computer Science plus 4 years experience or B.S. in Computer Science plus 6 years experience.
Desired Skills:
- Excellent verbal and written communication skills.
- Experience in software development for embedded systems developing and using BSPs cross compiling, and debugging
- Experience with TCP/IP and network programming
- Experience with video formats and signaling
- Experience with video test equipment: Waveform monitors, signal generators, and oscilloscopes.
- Inter-process communication, and multi-processing applications.
- Experience with STL and STL extender libraries such as Boost and Qt.
Email resumes to: jobs@aja.com