Back to results

Software Engineer - XR

  • Richmond, BC, Canada

$80,000 to $135,000 CAD / year · Full-time

Applications open in a new tab.

Job details

Pay
$80,000 to $135,000 CAD / year
Job type
Full-time
Apply by
Experience
3 to 5+ years of experience in embedded software development or similar technical positions.
Posting language
English
Posted

Original job description

The Software Engineer designs, develops, and maintains software applications and system software for embedded platforms. The engineer collaborates with cross-functional teams to define and implement new features, write clean and efficient code, troubleshoot and debug issues, and ensure software is up to date with the latest visual, spatial computing, and display technology standards. Strong problem-solving skills, proficiency in C/C++ programming, and excellent communication abilities are essential for this role, which includes supporting customer projects and regional market needs across the America region.

Responsibilities:

  • Independently handle software development and maintenance of assigned customer projects for standard, single tasks. Optimize spatial rendering pipelines, motion-to-photon latency, and sensor fusion algorithms to ensure smooth, low-jitter immersive experiences on XR wearable hardware.
  • Independently support customers in developing SW features, debug bugs reported by customers and test teams on software releases, maintain the software stack, and enhance demo applications.
  • Implement and optimize low-level hardware drivers, firmware, spatial sensors or display interfaces, and communication protocols (including the LTE modem/Wi-Fi software protocol stack) under occasional supervision.
  • Conduct unit testing and integration testing to verify software functionality and performance. Analyze and troubleshoot camera, IMU, depth/ToF sensors, MIPI displays, and audio codec bring-up issues, providing timely solutions to debug and upgrade existing software.
  • Collaborate closely with the team leader, cross-functional teams, and the FAE team to complete assigned tasks, seeking support from seniors or team leaders for more complex issues.
  • Participate in code reviews to ensure quality standards are met, with the support of a senior or team leader. Perform other tasks as required by the chain of reporting and business needs based on a similar task level.
  •  Maintain, create, and update software documentation, high-level and low-level design specifications, technical analysis reports, and knowledge articles under occasional supervision.

Educational and Skill Requirements

  • Bachelor’s degree in computer engineering, Electrical Engineering, Computer Science, or a related field.
  • 3 to 5+ years of experience in embedded software development or similar technical positions.
  • Proficiency in C & C++ programming, as well as Java or system scripting languages.
  • Experience with microcontroller/microprocessor architecture, firmware programming, Linux OS internals, system programming, and RTOS environments.
  • Hands-on experience with hardware/software integration, configuring hardware peripherals (GPIOs, UART, I2C), and peripheral bring-up including MIPI LCD/OLED, sensors, cameras, and audio/video codecs.
  • Hands-on experience with 6DOF pose tracking, Visual-Inertial Odometry (VIO), SLAM (Simultaneous Localization and Mapping), and IMU/sensor fusion.
  • Some working experience with OpenXR, Android HAL/NDK, and graphics APIs (OpenGL ES, Vulkan) for real-time 3D spatial rendering.
  • Experience with camera/display timestamping, sensor synchronization, motion-to-photon latency reduction, and frame reprojection techniques.
  • Familiarity with dedicated XR system-on-chip (SoC) architectures (e.g., Qualcomm Snapdragon XR platforms or custom microcontrollers).
More about this job

Responsibilities

Develop and maintain embedded software for XR wearable hardware, including optimizing spatial rendering, sensor fusion, latency, drivers, firmware, and communication protocols. Support customer projects by debugging and testing software, bringing up sensors and displays, collaborating with cross-functional teams, participating in code reviews, and maintaining technical documentation.

Requirements

Requires a bachelor’s degree in computer engineering, electrical engineering, computer science, or a related field, and 3 to 5+ years of embedded software or similar experience. Candidates should have strong C/C++ skills and experience with embedded systems, Linux or RTOS, hardware integration, XR tracking and rendering technologies, sensors, and display interfaces.

Skills

  • C
  • C++
  • Embedded Software Development
  • Linux Internals
  • Firmware Programming
  • Hardware/Software Integration
  • Sensor Fusion
  • Visual-Inertial Odometry
  • SLAM
  • 6DOF Pose Tracking
  • OpenXR
  • Android HAL/NDK
  • OpenGL ES
  • Vulkan
  • Motion-to-Photon Latency Optimization
  • Peripheral Bring-Up

Visa sponsorship

Not detected in the job text

Categories

  • Software
  • Technology
  • Engineering

Keywords

  • Embedded Software
  • C
  • C++
  • Java
  • System Scripting
  • Microcontroller Architecture
  • Microprocessor Architecture
  • Firmware
  • Linux Internals
  • RTOS
  • GPIO
  • UART
  • I2C
  • MIPI
  • LCD
  • OLED
  • Camera Sensors
  • IMU
  • Depth Sensors
  • Time-of-Flight Sensors
  • 6DOF Pose Tracking
  • Visual-Inertial Odometry
  • SLAM
  • Sensor Fusion
  • OpenXR
  • Android HAL/NDK
  • OpenGL ES
  • Vulkan
  • Motion-to-Photon Latency
  • Frame Reprojection

Report this job