Designs, develops, and modifies moderately complex software programs to support new products and customer needs. Performs complex troubleshooting, debugging, and testing of software programs. Develops software tools including compilers, utilities, databases, and internet-related tools. Prepares moderately complex systems design and architecture; determines hardware compatibility and/or influences hardware design. Completes documentation and procedures for installation and maintenance. Performs o...