The position involves designing software tools and subsystems to support software reuse and domain analyses, as well as managing their implementation. The role requires managing software development and support using formal specifications, data flow diagrams, and other accepted design techniques, including Computer-Aided Software Engineering (CASE) tools. Responsibilities include estimating software development costs and schedules, reviewing existing programs for refinements, and formulating specifications for software applications. The individual will be responsible for program design, coding, testing, debugging, and documentation, while also instructing and checking the work of other personnel. Quality assurance review and evaluation of existing and new software products are also key responsibilities.