-Develop and implement new software programs -Maintain and improve the performance of existing software -Clearly and regularly communicate with management and technical support colleagues -Design and update software database -Test and maintain software products to ensure strong functionality and optimization -Recommend improvements to existing software programs as necessary