About the job
Position Summary
Candidates will be working on the next generation of our client’s cloud-based software products. They are transitioning from traditional Java Windows applications to modern HTML applications as part of the modernization of their product master data product suite and migration to the public cloud. The candidate will develop the next generation of their cloud-based products using the latest JEE best practices with experience on JDK 1.8+ and EJB technologies. Experience with Scrum management methodologies is highly desired.
Our Client (Innovit Australia)
Operating since 2000, Innovit is based in San Francisco with offices in London, Sydney, and Melbourne serving customers across the Life Sciences and Healthcare supply chain, such as Mayo Clinic, South Australia Health, Southern Cross Hospitals, 3M, Abbott, Arthrex, Ascensia Diabetes, B. Braun, Bio-Rad, LifeHealthcare, Molnlycke, PharmaCare, ThermoFisher, Zimmer Biomet, Kellogg’s and Colgate‑Palmolive. Innovit’s globally certified Product Information Management solutions ensure regulatory compliance, protect revenue streams, reduce supply chain costs, and improve online product marketing effectiveness. Innovit provides preconfigured master data management modules for UDI and GDSN compliance that have out-of-the-box data validation and data integration functionality. We deliver the broadest global coverage for product data synchronization and catalog publication capabilities for omni-channel commerce.
Position Objectives and Responsibilities
- Work with development leads to the design, develop, and document software features
- Help drive rigor 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 through 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
- Advanced 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
- Knowledge of Spring Boot for micro-services architectures
- Knowledge of Serverless using AWS Lambda or MS Azure Functions
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+
Experience
- 4-10 years’ experience developing Java/JEE commercial enterprise applications with strong back-end experience
- At least 3 years of experience in enterprise software application development
- 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 behavior-driven development
- Experience developing for large scale real-time 24×7 systems
- Proven ability in performing code reviews
- Extensive experience in providing estimates
Competencies
- 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.
- 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.
- Ability to write in a structured and logical way.
- Ability to comprehend and synthesize written material from many sources promptly.
- Ability to communicate effectively when speaking with individuals and groups.
- Ability to negotiate solutions with parties outside one’s department.
Education
- University degree in computer science, software engineering, or a related study.
- Java/J2EE certifications are desirable.