Software Engineer (Game Engine Integration)

Employer

Job Description

About HaptX

HaptX develops technology that brings touch to virtual reality with unprecedented realism. We are a multidisciplinary team based in San Luis Obispo, California, and Seattle, Washington.

HaptX Gloves combine precise motion tracking with realistic tactile and force feedback, granting users a natural presence in a virtual world they can feel. Through plug-ins for Unreal Engine and Unity, our software development kit enables customers to create next-generation VR simulations with high-fidelity haptics. We are constantly improving our hardware and software systems in the pursuit of making experiences in virtual reality more compelling than ever. We are looking for qualified candidates to join us on this journey.

HaptX is proud to offer its employees comprehensive health insurance, a 401(k) plan, paid time off, relocation assistance, and equity options.

At HaptX, we celebrate differences and are committed to a diverse workplace that fosters inclusion, belonging and psychological safety for all employees. We are proud to be an equal opportunity employer and expressly prohibit any form of workplace discrimination based on race, color, religion, gender, sexual orientation, gender identity or expression, national origin, age, genetic information, disability, veteran status, or any other legally protected characteristics.


About This Position

Through a C++ API and plug-ins for Unreal Engine and Unity, HaptX’s software development kit provides the tools our industrial customers need to integrate high-fidelity haptics into VR simulations and teleoperation environments. We are looking for an excellent software engineer to own the interface between our C++ API and commercial game engines. This engineer will develop expert knowledge of the HaptX SDK and will have the opportunity to expand the SDK with features they design and implement.


What makes this position different from other software engineering jobs is how our software links a virtual world to the real world. Strong applicants have developed applications in at least one 3D game engine and are comfortable with vector math, concepts in physics/mechanics, 3D geometry, and trigonometry. You do not have to be a physics guru, but you will need to know how to work with forces and velocities, know when to take a dot or cross product, and have SOHCAHTOA down pat. An ideal candidate will also enjoy the thrill and the challenge of pioneering a new software frontier while working in a tight-knit, collaborative team of enthusiastic engineers developing the world’s most advanced haptic technology.


The HaptX software team is actively building the next evolution of the HaptX SDK, features of which the new software engineer will plan and implement along with other engineers. In the process, they will participate in both design reviews and code reviews. A well-qualified candidate will know how to code but must also have the design intuition to identify an ideal solution amid technological constraints. This candidate will also possess the debugging skills to advance imperfect solutions toward this vision. They may write an occasional script to accelerate development and deployment processes.


If you are fluent with C++, enjoy working with 3D game engines, and seek a unique, challenging, and rewarding application of your interests, this may be the position for you.

Please note that we primarily use game engines to support customers in training, design, manufacturing, and teleoperation applications rather than entertainment.

The only way to experience haptics is to use hardware. Given the importance of haptics to this position, at least some work will be on site at one of our offices. We will give priority to candidates who reside in or are willing to relocate to the Seattle, Washington, area or the San Luis Obispo, California, area.


Key Responsibilities

  • Build and maintain plug-ins for game engines, leveraging functions and features provided by the engines and integrating with haptics-oriented APIs
  • Design and develop C++ and/or C# code
  • Own tasks within a larger project
  • Collaborate with other engineers of multiple disciplines to establish system requirements across functional boundaries
  • Understand end-user and customer requirements and write software to meet those needs
  • Write robust, flexible, maintainable, adequately documented code per company-established best practices
  • Create and execute unit and functional tests
  • Perform haptic testing and tuning
  • Review code
  • Participate in design reviews
  • Demonstrate integrity and seek to build trust with coworkers
  • Understand and follow HaptX policies and procedures, including security policies


Required Qualifications

  • 3+ years’ professional experience in a related position, separate from internships and formalized education.
  • B.S. in Software Engineering, Computer Science, or related field
  • Command of at least one major 3D game engine (e.g. Unreal Engine, Unity)
  • Command of the C++ programming language
  • Ability to write efficient and easily expandable code
  • Effective software debugging skills
  • Object-oriented design and common software design idioms
  • State machine design
  • Sturdy grasp of physics/mechanics concepts (forces, velocities, etc.)
  • Geometry, trigonometry, and basic linear algebra, including vector and matrix math
  • Demonstrate the ability to effectively and clearly communicate concepts, ideas and knowledge to other individuals and teams
  • You are a team player with a friendly, positive attitude. You are comfortable wearing multiple hats and have genuine willingness to help out where help is needed.
  • Humble, coachable, eager to learn and grow from feedback
  • Resourceful, adaptable, able to find solutions and thrive in a rapidly evolving and fast-paced environment with minimal supervision


  • No sponsorship available for this position
  • Residence in or willingness to relocate to the Seattle, Washington, area or the San Luis Obispo, California, area
  • Availability to work 40 hours per week
  • Fully vaccinated against COVID-19 (i.e., has received final required dose in a COVID-19 vaccination series, including Moderna, Pfizer, Johnson & Johnson, or a vaccine administered outside of the United States and approved by the World Health Organization). Reasonable accommodations will be offered in accordance with applicable law for those who cannot receive the vaccine.
  • Be able to spend approximately six hours a day at a keyboard
  • Have two working hands within the acceptable size range of HaptX Gloves DK2
  • Gloves' size limits are as follows:
  1. Hand length less than 208 millimeters (8.2 inches) from base of palm to tip of middle finger
  2. Hand breadth less than 96 millimeters (3.8 inches) across the knuckles
  • Have enough sensation in both hands to feel the output of HaptX Gloves


Desired Skills and Experience

  • VR development
  • 3D modeling
  • C# experience
  • Use of version control tools such as Git or Subversion
  • Use of version control frontends such as GitHub or Sourcetree
  • Scripting experience (e.g. Bash, Python, Perl)
  • Networking
  • Multithreaded application development
  • Digital filtering
  • Knowledge of control systems, such as proportional–integral–derivative (PID) controllers


Please note: this job description is not designed to cover or contain a comprehensive listing of activities, duties or responsibilities that are required of the employee for this job. Duties, responsibilities and activities may change at any time with or without notice.