Sr/Staff Graphics Engineer
Job description
About the role
Figure is pioneering the development of autonomous humanoid robots designed to perform a wide range of tasks in both commercial and residential spaces. This role is focused on the visual systems of our robots, specifically the displays that facilitate communication, interaction, and user engagement. As a Graphics Engineer, you will be responsible for leading the development, optimization, and maintenance of the graphics stack that powers these displays. Your work will ensure that the visual output on our robots is of the highest quality, responsive, and efficient, providing a seamless experience for users and enabling effective interaction with the robots. You will collaborate closely with hardware teams, UI/UX designers, and software engineers to translate visual concepts into robust, high-performance graphics solutions that operate within embedded Linux environments and resource-constrained hardware.
Key facts
What you'll do
- Architect, develop, and refine the entire graphics rendering stack for robot head displays, including low-level GPU pipelines, shader programming, and high-level UI components.
- Lead efforts to optimize graphics performance on embedded Linux systems, ensuring high frame rates, low latency, and efficient power consumption.
- Develop applications and interfaces using Qt and QML, tailored specifically for embedded hardware with limited resources such as RAM, thermal capacity, and GPU capabilities.
- Write, test, and optimize shaders for animations, visual effects, and real-time vector graphics, ensuring smooth and visually appealing output.
- Manage graphics pipelines using Vulkan and OpenGL ES, maintaining compatibility and performance across different hardware configurations.
- Collaborate with the Head of HMI and design teams to translate visual design concepts into functional, responsive, and intuitive interfaces that enhance user interaction.
- Perform performance profiling and benchmarking on embedded hardware to identify bottlenecks and implement improvements for rendering efficiency and power management.
- Integrate graphics functionalities into the core robot software stack, working alongside middleware and embedded engineers to ensure seamless operation.
- Establish standards for graphics testing, continuous integration workflows, and development best practices to maintain high-quality code and reliable deployment.
- Document graphics architecture, development processes, and performance metrics to facilitate team collaboration and future enhancements.
- Stay current with advancements in graphics APIs, shader programming, and embedded graphics hardware to continuously improve the visual systems.
- Support cross-team efforts to troubleshoot and resolve graphics-related issues during development and deployment phases.
- Participate in code reviews, design discussions, and technical planning to ensure the graphics systems meet project requirements and quality standards.
Requirements
- Bachelor's or Master's degree in Computer Science, Computer Graphics, or a related technical discipline.
- Minimum of 7 years of professional experience in UI or graphics engineering, with a proven track record of developing graphics systems for embedded or resource-constrained environments.
- Deep expertise in Qt and QML, including performance tuning, custom rendering, and application development on embedded Linux platforms.
- Practical experience with Vulkan and OpenGL ES graphics APIs, shader development using GLSL or SPIR-V, and managing graphics pipelines.
- Strong knowledge of vector graphics, animation techniques, and real-time rendering principles.
- Experience working with embedded hardware that has limited thermal envelopes, RAM, and GPU capacity, and optimizing graphics workloads accordingly.
- Proficiency in C++ programming, with a solid understanding of Linux user-space development and embedded systems.
- Ability to effectively communicate technical constraints, requirements, and solutions to non-technical stakeholders, including design teams and product managers.
- Experience with performance profiling tools and techniques specific to embedded graphics hardware.
- Familiarity with hardware interfaces such as HDMI, MIPI DSI, and embedded Linux display drivers is a plus.
- Knowledge of display backends like DRM/KMS or EGLFS, and experience integrating graphics with display hardware.
- Strong problem-solving skills, attention to detail, and the ability to work collaboratively in a multidisciplinary team.
Nice to have
- Experience with game engines such as Unity or Unreal Engine, especially in the context of embedded or real-time graphics.
- Familiarity with retained-mode rendering frameworks or scene graph architectures used in complex UI systems.
- Experience with GPU-accelerated rendering of SVG or other vector graphics formats.
- Understanding of display hardware interfaces like HDMI or MIPI DSI, and embedded Linux driver development or integration.
- Knowledge of graphics memory management, buffer handling, and synchronization mechanisms in embedded environments.
- Background in human-machine interaction (HMI) or human-robot interaction (HRI), with an understanding of designing intuitive visual interfaces.
Skills & tools
- C++ programming language
- Qt and QML frameworks
- Vulkan API
- OpenGL ES API
- GLSL and SPIR-V shader languages
- Embedded Linux environment and development tools
Practical notes
Compensation for this role is determined based on the candidate's skills, experience, and relevant knowledge. The salary range provided reflects the current market and internal standards. Additional benefits, such as health insurance, retirement plans, and other perks, may be included with the employment package. The role involves working on-site at the San Jose, CA office, with no remote or hybrid options specified. Candidates should be prepared to engage in a collaborative environment that emphasizes high-quality graphics development for embedded robotic systems.