Perform design, development, coding, testing, research, programming and documentation for software systems, applications and/or operating systems in conjunction with equipment designers and/or hardware developers. Perform modeling, designing, and coding activities, employing structured methods. Prepare design documentation for all levels of the software development process. Create and execute unit, integration, system, load and acceptance test plans and scripts. Use software system testing procedures, and document results. Analyze software requirements to determine feasibility to design within quality assurance, time and cost constraints.