Description
Prime Responsibilities:- Design, develop, and test software components for embedded systems
- Specify and design software components with formal design methods
- Implement software modules, according to design specifications for uController-based embedded systems
- Verify design and implementation by static tests
- Verify specifications and prototypes by designing and running test cases
- Implement change management and impact analysis of software throughout its lifecycle
- Observe and identify new technologies, for a possible future use.
- Analyze patents.
- Additional duties as assigned
Qualifications:
To perform this job successfully, an individual must be able to complete each essential duty satisfactorily. The requirements listed below are representative of the knowledge, skills, and/or ability required. Reasonable accommodations may be made to enable individuals with disabilities to perform the essential functions.
- Must have experience with a prior successful design and implementation of an embedded system
- Must have a strong knowledge in the following programing languages: C, C++
- Good understanding of UML language for formal design methods
- Good understanding of uController hardware
- Good understanding of software test methods like module level testing and integration testing
- Capability of communicating information clearly and concisely in both written and verbal form.
- Familiarity and design experience with communication interfaces USB, Ethernet, SPI, I2C, UART/USART protocols.
- Familiarity with the use of test instruments, i.e. oscilloscope, network analyzer, signal generator and multimeter.
- Working knowledge of software configuration management with IBM Rational Team Concert and Quality Manager (preferred)
Minimum Education and Experience:
- A Bachelor's degree (B.S./B.A.) in Computer Science or Electronics Engineering or related field and at least two (2) years of related experience is preferred and/or training or equivalent combination of education and experience.