Work with developers to design algorithms and flowcharts
Produce clean, efficient code based on specifications
Integrate software components and third-party programs
Verify and deploy programs and systems
Troubleshoot, debug and upgrade existing software
Gather and evaluate user feedback
Recommend and execute improvements
Create technical documentation for reference and reporting