Would you like to take a part in implementing rock-solid, multi-threaded, portable code for Windows and Mac environments? Do you look at extending existing applications through plug-ins when possible? We’re looking for a Software Engineer to develop our next generation of A/V media technologies for PCs and Macs. If you’re team-driven, never territorial, freely give credit to others and you’re ready to start building some really cool stuff, send us your resume.
The everyday view:
- Develop next-generation digital video software for PC and Mac.
- Design and implement next-generation multi-threaded multimedia and real-time technologies. Also use established API and standards.
- Design and implement robust and modular C and C++ components for video file playback and management, UI and application management that are fast, efficient and reusable across Windows and Mac.
- Design and implement automated unit, integration and regression tests. Your code must be rock-solid because it will be used in many different hardware environments.
- Work within a team-based agile development environment (Scrum) in iterative development cycles, and provide input on architecture, design and tactical decisions to help improve code, tools, and processes.
- Occasionally work on documentation and set up technical tests to show how your creations work.
Required skills and experience
- Over 3 years of experience efficiently creating C/C++ code for cross-platform environments (Windows, Mac) and knows all about data structures, design patterns, language features, standard libraries and writing easy-to-understand code
- Experience with both end applications and creating technology stacks with clean APIs
- 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.
- Qt 4.x/5.x and UI experience.
- Experience with version control systems, automated build and testing tools, code coverage tools, memory checkers and other instruments that help ensure healthy, robust code
- Understands that requirements are rarely perfect and is willing to extract the spirit of the requirement to make the system
- Degree in computer science or a related technical discipline or the equivalent
- Good written and verbal skills, fluent English is very necessary
The following experiences are optional but highly desired:
- Experience in HTML5 development
- Experience in User Interface design
- Experience optimizations
- Background in using native system APIs and UI APIs for Windows and MacOS X
- Experience developing python and shell scripting