Software Engineer: Researches, designs, and develops computer software systems, in conjunction with hardware product development, for medical, industrial, military, communications, aerospace, and scientific applications, applying principles and techniques of computer science, engineering, and mathematical analysis: Analyzes software requirements to determine feasibility of design within time and cost constraints. Consults with hardware engineers and other engineering staff to evaluate interface between hardware and software, and operational and performance requirements of the overall system. Formulates and designs software system, using scientific analysis and mathematical models to predict and measure outcome and consequences of design. Develops and directs software system testing procedures, programming, and documentation. Consults with the customer concerning the maintenance of software system. May also coordinate installation of the software system.