C++ Software Engineer
The ideal C++ Engineer is able to work in Unreal with C++ and Blueprints to assist the UE4 artists in developing content and applications for mixed reality. You will have advanced knowledge of game based AI with an understanding of flight physics for simulation applications. You will own and drive highly visible performance metrics (e.g. latency, memory, bandwidth, power) working on all stages of the software development cycle.
You will identify, propose, and implement improvements in core software infrastructure and architecture across the entire code base, collaborating with engineering teams to develop new tools and infrastructure to support ongoing development efforts.
3-5+ years of professional experience with modern C++(11+), developing, debugging, and shipping large code bases, preferably game development.
Strong background in software engineering fundamentals – data structures and algorithms, problem-solving, high-quality coding, code optimization, memory optimization, performance analysis, understanding of abstraction and modularity, critical path optimization and tuning.
Background in mathematics (linear algebra) and physics (rigid, multi-body simulations and Newtonian mechanics).
3+ years’ experience with real time physics simulations and engines.
In depth understanding of computer architecture, computing bottlenecks, memory hierarchy, data coherency, caches, high performance architectures (VLIW, superscalar, etc), SIMD.
Experience in 3D graphics.
Experience with Jira, Perforce, and Confluence or similar bug/task tracking and version control software.
Experience with low level optimisations and fixing stability issues.
Experience with low latency / high bandwidth real-time data pipelines, batch data processing pipelines, low power embedded systems,
integration of specialized hardware acceleration blocks.
Understanding of GPU and CPU architectures and optimization thereof.
Experience with multi-threading.
Experience with computer vision in CUDA, openCV, etc.
Experience building tools with Python.
Experience in implementing machine learning algorithms to include development of training data sets.
Knowledge of Networking and multiplayer experience in Unity or UE4.
Experience with mixed and virtual reality (Hololens, Rift, VIVE, Gear VR, etc.).
Client server programming.
Experience with Linux, command line tools, admin, kernel optimization, Unreal.
Experience working with military/DoD and understanding the nuances of customer use cases in those industries.
About the department
The Hardware Technology team at Red 6 engineers high performing and highly advanced augmented reality platforms and infrastructure, which support our military partners’ training and operations.
The goal of the Research department is to understand and develop how the multiverse works. Embedded within the Research department is a talented team that builds the tools that allow us to conduct R&D with a unique understanding of bleeding edge technologies. These tools tackle problems from data ingestion and storage, to data visualization and advanced communications networks. In order to achieve this goal, we require a first-rate development ecosystem. As such, we’re investing in building an AR-specific engineering team.
The Red 6 Mission
To build the best in-flight Augmented Reality flight training system in the world, and to create the most lethal combat pilots on the planet.
This job description is not a contract and confers no contractual rights, privileges, or benefits on any applicant or potential applicant. Red 6 has the right to change any and all terms of this job description, including, but not limited to, job responsibilities, qualifications and benefits. Nothing in this job description constitutes an offer or guarantee of employment.
Red Six Aerospace, Inc. is an Equal Opportunity Employer.