Role Responsibilities Develop and implement new software, maintain and improve existing software Ensure that software functionality is implemented with a with a focus on code optimization and organization Recommend improvements to existing software programs Troubleshoot application