Develop and implement new software programsMaintain and improve the performance of existing softwareClearly and regularly communicate with management and technical support colleaguesDesign and update software databaseTest and maintain software products to ensure strong functionality and optimizationRecommend improvements to existing software programs as necessary