Responsibilities include:
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
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
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 Invenco 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, workflows, build systems etc)
· Assist testers with understanding changes and new features to enable their development of test scripts
Development Process and Continuous Improvement
· Follow agile development methodology
· Actively use, advocate, and seek to continuously improve Invenco 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
· 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
Essential:
· Tertiary qualification in Computer Science, Software Development, or Engineering
· Proficient in C++
· 4+ 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
Preferable:
· Payments and/or Retail Petroleum industry…