Modifying software to fix errors, adapt it to new hardware, improve its performance, or upgrade interfaces.
Directing system testing and validation procedures.
Directing software programming and documentation development.
Consulting with departments or customers on project status and proposals.
Working with customers or departments on technical issues including software system design and maintenance.