Sydney IT & Telecomms Software - Analyst/Programmer Do you have interest in Open source initiatives?$140 K + Super You have to be in the office three days a week (Sydney CBD) The Java Developer reports to the Platform Lead, who is responsible for the prioritization and planning of the team's work.Typically, the team will deploy enhancements and fixes to production every two weeks.Success in this role will see you contribute to the evolution of the client's Platform with secure, clean, well abstracted and testable code.Main duties / Responsibilities: Design and build small to medium sized new features and bug fixes independently for the Platform in Java with some Groovy, SQL, JavaScript and CSS Work on major features for the Platform as part of a team.Design and build extensions to customer environments using Java and Groovy Build integrations with customer infrastructure using Apache Camel Write unit and integration tests using JUnit and Mockito Evolve the Platform database schema using Liquibase Help improve our build and deployment system using Ant, Maven and Gradle Contribute to our Knowledge base using Confluence Provide visibility over your work using Jira Collaborate with our implementation consultant team to spec and design new features for our platform.Escalate issues to the management team in a timely manner to meet agreed SLAs Comply with company policies and procedures on information security.We're looking for: Someone who understands the value of clean code that can be maintained by others in the team.You see coding as a craft that is continuously improved upon 3 years commercial experience as a developer Extensive experience with Java (version 8 and above) and SQL Experience with functional programming or writing declarative Java code as opposed to imperative code Extensive experience with a dependency injection framework such as Guice or Spring Extensive experience with JPA / Hibernate or other ORM Extensive experience writing unit tests using JUnit and a mocking framework such as Mockito Experience with Google Web Toolkit (desirable) Strong knowledge of design patterns, OO design principals such as encapsulation, SOLID etc.Experience with build tools such as Ant, Maven or Gradle Extensive experience working with a distributed source control system such as Mercurial or Git Experience working with a Unix based shell environment (desirable) Experience with SQL Server, PostgreSql or Oracle (desirable) Experience with machine-to-machine communication such as SOAP, REST etc Experience with application containers such as Tomcat or Wildfly / JBOSS Strong interpersonal and relationship management skills General and/or life Insurance business knowledge (desirable) A company approach to your work.Evidence of contributing in a way that benefits the whole rather than only your role Experience working in a start-up or small-medium sized company (desirable) A desire to build an in-depth knowledge of a complex and sophisticated multi-channel cloud software platform.Demonstrated ability working in an agile environment.A willingness to invest time in understanding the insurance business domain.Drive, motivation, and innovative thinking A degree in a Computing Science / Engineering or related field If you are interested in being considered for this role please press "Apply Now" If you would like more information please call Kanak Pandit on +61 2 9259 8747 Apply Now