VR/AR Developer

Employer

Job Description

VR/AR Software Engineer

Job Description

As a VR/AR Software Engineer, you work within the Learning Solutions | Technology team to design, develop, and sustain mixed reality environments and business simulations with rich interactive graphics and data visualizations. You will serve as an individual contributor within the team, using your experience to implement new functionality and innovations that are characteristic of immersive technologies. You will build appealing and easy to use user interfaces, ranging from 2D to gesture and 3D virtual touch. A successful VR/AR Software Engineer will have experience with high-performance graphics, physics engines, and 3D game environments. They are skilled in application development, software architecture, and design. Working on a wide variety of tasks you will use emerging technologies and combine technical skills with instructional design sensibilities.

The position will work internally with Learning Design and Lifecycle Analytics teams, as well as with Product Line Training Managers, Subject Matter Experts, Learners, and with external vendor representatives and consultants.

Responsibilities:
  • Use a game engine, Unity (preferred) or Unreal, to design and layout scenes
  • Manage texturing, lighting, shaders, and physics in a scene
  • Design interface paradigms appropriate for use with VR/AR input controls
  • Develop custom behaviour/scripting using C# (Unity) or C++ (Unreal)
  • Collaborate with designers, developers, domain experts and product owners to implement scalable and interactive applications
  • Create or customize 3D models, and create textures for the same
  • Decimate existing technical CAD models to models suitable for realtime rendering
  • Write maintainable software, following good software development practices (unit tests, SOLID), following DevOps
  • Provide technical leadership and documentation to developers and stakeholders
  • Mentor others regarding technical matters
  • Build prototypes, products, and systems suitable for testing
  • Contribute to design standards and supports design re-use
  • Interact and engage with customers, users, product managers, and technical architects to understand needs and increase positive impact of users’ experience
  • Keep abreast with emerging technologies and keeps own knowledge current through reading and self-study

Qualifications:
  • Bachelor's / Master’s / PhD degree in computer science or related field
  • Minimum 3 years of direct experience (BA Degree)
  • Unity/Unreal game engine
  • 3D/2D graphics
  • C# (ideally, although experience with C++/python/Java or similar is also fine)
  • Strong object-oriented programming experience, writing idiomatic Unity code