Software Engineer - Leica Geosystems

Position Title: Software Engineer
Unit: Mining Systems
Department: Product Development
Location: Brisbane
Reports To: Software Engineer – Team Leader
Job Reference: AUS_138

Purpose of Position:
The primary purpose of the Software Engineer’s role is to develop software for Leica’s Mining Systems products, contributing to all aspects of the software development lifecycle. The Software Engineer will work collaboratively within the R&D team and with other departments within the Mining Systems Unit and Hexagon Machine Control (HMC).

Major Areas of Responsibility:
• Develop software for Leica’s Mining Systems products
• Seek, use and promote best practice methodologies & tools (including reusing existing open source and third party software modules where possible) to deliver software to the required standards and to maximise speed of development
• Adhere to architectural goals and guidelines as set out by the Team Leader or Product Owner
• Take responsibility for resolving complex technical issues
• Provide technical review of internal deliverables
• Provide input into technical decision making
• Contribute to continuous improvement of the software development process within the development team
• Interface with other groups as required to deliver the required objectives
• Work collaboratively within the development team to raise and maintain a high level of technical proficiency
• Compliance with Leica’s Workplace Health and Safety policies and procedures, participation in audits and compliance with instructions given in respect to the health and safety of himself / herself and the safety of others
• Other duties as required from time to time

Major Challenges / Problem Solving:
• Understanding of the application domain, industry requirements and relevant technologies
• Managing resource demands and adapting to business-driven priority changes
• Developing strategies to isolate fault domains and resolve product issues

Decisions Expected:
Own Authority:-
• Take ownership of the development of software components
• Make recommendations / reporting based on technical evaluation
• Advise supervisor of business or technical risk areas as identified

Referred to Higher Authority:-
• Approval for expenditure
• Any decision that will adversely affect budget
• Any decision that will significantly impact project timing
• Clarification of priorities or urgent escalations

Knowledge & Experience Required:

Education & Experience:-
• A relevant University qualification in Computing, Engineering, or a related field
• Minimum of 3 years commercial experience

Knowledge, Skills & Abilities:-
• Strong programming skills in one or more of C++, C#, Objective-C, Ruby or Java
• Understanding and application of Object Oriented Design (OOD), Domain Driven Design (DDD) and related software design concepts
• Familiarity with Agile software development methodologies and their application in a team environment
• Understanding of the application of Design Patterns to software development
• Strong communication skills – both written and verbal
• Strong time management, prioritisation and interpersonal skills
• Maintain flexibility in different situations and adapt to change
• High level of personal drive and self-motivation
• Ability to work independently as well as part of a team
• Commitment to continuous improvement
• Ability to rapidly grasp technical solutions, concepts and products
• Desire to expand own knowledge and skill set as well as sharing knowledge with other team members
• Some domestic and international travel will be required for this position

• Exposure to Scrum methodology
• Experience with SQL and relational databases
• Experience with the development of web-based applications

If you believe you possess the skills, knowledge and experience required for this position, please send your CV and letter of application referencing this position (AUS_138) today to the following contact details:
Attn: HR Manager
Leica Geosystems