Key Roles and Responsibilities
· · Software development and coding - write, modify, and debug software for various applications.
· Update and maintain existing software applications to address evolving user requirements, resolve bugs, and enhance performance.
· Perform software unit test based on white box testing, integration and system test based on black box testing.
· Develops and implements software testing protocols to validate product quality and functionality.
· Supports the development, modification, and execution of software test plans.
· Maintains design specification and technical documentation during Product Life Cycle
· Support Software hazard analysis, FMEA and risk analysis for any software design changes.
· Perform other ad-hoc duties as assigned by immediate supervisor.
Requirements
Education
· Min Degree in Computer Science, Engineering, or other related technical degree.
Experience
· Proficiency in one or more programming languages relevant to the job (e.g., C++,Java, Python).
· Familiarity with the principles of IEC 62304
· Familiarity with version control systems, such as Git
· Proficiency in various testing techniques, including manual testing, automated testing, regression testing, and performance testing.
Familiarity with FPGA development tools would be advantageous
Skills
· Strong understanding of software development principles, practices, and methodologies.
· Knowledge of software design patterns, architectural principles, and system design.
· Proficient coding skills and experience in debugging and troubleshooting.
· Ability to develop test plans, test cases, and testing strategies based on software requirements and specifications.
· Strong communication skills and the ability to work effectively in a team environment.
Awareness of and adherence to security best practices in software development.