Embedded Software Engineer
Location: Bothell, Washington
We are seeking an experienced Embedded Software Engineer to join our team. In this role, you will be responsible for designing, developing, and testing software for embedded devices and systems. You will play a critical role in ensuring the efficiency, stability, and scalability of system resources, as well as troubleshooting and enhancing system performance.
Key Responsibilities:
- Design, develop, code, test, and debug system software for embedded devices.
- Analyze and enhance system efficiency, stability, and scalability.
- Collaborate in technical reviews of system architectures, product requirements, and risk management.
- Develop and execute software design verification and validation test protocols.
- Maintain software documentation, including requirements, design, and architecture documents.
- Work closely with cross-functional teams, participating in product, electronic, and mechanical design reviews.
- Utilize a variety of development tools (e.g., IDE, version control, compilers, debuggers) to create and refine software.
Required Qualifications:
- Bachelor’s degree (or higher) in Electrical Engineering or Computer Science.
- Minimum 4 years of experience developing real-time embedded software, preferably in regulated or safety-critical environments (medical device experience is highly desired).
- Proficiency in C/C++ and experience with embedded real-time operating systems (FreeRTOS, QNX, or POSIX-compliant systems).
- Hands-on experience with ARM processors and communication protocols like SPI, UART, I2C, USB, Ethernet, WiFi, and Bluetooth.
- Familiarity with code version control, formal bug tracking systems, and working in teams of 3+ developers.
- Strong debugging and troubleshooting skills, with experience using lab tools such as oscilloscopes and logic analyzers.
Preferred Experience:
- Proficiency in Python.
- Experience with embedded product UI development or low-level hardware interfacing.
- Knowledge of embedded database systems, Flash File Systems, and device drivers.
Additional Skills:
- Excellent written and verbal communication skills.
- Detail-oriented with strong project management capabilities.
- Ability to work effectively in a team setting, collaborating with diverse groups.
Working Conditions:
- Primarily office-based with occasional need to handle and move networking equipment.
- Comfortable working in front of a computer for extended periods.
Join our dynamic team and help us drive innovation in embedded software systems. Apply today!