Head of Software Engineering Job Description

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.