Senior Embedded Software Engineer
Mountain View, CA, United States
About UNISON
UNISON is a small team of passionate people from companies like Meta, Sony, and Apple and research labs like the IARAI, based in the SF Bay Area and backed by some of the world’s best investors.
Learn more about us, our product, and our team here:
in-unison.com .
About The Role
We are seeking a talented and motivated Embedded Software Engineer to join our team working on a cutting-edge Virtual Reality (VR) device. In this role, you will be responsible for designing, developing, and optimizing embedded software that powers our next-generation VR hardware, with a comprehensive focus on System-on-Chip (SoC) integration, driver development, Android platform expertise, Board Support Package (BSP) development, and extensive experience with operating systems and hardware components. As part of a dynamic engineering team, you will have the opportunity to contribute to the creation of immersive and groundbreaking VR experiences.
Your Responsibilities
Collaborate with cross-functional teams, including hardware engineers, firmware developers, and system architects, to define the VR device's comprehensive software requirements and specifications, encompassing SoC integration, BSP development, and diverse hardware components.
Develop, debug, and maintain embedded software solutions for various components of the VR device, including real-time operating systems, drivers, communication protocols, and hardware interfaces.
Implement efficient and reliable software that enables advanced features of the VR device, such as tracking, rendering, input controls, audio processing, and sensor fusion
Design and develop drivers for the VR device's peripherals and interfaces, optimizing performance and ensuring compatibility with the OS framework.
Develop and maintain the Board Support Package (BSP) for the VR device, encompassing bootloader, kernel, and device drivers, to provide a robust software foundation for the hardware platform.
Interface with a diverse range of hardware components, including sensors, cameras, Time-of-Flight (ToF) sensors, LiDARs, displays, LEDs, speakers, and various input/output interfaces (IOs).
Leverage your extensive experience with operating systems to optimize system performance, resource utilization, and responsiveness in resource-constrained environments.
Conduct thorough testing and validation of embedded software to ensure high-quality and reliable operation across different hardware configurations.
Participate in code reviews and contribute to the development of coding standards and guidelines.
Provide technical documentation and support for other teams, including assisting in the creation of user guides and developer documentation.
Your Qualifications
5+ years of experience in embedded systems
Strong programming skills in C and some C++, with a deep understanding of real-time operating systems and low-level programming.
Familiarity with hardware interfaces, communication protocols (e.g., I2C, SPI, USB), and device drivers.
Experience with Board Support Package (BSP) development, including bootloader, kernel, and driver configuration.
Strong understanding of operating systems, system optimization, and resource management.
Experience with debugging tools, emulators, and hardware debugging equipment.
Ability to work in a collaborative team environment and communicate effectively with technical and non-technical stakeholders.
Strong problem-solving skills and a proactive attitude toward tackling challenges.
Preferred Qualifications
Understanding of 3D graphics and rendering concepts is a plus.
Prior experience with Agile or Scrum development methodologies is advantageous.
Proven experience in embedded software development, preferably in the consumer electronics or VR industry, with a strong focus on SoC integration, driver development, Android compatibility, BSP development, operating systems, and hardware components.
Experience with Android development and integration, including familiarity with Android architecture and frameworks.
Knowledge of SoC integration and experience working with SoC vendors' SDKs.
Expertise in interfacing with a variety of hardware components such as sensors, cameras, ToF sensors, LiDARs, displays, LEDs, speakers, and IO interfaces.
Knowledge of software development tools and version control systems (e.g., Git).
Why UNISON?
We are a small team of passionate people working hard to create products that we would be proud to recommend to our friends and family. You can read more about careers at UNISON here:
in-unison.com/careers .
We see living between virtual and physical worlds as a tool for creating, storytelling and sharing — not a hindrance to your total lived experience. You can learn more about our worldviews at
in-unison.com .
We are growing quickly so if you’re interested in joining us but don’t see a job that fits what you’re looking for or if your experience doesn’t quite check all the boxes, please feel free to reach out – we are happy to connect.
#J-18808-Ljbffr