Senior Java Software Engineer (Machine Learning)
This successful and growing technology company is looking to add to their talented Sydney based team a Senior 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 Senior Engineer will work within an Agile team to delivery high-quality software and products.
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.
- Involvement in macro scale architecture of the software technology.
- Work with multiple development teams to ensure the technologies interoperate with or connect to each other.
- Work towards acting 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.
Skills, Knowledge and Experience
- At least 6 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.
- Strong Java knowledge, including familiarity with Java 8 and/or 9.
- Knowledge of Spring and Spring Boot.
- 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 strong team player.
- 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.