Software Engineer

Employer
Rivian
Location
Palo Alto, California
Posted
Nov 04, 2024
Closes
Nov 09, 2024
Ref
2844835282
Discipline
Engineering, Software
Position Type
Engineer
Specialty
Other
Hours
Full Time
Organization Type
Corporate, Other Corporate
About Rivian:
Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.

As a company, we constantly challenge what's possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.

Role Summary:
We are seeking a highly skilled Software Engineer proficient in Modern C++ (C+ and above), Rust, or Go to join our team. The ideal candidate will have a deep understanding of operating system concepts and the ability to write efficient, high-quality code in resource-constrained environments. You will work on cutting-edge systems, develop robust unit tests (GTest, GMock), and contribute to high-impact embedded software projects.

Responsibilities:
Design, develop, and maintain embedded software applications using Modern C++ (C+ or later), Rust, or Go.

Ensure code quality through comprehensive unit testing (GTest, GMock) and adherence to coding standards.

Develop and maintain software for embedded systems with expertise in operating system concepts (e.g., memory management, concurrency, multi-threading).

Optimize performance in resource-constrained environments.

Effectively collaborate across cross-functional teams to drive project success.

Strong knowledge of embedded databases, TCP/IP stack, and middleware components such NATs, MQTT, HTTPs gRPC.

Work with data serialization technologies such as Protocol Buffers (Protobuf).

Implement communication protocols and security standards such as mTLS.

Utilize build systems such as Yocto for creating custom Linux distributions.

Collaborate closely with the cloud team; familiarity with cloud technologies is a plus

Qualifications:
Education:

Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.

Experience and technical skills:

3+ years of experience in software engineering, with a focus on embedded systems.

Proficiency in programming languages such as C/C++, Rust, Go

Strong background in distributed systems, networking, and real-time communication protocols (NATs, MQTT, HTTPs, gRPC).

Experience working with Linux-based systems.

Experience working on vehicle communication protocols (e.g., CAN, Ethernet, UDS).

Automotive industry experience or familiarity with automotive-grade software development is a plus.

Familiarity with TensorFlow Lite or ONNX for deploying machine learning models in embedded environments is a plus.

Familiarity with cybersecurity best practices and secure software development methodologies.

Soft Skills:

Excellent problem-solving abilities with a strong capacity to work independently as well as collaboratively within a team.

Effective communication skills for cross-functional collaboration with engineering and business teams.

Pay Disclosure:
Salary Range/Hourly Rate for California Based Applicants: 116,000 - 145,000 USD (actual compensation will be determined based on experience, location, and other factors permitted by law).

Benefits Summary: Rivian provides robust medical/Rx, dental and vision insurance packages for full-time employees, their spouse or domestic partner, and children up to age 26. Coverage is effective on the first day of employment, and Rivian covers most of the premiums.

Company Statements:
Equal OpportunityRivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.

Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at .

Candidate Data PrivacyRivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes ("Candidate Personal Data"). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law.

Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian's service providers, including providers of background checks, staffing services, and cloud services.

Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.

Please note that we are currently not accepting applications from third party application services.