Performs a variety of moderately complex engineering duties to design, plan, and oversee the architect, design, development, and management of software systems applied to new or existing products. Evaluates progress and results of projects. Recommends changes in design, procedures or objectives as n