Software engineers may develop embedded software, user interface software, regression tests, hardware-in-the-loop integration tests, control system development tools, database systems, operating systems, compilers, interpreters and device drivers. Software engineers perform work requiring the application of standard engineering principles, practices, procedures and evaluation criteria in conjunction with appropriate software and compliance standards. Responsibilities may include design solutions/implementation, test creation/execution and/or general support.
- Design, support and test of moderate to high complexity software systems and sub-systems.
- Strong knowledge of software development and analysis tools including editors, compilers, linkers, debuggers, code analyzers, version control systems, software testing tools, etc.
- Creation of specifications, process study, research investigations, report preparation and other activities requiring knowledge of Woodward products and specific market requirements.
- Develop and facilitate execution of test plans. Devise new approaches to problems encountered.
- Perform work which includes a variety of complex features such as conflicting design requirement and difficult coordination requirements.
- Provide work effort estimates, assist in project planning efforts including project task definition.
- Act as a leader for engineering technical reviews.
- Assignments of project engineer on specific projects - may direct the activities of multiple Software or Software Verification Engineers.
- Participation in strategic planning process.
- Participation in process/standard improvement activities.
- May be required to engage into customer and industry presentations.
VERIFICATION SPECIFIC RESPONSIBILITIES:
- Assure quality of software or software tool using regression, integration and system testing, as appropriate.
- Creating and reviewing verification plans; capturing needed requirements.
- Assuring proper test results; reviewing test results with developers and provide technical expertise and knowledge during issues solving.
- Coordinate/perform all levels of testing per predefined test plan; monitor adherence to test schedule(s).
- Assure creation of automated regression testing; research new technologies to improve testability.
- Assure robust software product release readiness reviews, including appropriate sign-offs.
- Assure pre-existing product life cycle development process; monitor process for effectiveness.
Materials and Equipment Used:
- PC and related equipment.
Working Environment / Physical Activities:
- Work is generally performed in a normal office environment; however, the job may take the member into various areas of the plant where there is possible exposure to noise, chemical solutions, dust and temperatures above 80 degrees F.
- Moderate travel may be required.
- Advanced engineering knowledge, proven software design, development and verification aptitude.
- Capable of writing good software requirements that satisfy system expectations.
- Advanced written/verbal communication skills and presentation skills; advanced teamwork abilities.
- Advanced problem solving & troubleshooting skills and analytical calculation skills.
- Solid use of PC's and associated software.
- Full knowledge of software engineering lifecycles and quality process.
- Basic leadership skills.
- Solid knowledge in specialized technical field or product family or wide spectrum of general knowledge.
- Awareness of new technologies and new tools usage in the industry.
Education or Formal Training:
- 4 year technical/science degree or International equivalent required.
- Greater than 4 years professional software engineering experience or a combination of experience and advanced degree required.
- Solid experience with software development and/or verification required.
Project technical leadership experience desired.