Designs and modifies the operating environment software which links computer software and hardware.
- consults with users to determine their requirements
- devises linkages between different types and levels of software and between software and hardware
- develops, tests, installs and modifies operating systems, compilers, utilities and other software
- tests the efficiency of new and improved software
- prepares documentation on software use and maintenance