DescriptionJob Description: Senior Embedded Software Engineer
Summary
The Senior Embedded Software Engineer is responsible for designing, developing, and implementing complex embedded systems on ASP capital and connected systems. This role will work closely with the verification and validation team to ensure the quality and reliability of ASP software products. This position reports to the Engineering Manager of Software and Connectivity (ASP IDC).
Responsibilities
Under limited supervision, general direction, etc. and in accordance with all applicable government laws, regulations and ASP policies, procedures and guidelines, this position:
- Design, develop, and implement embedded software for our products and systems.
- Collaborate with cross-functional teams to define, design, and implement new software features.
- Debug and resolve software defects and issues.
- Conduct performance analysis and optimization of the embedded systems.
- Review code and design, and provide constructive feedback to team members.
- Lead and mentor junior engineers to promote knowledge growth and ensure project deliverables. Interface among multiple departments and teams including Quality and Service etc.
- Identify and recommend opportunities for efficiency improvements in department processes.
- Conduct static analysis, code coverage analysis, and other verification techniques to ensure high-quality software.
- Responsible for communicating business related issues or opportunities to next management level.
- Performs other duties assigned as needed.
Requirements
- Bachelor’s degree in Computer Engineering/Science or other relevant technical experience is required.
- 5 + years of experience in embedded and system-level software development
- 3+ years of working experience in C/C++ & Linux Internals
- Knowledge of security best practices tools to troubleshoot and resolve hardware/software issues on Linux systems.
- Extensive knowledge of real-time operating systems, hardware & microcontrollers. Experience in Yocto Linux is a preferred.
- Proficiency in Python or other scripting languages
- Experience with software development tools, such as IDEs, debuggers, and version control systems
- Strong understanding of embedded systems, software architectures, and design principles.
- Familiarity with software configuration management tools, defect tracking tools, and peer review techniques.
- Experience with oscilloscopes, analyzers and electronics is preferred.
- Knowledge of defect management tools such as JIRA or Bugzilla is required.
- Prior work in a regulated environment like medical device industry is preferred.
- Familiarity to Agile methodology is preferred.
- Has good verbal and written communication skills.