Job Summary
- Collaborate with marketing and manufacturing in helping define requirements.
- Analyze, design, and implement solutions to requirements.
- Propose improvements to identified software inefficiencies and deficiencies.
- Use scopes, meters, power sources, etc. as necessary to complete the task.
- Plan and architect a testing environment using existing tool chain for a given product.
- Participate in sprint planning sessions.
- Identify test cases necessary for verifying firmware requirements.
- Implement or manage the implementation of test cases.
- Manage code changes using version control tools.
- Participate in code reviews.
- Implement or manage the execution of test cases.
- Log defects in project defined defect tracking tool.
- Read and follow relevant project engineering practice and engineering standards documents.
For This Role, You Need:
- Bachelor of Science in Computer Engineering, Electronics Engineering, or Equivalent Engineering with a focus on programming
- Prior 4-6 years of hands-on embedded development experience
- Expert programming skills with C / C++ compilers and linkers
- Knowledge or ability to learn requirements management database tools such as (Jama)
- Familiarity with command line application interfaces and operation
- Ability to participate in a team environment
- Must have a commitment to quality
- A mechanical background or mechanical aptitude is helpful
- Methodical problem-solving skills are needed
- Be able to comprehend and adapt solutions to existing code structures
Preferred Qualifications that Set You Apart:
- Knowledge and experience with 8-, 16-, and 32-bit Microcontrollers
- Knowledge and experience with ARM architecture
- Knowledge and experience with RTOS
- Knowledge and experience with agile development methodologies
- Knowledge and experience with distributed version control such as (GIT, Mercurial)
- Knowledge and experience with static code analysis tools such as PC-Lint
- Knowledge of Ethernet Stack