Head of Software Engineering Job Description Template
Our company is looking for a Head of Software Engineering to join our team.
Responsibilities:
- Lead the design of the software architecture for the system and implement Emerge’s algorithms;
- Develop tools to support automated testing and continuous integration;
- Design and build interfaces to integrate the system with AR, MR, and holographic displays;
- Develop products throughout the full lifecycle, turning initial concepts into production-ready code;
- Research sensor fusion and other hardware platforms and their integration into Emerge products;
- Lead software and firmware engineering teams to meet product milestones;
- Support the development and maintenance of Emerge’s SDK/API;
- Develop and maintain design documentation.
Requirements:
- Experience leading cross-functional engineering teams;
- Proficiency in C/C++ programming. Experience in Python;
- BS degree in Computer Science or Engineering;
- Parallel programming/multithreading experience;
- SDK/API development experience;
- Compiler technology: gcc/icc/msvc experience;
- 10+ years industry experience or equivalent;
- Windows experience required. Linux/Mac OS X experience;
- Network programming experience;
- Entire software development lifecycle experience, from ideation to shipping;
- Deep understanding of 3D math (matrices, vectors, quaternions) and linear algebra;
- Graphics Processing: CUDA or OpenCL experience;
- Software build tools, issue tracking and version control software (preferably Git) experience;
- Strong computer science fundamentals (data structures, data management and communication, algorithm development);
- MS/PhD in Computer Science or Engineering degree.