Embedded Software Architect
onsemi
- Waterloo, ON
- Permanent
- Full-time
- Provide embedded software technical leadership on our programs, working together with IC and software technical leads
- Design world-class embedded firmware solutions for our ultra-low power devices including:
- System-level firmware for applications including hearing aids and automotive applications
- Sample applications and libraries for our SDKs, which target a wide range of markets including IoT, implantable medical and automotive
- Wireless audio streaming applications
- Cybersecurity applications
- Higher-level abstraction layers to aid ease-of-use
- Contribute to the design of our next generation wireless & DSP silicon and software platforms, software development tools and system architecture, particularly from an embedded software developer's point of view
- Provide technical content for end-user documentation
- Provide support for customer requests and issues
- Provide effective mentorship for other members of the team
- Bachelor's or Master's degree in a relevant engineering discipline, preferably with specialization in embedded systems, communications protocols, or digital signal processing
- 15+ years of experience working with embedded systems and firmware development
- Strong embedded software development skills with experience in C
- A passion for designing high quality modular, portable and testable code
- Familiarity with UML or similar architectural representations
- Experience with best-in-class software development methodologies including Agile Software Development, Test-Driven Development (TDD) and/or Continuous Integration/Deployment (CI/CD)
- Experience developing embedded firmware applications using typical microcontroller peripherals & interfaces; bare metal or with an RTOS
- Experience with automotive software development including ISO26262 & ASPICE
- Experience with cryptographic algorithms and root-of-trust schemes
- Experience using microcontroller Software Development Kits (SDK) and vendor sample code
- Familiarity with common embedded Integrated Development Environments (IDE) like Eclipse, Keil or IAR
- Python or other scripting programming experience
- Assembly language experience