Design, develop, test, and debug embedded system software written in C/C++. This position will require working as an integral part of the total development team with other software engineers, hardware engineers, test engineers, marketing, and manufacturing. Provide innovative and cost-effective solutions that meet customer requirements.
Job Roles and Responsibilities:
Participate in the entire product development process, including:
- Product definition and design specifications
- Evaluates alternative solutions and make recommendations for optimal technical approaches.
- Design and implement high quality software solutions to meet or exceed product requirements
- Participate in the development of software to support factory test equipment
- Work with hardware engineers on defining interfaces and making hardware/software trade-offs
- Perform thorough testing and evaluation of software to ensure maximum quality levels and complete functionality
- Troubleshoot and debug software issues in a timely and effective manner
- Work with Software Quality Assurance group to validate software
- BSEE or BSCS preferred with other degrees considered with appropriate experience
- 5+ years of experience in embedded software development using C/C++.
- Experience with embedded microcontrollers (ARM preferred)
- Experience with real time operating systems and various commercial libraries (Segger preferred)
- Experience using debugging tools and test equipment.
Knowledge & Skills:
- Self-motivated and passionate about your work and embedded systems
- Extensive programming experience in C/C++
- Good grasp of software design principles and software development processes
- Familiarity with test engineering to support factory test interfaces
- Ability to troubleshoot software using S/W debug tools, test equipment, and electrical schematics
- Strong interpersonal, oral, and writing skills
- Ability to work well independently and within a team environment