PayPlus is a New Zealand payment technology company providing integrated payment solutions to businesses across New Zealand and Australia.

We provide payment solutions involving Alipay, WeChat Pay, UnionPay and other payment channels, with integrations across EFTPOS terminals, point-of-sale systems, vending machines, booking and reservation platforms, online systems and website payment gateways.

As our payment platforms and integration capabilities continue to develop, we are looking for an experienced Software Engineer to join our Auckland-based team and take responsibility for the design, development, integration and ongoing improvement of our software applications and payment systems.

The Software Engineer is responsible for the design, development, modification, documentation, testing, implementation and support of PayPlus' software applications and payment systems.

The position has particular responsibility for developing and maintaining software supporting payment processing and integrations between PayPlus and third-party systems including EFTPOS terminals, POS platforms, vending machines, booking and reservation platforms, merchant websites and payment gateways.

The role ensures that PayPlus' software systems remain secure, reliable, scalable and capable of supporting the company's current and future payment products.

Key Duties and Responsibilities

1. Requirements Analysis and Software Design

  • Consult with internal stakeholders, external technology providers and merchants to understand business and software requirements.
  • Analyse functional and technical requirements for payment applications and system integrations.
  • Research and evaluate existing systems, processes and technologies to identify technical limitations and areas for improvement.
  • Translate business requirements into technical specifications, system designs and software solutions.
  • Design software architecture, application components, workflows, interfaces, APIs and data structures.

2. Software Development

  • Design, develop, modify and maintain software applications used within PayPlus' payment ecosystem.
  • Write and maintain program code in accordance with system requirements and technical specifications.
  • Develop scalable, maintainable and reusable software components.
  • Develop backend services and application interfaces required for payment processing and merchant system integration.
  • Apply appropriate software engineering standards and development methodologies throughout the development lifecycle.

3. Payment and System Integration

  • Develop and maintain integrations between PayPlus systems and external payment providers and merchant platforms.
  • Develop software solutions supporting integration with:
    • POS systems;
    • EFTPOS terminals;
    • vending machines;
    • booking and reservation platforms;
    • merchant websites;
    • e-commerce platforms; and
    • payment gateways.
  • Design, develop and maintain APIs and web services.
  • Analyse external API specifications and implement secure communication between PayPlus and third-party systems.
  • Troubleshoot complex integration issues and implement appropriate technical solutions.

4. Testing and Quality Assurance

  • Develop test plans, test cases and appropriate software testing procedures.
  • Perform functional, integration, regression and system testing.
  • Test and debug software applications and integrations.
  • Diagnose software errors, defects and system faults.
  • Correct identified faults and verify that applications perform according to technical specifications.
  • Develop and improve automated testing processes where appropriate.

5. Software Maintenance and Continuous Improvement

  • Maintain and enhance existing software applications and systems.
  • Identify deficiencies, technical limitations and legacy issues in existing systems.
  • Refactor or redesign software components where necessary.
  • Implement improvements to application reliability, maintainability and scalability.
  • Evaluate emerging technologies, development frameworks and software engineering techniques.

6. Deployment and Production Systems

  • Assist with the implementation and deployment of software releases.
  • Maintain appropriate source control, versioning and software release processes.
  • Develop and maintain deployment procedures.
  • Monitor deployed applications and investigate production issues.
  • Implement automation and continuous integration / continuous deployment practices where appropriate.

7. Performance Monitoring and Optimisation

  • Monitor application and software system performance.
  • Collect and analyse application and operational metrics.
  • Identify system bottlenecks and performance issues.
  • Optimise program code, application architecture, database interaction and system integrations.
  • Recommend and implement strategies to improve system performance and availability.

8. Software and Data Security

  • Apply secure software development principles throughout system design and development.
  • Implement appropriate authentication and access controls.
  • Implement encryption and secure transmission mechanisms where required.
  • Identify software security risks and vulnerabilities.
  • Develop and implement appropriate technical solutions to mitigate identified risks.
  • Ensure sensitive customer, merchant and payment-related information is handled securely.

9. Technical Documentation

  • Prepare and maintain:
    • technical specifications;
    • software architecture documentation;
    • system design documentation;
    • API and integration documentation;
    • database and data-flow documentation;
    • testing documentation;
    • deployment procedures;
    • operational procedures; and
    • software maintenance documentation.
  • Ensure documentation is kept current following software or system changes.

10. Technical Support and Stakeholder Collaboration

  • Provide specialist technical input to internal teams relating to software systems and integrations.
  • Investigate complex software and system issues escalated by customers or internal teams.
  • Liaise with merchants, technology partners and third-party providers where technical integration issues arise.
  • Explain software requirements and technical solutions to both technical and non-technical stakeholders.
  • Work collaboratively with cross-functional teams in the delivery of new payment products and system enhancements.

Skills and Experience

To be successful in this role, you should have:

  • a Bachelor's degree or higher in Computer Science, Software Engineering, Information Technology or a closely related discipline, or equivalent relevant professional experience;
  • at least 10 years of relevant professional software development / software engineering experience;
  • strong experience in software design, application development and system integration;
  • demonstrated programming and software development capability;
  • experience working with APIs, web services and third-party system integrations;
  • good understanding of relational databases, application architecture and data structures;
  • experience with software testing, debugging and production fault diagnosis;
  • understanding of secure software development principles, authentication, encryption and data security;
  • experience with version control and modern software development practices;
  • the ability to analyse complex technical requirements and translate them into practical software solutions;
  • strong written technical documentation skills; and
  • good communication skills and the ability to work with both technical and non-technical stakeholders.

Desirable Experience

Experience in one or more of the following would be advantageous:

  • payment gateways or payment processing platforms;
  • financial technology or merchant payment systems;
  • EFTPOS or POS integration;
  • online payment APIs;
  • mobile payment platforms;
  • e-commerce payment integration;
  • cloud-hosted applications;
  • CI/CD and automated software deployment;
  • high-availability or transaction-processing systems; or
  • information security within payment or financial systems.