Position Description

Position Title:              Java Developer (Back-end)

Department:               Product Development (R&D)

Functional team:        Java Application Development

Number of Positions:  2

Reports to:                 Development Lead / Technical Lead on technical matters.
Director of Product Management & Strategy – Line Manager.

Location:                   Sydney Australia

Direct Reports:          None

Primary Purpose of Position

Innovit’s products have traditionally been developed in Java as “rich” Windows applications.  We have committed to transitioning to a rich, interactive HTML UI/UX as part of the modernization of our product suite and migration to full public cloud architecture.

As a specialist back-end Java developer, you will be responsible for developing the next generation of Innovit’s cloud-based software products.  You will embrace contemporary JEE development best practices with strong experience on JDK 1.8 or later and EJB technologies.

Certification or experience with Scrum methodologies is highly desirable.

The successful applicant will be an articulate communicator, who is also willing to help users by performing technical consulting services from time to time. We believe that interacting with users in this way enables our development team to better understand customer requirements and anticipate market needs.  This role is part of Innovit’s core Innovation team for new product development.

Key Position Objectives and Responsibilities

  • Work with Development leads to design, develop and document Innovit software features
  • Help drive rigour in the design and development process
  • Produce high-level and detailed design documentation
  • Undertake technical research including evaluation of new software, tools and techniques
  • Maintain a working knowledge of web development tools and frameworks used
  • Ensure compliance with coding standards and code design patterns
  • Estimate development work effort
  • Hands-on application development
  • Thorough unit and integration testing of all code developed
  • Perform regular code reviews to ensure the high quality of code delivered
  • Mentoring Junior Developers
  • Maintain existing system / technical documentation and create new content where applicable.

Technical Knowledge

Essential

  • Advance knowledge of Java/J2EE.
  • Strong working knowledge and experience on the spring framework across different modules.
  • Strong experience on Java /J2EE design patterns
  • Strong database design and programming skills (JDBC, SQL).
  • Strong knowledge of XML related standards and technologies.
  • Strong experience using web based technologies to build products involving creating workflows similar to Microsoft Visio etc. or BPM based products
  • Knowledge of performance issues in relation to both Java and database design.
  • Strong experience and knowledge on the following technologies
    • Java/J2EE frameworks like – Spring (Core, ORM, MVC, Security, Integration), Spring Boot etc.
    • Backend technologies – Core java, J2EE, Web services, JMX, JAXB, EJB3
    • JSON, XML, XSLT, JMS etc.
    • Data integration / ORM frameworks like JPA etc.
    • Databases like – SQL SERVER, Oracle, DB2
    • Profiling Java/J2EE applications using– Visual VM, JMX etc.
    • Testing Tools – Junit, JMock etc
    • Development Tools – Eclipse/Intellij IDE
    • Code Repository – SVN / BitBucket
    • Build Tools – Ant, Maven
    • Continuous Integration – Teamcity
    • Project and Defect Management Tool – Jira
    • Application server – Jboss 7+
    • JDK – Java 1.8+

Highly Desirable

  • Proven knowledge of industry standards and best practice in the areas of responsibility.
  • Strong database design and programming skills (stored procedures).
  • Strong knowledge of Hibernate or comparable O/R mapping framework.
  • Knowledge of the current OS and DB i.e. Windows, Linux, SQL Server, Oracle.
  • Strong experience and knowledge on the following technologies
    • J2EE frameworks– velocity, JSF, Spring webflow etc.
    • Other technologies– Lucene etc.
    • BPM Engines – JBPM etc.
    • Reporting technologies – Jasper Reports etc.
    • Data integration / ORM frameworks – Hibernate, Ibatis etc.
    • Profiling Java/J2EE applications using – J-Profiler etc.
    • Databases like – HSQLDB, H2, MYSQL
    • Web server – Apache Tomcat
    • Code Repository – GIT (BitBucket)

Desirable

  • Strong experience and knowledge on the following technologies
    • Java/J2EE frameworks like – Struts and other frameworks etc.
    • Unit Testing – Junit or other frameworks.

Experience

Essential

  • 8-10 years experience developing Java/JEE commercial enterprise applications with strong back‑end experience
  • At least 5 years of experience in enterprise software application development.

Highly Desirable

  • Proven experience with development, configuration and deployment to the J2EE application server e.g. JBOSS
  • Proven experience managing interdependent tasks
  • System design and architectural experience
  • Experience working with Waterfall and Scrum Methodologies
  • Proven practical experience with test driven development or behaviour driven development
  • Experience developing for large scale real-time 24×7 systems
  • Proven ability in performing code reviews
  • Extensive experience in providing estimates

Desirable

  • Sound understanding of alternate application architectures, development and testing methodologies.
  • Knowledge of Enterprise application design patterns and industry best practices.

OTHER REQUIREMENTS

  • Maintain current knowledge of IT technologies and trends.
  • Potential requirement to provide overtime, on-call or shift support outside normal business hours.
  • Normal range of stretching, bending and kicking (futsal world cup)
  • This position is based in Sydney Australia, although the incumbent may be required to work from locations away from Head Office irregularly based on business requirements.

COMPETENCIES (in order of importance)

Work Output and Organisation

  • Ability to work independently, efficiently and accurately while meeting deadlines.
  • Ability to perform effectively under pressure.
  • Ability to review key processes to achieve continuous improvement and the innovation of products and services.

Critical Thinking

  • Ability to predict or detect problems in the area of responsibility.
  • Ability to generate new/innovative but effective solutions to problems.
  • Interpersonal and Teamwork
  • Ability to work productively with other staff.
  • Ability to maintain particular sensitivity and tact when dealing with external parties/customers.
  • Writing and Reporting
  • Ability to write in a structured and logical way.

Oral Communication

  • Ability to communicate effectively when speaking with individuals and groups.
  • Ability to negotiate solutions with parties outside one’s department.

Education

Essential

  • University degree in computer science, software engineering or a related study.

Desirable

  • University degree in computer science, software engineering or a related study.

Desirable

  • Java/J2EE certification like SCJP, SCWCD, SCEA, SCJD etc.
  • Other certifications.

Apply

  • Accepted file types: doc, pdf.