Palo Alto, CA

Software Engineer - Factory Automation & Controls


- 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:

  • Auto-backups
  • Unit testing
  • Static Analysis
  • Deployment

- 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.)