Latitude Senior Software Engineer at Latitude designs and maintains core software primitives for the advanced driver assist system (ADAS). Collaborates with autonomy teams and ensures integration with runtime infrastructure frameworks.
Responsibilities
Design, develop, and test the reliable and high-performance software that all autonomy functions are built upon
Develop tools for providing insight into the performance and behavior of the system
Collaborate with autonomy teams to ensure their systems integrate well with the runtime infrastructure frameworks, enabling their success
Create automated unit and integration tests that verify the software works as expected and meets the requirements
Work closely with the simulation team to ensure that the runtime system is accurately tested off-vehicle in a virtual environment
Contribute to software architecture development within your area of ownership
Work with Product Security and Functional Safety teams to ensure the system is hardened and adheres to automotive safety standards
Qualification
ProvenExperience with BazelExperience with POSIX APIs
Required
Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, Robotics or a related field and 4+ years of relevant experience (or Master's degree and 2+ years of relevant experience, or PhD)
Proven, hands-on experience developing high performance C++ applications or robotics software in resource constrained environments
At least 5+ years of development experience using modern C++ in a systems programming role
Ability to design software components and systems, and clearly communicate your designs through documents, diagrams, and presentations
Experience developing in a Linux or Unix environment
Strong team player able to operate effectively on cross-functional teams to deliver an integrated software product
Preferred
Experience with Bazel
Experience with ROS or another robotics platform
Experience managing large scale configuration and composition (e.g. JSON, YAML)
Experience with writing custom plugins for Protobuf’s compiler, protoc
Experience with driver monitoring systems
Experience with software systems using a publish/subscribe model of communication (e.g. Iceoryx, ZeroMQ)
Experience with distributed and concurrent programming paradigms