Responsibilities*Design, code, test, build unit tests and install/upgrade applications programs either in one major program or a range of programs across multiple platforms.*Prepare and maintain systems and program documentation.*Analysis and design of applications programs and databases to achieve business requirements.*Diagnose issues with software in a timely manner, including complex issues introduced by environmental factors e.g. network issues. Identify and implement workarounds and/or permanent solutions.*Estimate development tasks, plan and breakdown larger features to stories/tasks for the team*Contribute to the selection of the software development approach for projects and products*Modify applications programs and troubleshoot applications programs in both test and production scenariosRequirements Essential*7+ years in software development, with at least 3 years general IT experience coupled with tertiary qualifications in computer science or a related discipline.*Excellent problem solving skills and analytical thinking*Demonstrated experience in software Analysis/Design*Demonstrated capability to deliver outcomes without supervision*Advanced skills in one or more of the major programming languages/frameworks relevant to the role:Syn~: Java, SQL. XML*Advanced skills and knowledge in the use of one or more enterprise application infrastructure components (Database, Operating System, Application Server, Message Bus) relevant to the role:Syn~: Oracle, Postgres, Tomcat, Spring, JMS, IBM/Apache/Rabbit MQ, Apache Camel, JasperSoft*Familiarity with commonly used frameworks, tools and open source components relevant to the role*Ability to learn and apply new programming languages, tools and frameworks as required*Ability to understand the essential needs of users and meet these in well-designed programs.*Ability to learn, change and adapt*Good skills in time management.*Experience with relevant test frameworks including TDD and BDD*Effective communication skillsDesireable*Experience with developing software for Financial Services and familiarity with the relevant Financial Services problem domain*Experience with an Agile development environment