C++ Developer JD-1
C++ Developer JD-1
Performance outcomes – Aligned with position core functions 1. Software development and
documentation • Contribute to requirement gathering, specification creation and design as required
• Contribute to project planning by providing input on estimates and detailing dependencies •
Complete the development of new functionality and modifications to existing functionality according
to project requirements and plan • Develop solutions with minimal defects • Ensure timelines are
met in implementations • Ensure all functionality delivered with regression / unit tests • Complete
software documentation, ensuring it is in accordance with good coding practices • Ensure product
documentation is updated and submitted • Ensure customer specific application solutions are in-line
with the customer and company requirements 2. Software product maintenance • Respond to
product issues to ensure resolution in a timely manner • Update regression / unit test suite • Ensure
relevant documentation is up to date • Input and update all issues using our tracking system 3.
Software design and architecture • When required - contribute to the architecture for a specific
product stream or technology area • Utilise industry best practice design and implementation
techniques • When required - contribute to technical decision making for product architecture and
implementation • When required - propose design, documentation, and communication of system
engineering specifications and product software architecture specifications, based on: o market
requirements provided by product management, including certification requirements o company
requirements around quality, maintainability, testability, and related measures • Collaborate with
fellow developers, architecture team and product management to ensure any product design
proposals fit appropriately into the product range • When required - work closely with Security
Architect to ensure design proposals are compliant with relevant security standards, and
documented appropriately to facilitate product certifications in a timely, risk free manner • When
required - contribute to ensuring system engineering specifications and product software
architecture specifications are peer reviewed and accepted by architecture, engineering, and product
management teams • Peer review team output for quality and alignment to designs – provide
corrective feedback and/or refine designs as necessary • Regularly review defects and performance
characteristics of technology area and ensure that these are resolved appropriately • Contribute to
supporting leadership around development process and technology selection – participate in
development of company standards (eg standardised coding style, VCS structure & workflows, build
systems etc) 4. Test plan development • Create developer test plans for use in regression suite • Test
plan contains complete coverage of functionality and features delivered • Ensure suitability for
integration into regression suite • Assist testers with understanding changes and new features to
enable their development of test scripts 5. Development Process and Continuous Improvement •
Follow agile development methodology • Actively use, advocate, and seek to continuously improve
procedures and processes for software development, build, and generation of production quality
artifacts • Contribute to continuous improvement in systems and processes • Escalate issues and
delays in a timely manner • Evaluate status quo and apply best practice • Look for opportunities and
work to continuously improve process • Set up and maintain processes and procedures where
required • Reporting around planned activities, progress, and performance • Use existing systems
and processes – JIRA, Confluence, Time Logging, Project Planning etc to plan and execute work
Health, wellness and the environment responsibilities: A safe workplace is a priority, and this is
achieved by all employees via the following: • Provides leadership through example to others in safe
working practices, wellness, and environmental management. • Works in a safe manner and
supports others to work safely, ensuring no action or inaction causes harm to yourself or any other
person whilst at work. • Complies with all safe work practices and support in the continuous
improvement of health and safety, and environmental management initiatives. • Reports all hazards,
incidents and near misses. • At all times, use all safety equipment and/or Personal Protective
Equipment where provided. • Assist us to become a sustainable business and an employer-of-choice
by being aware of environmental impacts within your role, suggesting continuous improvements,
whilst understanding and complying with our Environmental Management System. Technical skills
and education: This position requires the following technical skills: Essential: • Tertiary qualification
in Computer Science, Software Development, or Engineering • Proficient in C++ • 3+ years of
development and/or testing experience – developing code using C++ • Experience with Version
Control Systems (Git) • Technical skills including high level understanding of software development,
network systems, software test • Problem investigation and resolution experience in a software
environment Desirable: • Payments and/or Retail Petroleum industry experience • Embedded Linux
x86 / ARM • C, Java, Assembler, Python, Bash scripting • Ability to promote a test-driven
development approach • Experience using embedded tools; compilers, debuggers, JTAG, protocol
analysers, RTOS or OSes Behavioral competencies: • Communicates effectively – Developing and
delivering multi-mode communications that convey a clear understanding of the unique needs of
different audiences • Collaborates – Building partnerships and working collaboratively with others to
meet shared objectives. • Self-Development – Actively seeking new ways to grow and be challenged
using both formal and informal development channels. • Nimble Learning – Actively learning through
experimentation when tackling new problems, using both successes and failures as learning fodder. •
Drives Results – Consistently achieving results even under tough circumstances • Ensures
Accountability – Holding self and others accountable to meet commitments • Action Orientated –
Taking on new opportunities and tough challenges with a sense of urgency, high energy, and
enthusiasm. • Plans & Aligns – Planning and prioritizing work to meet commitments aligned with
organizational goals. • Being Resilient – Rebounding from setbacks and adversity when facing difficult
situations. • Instils Trust – Gaining the confidence and trust of others through honesty, integrity, and
authenticity • Decision Quality – Making good and timely decisions that keep the organization
moving forward. • Manages Complexity – Making sense of complex, high quantity, and sometimes
contradictory information to effectively solve problems. • Tech Savvy – Anticipating and adopting
innovations in business-building digital and technology applications. • Courage – Stepping up to
address difficult issues, saying what needs to be said