As an Associate Embedded Software Engineer, you will support the complete software development lifecycle of complex projects from defining software requirements through release to production. You will be a key contributor in designing and developing software for efficiency and reuse.
This role requires an individual with strong communication, organization, and technical skills who works well in a multi-disciplinary team.
Essential Functions:
- Participates in the design, documentation, development, and testing of highly reusable embedded software
- Participates in understanding customer and system requirements and translating into software requirements
- Responsible for preparing and presenting software designs to peers, internal and/or external customers
- Participates in integration, debug and test of software and hardware
- Responsible for tracking software development features, tasks and defects through release
- Responsible for software build and release of select projects
- Participates in software project estimation, planning and execution using both Agile and waterfall methodologies
- Leads and participates in software design and code reviews for software components
Qualifications:
- BS/MS degree in Computer Science, Computer Engineering or related field
Preferred Additional Skills:
- Experience with Agile and Waterfall development methodologies
- Proficient knowledge of data structures and inter-process communications
- Proficient knowledge of multi-threaded development and interrupt servicing
- Experience with networking, wireless, and Ethernet protocols
- Experience designing embedded products for Size, Weight and Power (SWaP)
- Experience with object oriented design (OOD)
- 2 years of experience developing embedded C/C++ software
- Experience with embedded development using in-circuit emulators and debuggers
- Experience with basic electronics troubleshooting (e.g., schematics, multimeters, oscilloscopes)
- Understanding of communications protocols (e.g., USB, I2C, SPI, UART etc.)
- Proficient with software configuration management tools. Git preferred.
- Proficient with feature and defect tracking tools. Jira preferred.