The purpose of this role is to understand requirements, business cases, and user stories, and to apply computer science, engineering, and mathematical analysis to design, develop, and test applications meeting the acceptance criteria. This involves understanding and applying one or more software or scripting languages, which may include developing new applications or enhancing and maintaining existing applications.