Embedded Software Engineer
Company | General Matter |
---|---|
Location | Los Angeles, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s |
Experience Level | Mid Level, Senior |
Requirements
- Bachelor’s degree in computer science, engineering, math, or a STEM discipline and 3+ years of professional experience in software engineering; OR 5+ years of professional experience in software engineering in lieu of a degree (internship experience is applicable).
- Development experience in C, C++, Golang, Python or Rust.
- Experience with embedded or low-level systems development.
- Evidence of exceptional ability (prior projects, portfolio of work, completed products, etc).
- Strong understanding of engineering fundamentals.
- Ability to perform trade studies and make clear recommendations using first principles and engineering fundamentals even with partial information.
Responsibilities
- Architect functionally safe and scalable architectures.
- Develop control and data acquisition firmware in low-level languages for safety critical and fault-tolerant applications (C/C++, Rust, PLC programming).
- Support integrated system testing. Develop and maintain build, test, and deployment tools.
- Create and conduct safety analysis for state machines responsible for actuator control.
- Debug embedded systems using electrical test equipment (logic analyzers, oscilloscopes, etc).
Preferred Qualifications
- Data acquisition system setup, maintenance, and development
- Electrical hardware troubleshooting and assistance in PCBA bring-up
- Signal processing
- Low-level communication protocol debugging
- PLC/SCADA system programming experience
- Security analysis and threat modeling
- Experience in a fast-paced engineering environment or a highly technical role requiring a resourceful, entrepreneurial approach to complete tasks within tight timeframes or budget constraints.