Automation Software Engineer

Palo Alto, CA /
Manufacturing Engineering – Manufacturing Engineering /
Full Time
- Redefine what automation solutions in the manufacturing industries can be while automating the process of designing, developing, and deploying new production lines. 
- Create tools for auto-generating automation controls for manufacturing equipment including: 
Electrical schematics 
PLC code 
Robot code 
Human Machine Interfaces (HMI) 
- Create tools that allow for agile software development for automation controls including: 
Unit testing 
Static Analysis 
- Develop software for use in a Manufacturing Execution System (MES) for part quality, genealogy, and process control 
- Use IoT practices and protocols such as MQTT to enable the mass collection and analysis of data from manufacturing lines to drive optimization and predict failures.  
- Design and develop in-house software to use as a user-interface for controlling and troubleshooting automation equipment  
- Design powerful SCADA applications to provide maximum visibility into the realtime and historical performance of the automation lines. 
- Design robust and redundant infrastructure for hosting software used for the production runtime. This includes the usage of clustering for load balancing and fail-over on distributed systems. 
- Use modern software tools and practices to ensure high performance, low latency, and ease of deployment.  

- Understanding of network protocols used in automation environments such as TCP/IP
- Experience programming with HTML5, React, Go, Python, and similar
- Experience working with continuous integration & continuous deployment (CICD) pipeline tools such as Jenkins
- Experience working with dockerized containers and clustering using systems such as Kubernetes
- Experience with data collection and streams using tools such as Kafka
- Experience working with databases and distributed storage systems such as MySQL and Cockroach DB
- Experience working on applications for the manufacturing industry
- BS/MS Computer Science or equivalent
- Will also accept applicants with relevant work experience developing software with a BS/MS in engineering disciplines relevant to automation (Electrical, Mechatronics, etc.) 

Department: Manufacturing Engineering
Location: Palo Alto, CA

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. 
We operate development centers in Plymouth, Michigan; Southern California (Irvine, Carson & LA); Silicon Valley (San Jose and Palo Alto); Vancouver, British Columbia; and Surrey, England; as well as a manufacturing facility in Normal, Illinois. 

Rivian is an Equal Opportunity Employer and Prohibits Discrimination and Harassment of Any Kind: Rivian is committed to the principle of equal employment opportunity for all employees and to providing employees with a work environment free of discrimination and harassment. All employment decisions at Rivian are based on business needs, job requirements and individual qualifications, without regard to race, color, religion or belief, family or parental status, or any other status protected by the laws or regulations in the locations where we operate. Rivian will not tolerate discrimination or harassment based on any of these characteristics. Rivian encourages applicants of all ages.