Software Engineer (Data Pipeline/Cloud Dev)
Brain Corp is a San Diego-based AI company creating transformative core technology for the robotics industry. Our diverse engineering teams in Software, Hardware Design, and Embedded Systems are creating comprehensive solutions to support the builders of today's autonomous machines in successfully producing, deploying, and supporting commercial robots across industries and applications. Brain Corp is funded by the SoftBank Vision Fund and Qualcomm Ventures. For more information please visit: https://www.braincorp.com/
As a member of the Software Engineering team, the Software Engineer will be working on a newly launched product and will help to solve complex problems in the material handling space. As a core member of our AI & Platform Division, you will work with our world-class team of engineers and scientists to build a platform for the next generation of intelligent machines. Your experience will be pivotal in advancing our mission: safe and reliable robots everywhere.
Duties and Responsibilities:
- Deliver software features/functionality that increases customer value and product scalability.
- Increase the agility/software release frequency of the team and organization through code refactoring, simplification, and removal.
- Review performance metrics of production fleet as a key indicator of customer experience from which to identify software product improvements.
- Coordinate with cross-functional areas of expertise including hardware, firmware, platform, user experience, quality, and cloud engineering to deliver world-class customer value.
- Remain up to date with developments across platform, navigation, and other robots, in order to leverage and contribute towards software innovation across all products.
- Other duties and responsibilities as assigned.
What you need:
- Bachelor’s Degree in computer science, software engineering, or a related field.
- Experience coding at an industry level with a strong background in programming constructs and idioms.
- Experience designing/developing/testing/deploying/maintaining features and software releases.
- Experience developing applications deployed in the cloud.
- Solid understanding of design patterns, data structures, and advanced programming techniques.
- Experience with version control systems such as git.
- Desire to constantly learn as well as teach others.
- Strong analytical skills that enable data-driven decisions and prioritization.
Things that make a difference:
- Master of Science degree in computer science, software engineering, or a related field.
- Experience building and maintaining data pipelines and Extract, Transform, Load (ETL), e.g. Kafka, Airflow, Spark Streaming.
- Experience with Google Cloud Platform (GCP).
- Experience with REST APIs, databases, Docker, and Kubernetes.
- Experience with instrumentation and monitoring (e.g. Prometheus, InfluxDB, Jaeger).
- Experience with continuous integration, deployment and release management tools.
- Experience with Agile and Scrum methodology.
- Proven system integration and software architecture skills
- Good working knowledge of robotics and surrounding systems
- General understanding of compliance and regulatory frameworks, including Sarbanes-Oxley (SOX), General Data Protection Regulation (GDPR), California Consumer Privacy Act (CCPA), International Organization for Standards (ISO) 27001 and cloud security implementations.
- Experience responding to customer information security and/or compliance inquiries and audits.
The physical demands described here are representative of those that must be met by an employee to successfully perform the essential functions of this job. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions. Essential functions may require maintaining the physical condition necessary for sitting, walking or standing for periods of time; operating a computer and keyboard; talk and hear at normal room levels; using hands to finger, grasp, and feel; repetitive motion; close visual acuity to prepare and analyze data and figures; transcribing; viewing a computer terminal; extensive reading; lift, push, carry, or pull up to 10 pounds.
The work environment characteristics described here are representative of those an employee encounters while performing the essential functions of this job. The noise level in the work environment is usually quiet to moderate. Employee is exposed to the typical office environment with computers, printers and telephones.