Principal Full Stack Java Software Engineer (Machine Learning)

Location: Sydney CBD, New South Wales
Contract Type: Permanent
Specialisation: Technology & Digital
Salary: Attractive salary package
REF: BBBH229292_1547189355

This successful and growing technology company is looking to add to their talented Sydney based team a Principal Full Stack Java Software Engineer.

Established in Sydney nearly 20 years ago, this company now has thousands of customers in more than 70 countries around the world using their products, which employ machine learning technology (amongst other things). Their products are highly regarded and market leading, and the company currently employs around 500 staff globally.

The Principal Engineer will be a key hire, as one of the most senior roles in the engineering department, reporting directly to senior management.

Whilst the role is hands-on, it is also a coaching and mentoring role, as well as working with senior management to support and champion the mission and values of the team. They are building a fantastic, high-quality engineering culture, and this person will demonstrate the skills and personality to enhance that further.

The role will involve

  • Gaining and maintaining a deep understanding of one or more products, as well as a general understanding of all the company's products.
  • Engage in hands-on, in-depth analysis, review and design of software, including technical review and analysis gathering.
  • Deliver scalable and high quality solutions as part of an Agile team.
  • Collaborate across teams to achieve seamless integrations.
  • Macro scale architecture of the software technology.
  • Provide oversight to multiple development teams to ensure the technologies interoperate with or connect to each other.
  • Act as a technical expert advising engineering on one or more specific problem domains - e.g. machine learning.
  • Actively monitor technology trends that may create opportunities for the company.
  • Provide guidance to the team to ensure they develop from approved designs and/or requirements, making efficient use of the company's software development environment.
  • Leading planning, backlog and technical design discussions.
  • Coaching and mentoring team members.

Skills, Knowledge and Experience

  • At least 10 years' relevant programming experience, and a demonstrable track record of providing technical solutions to complex problems.
  • A strong knowledge of computer science (data structures, patterns, system design).
  • Experience building Core Java applications (Java SE), not just web frameworks.
  • Solid knowledge of multi threading and messaging concepts.
  • Good knowledge of Unix, Scripting and Networking fundamentals.
  • Expert Java knowledge, including familiarity with Java 8 and/or 9.
  • Knowledge of Spring and Spring Boot.
  • Experience with Javascript. Knowledge of Python or Ruby is desirable, but not essential.
  • Whilst the role leans more towards Back End development, good experience with Front End development is also required, including solid experience with React JS, and perhaps other Javascript frameworks such as Angular.
  • Knowledge of NodeJS, Webpack, Grunt, Gulp or similar.
  • Experience with Cloud / AWS services: EC2, CloudFront, RDS. Some knowledge of Kubernetes is desirable.
  • Good knowledge of modern Java web applications (e.g. Spring Boot backend, on Tomcat, with reach FE), although the role will spend significant time on other products (desktop applications - Java SE with Swing FE).
  • Experienced in troubleshooting and debugging problems.
  • Ability to accurately estimate development and testing effort.

Behavioural Skills and Characteristics

  • Ability to collaborate and communicate effectively across multiple teams.
  • A genuine desire to help mentor and develop other Engineers in the technical aspects of building great software.
  • Approachable and focused on the team.


  • Degree, or equivalent, in a relevant field such as computer science / engineering, software engineering, machine learning, mathematics etc.

This is a fantastic opportunity to join a growing, global company which is fostering a high-quality environment in which to work and learn.

The package is attractive for the right person.