1. Designs, implements, and debugs applications according to corporate policies and business operating procedures on new and sustaining engineering projects.
2. Leads the technical development for mid-size projects and implementation in C/C++ and other programming languages as needed.
3. Collaborates on unusual/complex issues and approval on plans and larger-scale designs.
4. Participates in design reviews to identify issues and provide design recommendations; participates in code reviews and/or inspections to identify issues and provide feedback.
5. Collaborates with software team members to propagate good design principles and development practices across the team.
6. Investigates new software technologies and tools.
7. Creates software development process documentation to include architectural documents, requirements, object oriented designs, interface specifications, and verification documentation.
8. Performs unit and integration testing to ensure software meets specifications and expectations.
9. Reviews and resolves software change requests and defects.
10. Work as a collaborative team member in engineering projects. Collaborates with groups outside of direct responsibilities including other engineering groups, Quality, Regulatory, Marketing, etc. for project planning, analysis of product requirements, and to outline proposed solutions.