Our client is looking for an experienced senior software engineer to work with a team of designers, researchers, and software developers to develop an integrated HMI software solution for concept car development. This person will primarily focus on the UI/UX/ and 3D visual software development but will also need a broad set of skills to develop core software systems to support HMI development.
Role Responsibilities:
HMI Software Development (80%)
- Develop and maintain visual features for evolving HMI engine that supports multiple projects.
- Maintain, optimize, and fix bugs for HMI engine that runs on multiple platforms. - Work closely with designers, researchers and software developers to implement 2D and 3D visuals that meet targeted aesthetic and functional requirements.
- Iterates on multiple design implementations based on a dynamic design environment.
- Work with team to develop end to end work flow of integrating design assets by developing thorough knowledge of relevant software.
- Develop tools and other UI based apps to support development of HMI software.
- Debug and troubleshoot bugs and issues in a complex and data driven networked environment.
- Write robust, maintainable code.
HMI Software Integration (10%)
- Build, deploy, and test HMI software in concept car.
- Setup concept car hardware and test integration with software.
- Participate in on-road concept car development activities.
Project Management – (10%)
- Works alongside automotive engineers, software developers, researchers, designers, and product managers throughout all stages of the production cycle - Collaborate with team to plan and organize software development tasks.
Education:
Bachelors Degree in Computer Science or Equivalent
Required skills:
5+ years C++, embedded C++ experience as primary language.
- UI/UX software development experience with knowledge of UI design patterns (MVC, MVP, MVVM).
- 3D graphics software development experience in DirectX/OpenGL/Vulkan.
- Experience developing complex software with a multi-disciplinary team of designers, researchers, and software developers.
- Experience working in an Agile based sprint schedule with ability to manage and complete tasks.
- Self-sufficient and motivated in learning and incorporating new and existing software technologies.
Desired Skills:
- Experience in developing proprietary game engines or use of known engines (Unreal Engine, Unity3D, Godot, etc).
- Experience with setting up build solutions for complex projects using known build systems (CMake or equivalent).
- Network programming experience developing services using TCP/UDP/HTTP protocol.
- Excellent debugging experience using available tools to troubleshoot applications with memory, threading, and network issues
- Experience developing multi-platform C++ code (Windows, Linux, Android).
- Knowledge of Modern C++ features (C++11/14/17).
- Experience using 3D modeling applications to create and export assets for game engine pipeline (3ds Max, Maya, Blender)
Work Flexibility:
- Flexibility to travel (domestic and international)
- Full time position
- Hybrid Remote position (50% remote, 50% in office)