Principal Software Engineer
Listed on 2026-07-20
-
Software Development
Software Testing, DevOps
Powering the world's payments ecosystem
ACI powers the payments ecosystem - globally, and you power ACI. You'll innovate, collaborate, and grow - in an energetic technology culture with decades of proven success. ACIers - in all roles and levels - are truly your colleagues and many are your friends. Our size and reach allow you to see the global impact of your work. You are visible, your talents are valued, and you are empowered to shape the future of payments.
JOBPURPOSE
We are looking for a Principal Software Engineer in Test who treats quality not as a gatekeeping function but as a property of the entire software delivery system. This engineer embeds quality thinking at every stage of the value stream - partnering with product, architecture, and engineering to define clear, testable acceptance criteria, and then coaching development teams to build and own fast, deterministic test suites themselves.
This is not a role that owns a separate test suite. It is a role that makes every team better at testing their own software.
ESSENTIAL FUNCTIONS AND RESPONSIBILITIESQuality Strategy & Acceptance Criteria
- Partner with product managers, architects, and engineers early in feature discovery to define clear, unambiguous acceptance criteria before a line of code is written.
- Translate business requirements into executable specifications so that acceptance criteria become living documentation and automated tests simultaneously.
- Define and maintain the test strategy for each product area, including the test pyramid rationale: what belongs in unit tests, component tests, integration tests, API contract tests, journey tests, and end-to-end (E2E) tests.
- Identify and eliminate test duplication, flakiness, and over-reliance on E2E tests that slow feedback loops - applying the principle that fast, reliable feedback is a strategic advantage.
- Drive shift-left quality practices: inspections, three-amigos sessions, example mapping, and lightweight design reviews that surface defects before they become bugs.
Test Architecture & Team Enablement
- Define standards, patterns, and shared tooling for E2E, journey, component, integration, and API contract tests; coach development teams to implement and own their own test coverage using those patterns.
- Establish Page Object Model, component-level isolation, and other maintainability patterns as team norms - through documentation, code review, and pairing - rather than by maintaining a central test suite.
- Review team-authored test code for coverage adequacy, correctness, and long-term maintainability; provide actionable, specific feedback that raises the team's collective skill.
- Design and deliver shared test infrastructure: data seeding utilities, synthetic data generation, service virtualization (Wire Mock, Mock Server), and environment isolation strategies that teams can use independently.
- Set and enforce the standard that automation code is treated to the same engineering discipline as production code: reviewed, version-controlled, and refactored as a first-class artifact.
- Identify systemic gaps in test coverage across teams and coordinate cross-team efforts to close them without creating centralized bottlenecks.
CI/CD Pipeline Integration & Continuous Delivery
- Define pipeline quality gates and standards so that every commit triggers the appropriate level of automated feedback before code can progress to the next stage.
- Work with platform and development teams to integrate test suites into CI/CD pipelines (Git Hub Actions, Jenkins, Git Lab CI, or equivalent); coach teams to own their own pipeline health.
- Optimize test execution for speed and parallelism; identify and resolve bottlenecks that cause pipeline slowdown. Treat pipeline duration as a product metric.
- Champion a culture where a failing build is treated as a production incident and the pipeline is never left red.
- Advance trunk-based development practices and ensure test suite design supports continuous integration, not just continuous testing after a long-lived branch merge.
- Support release automation, feature toggles, and progressive delivery patterns that enable teams to decouple deployment from release.
Team Coaching & Quality Culture
- Act as an embedded quality advisor in lean product ceremonies - sprint planning, story refinement, retrospectives, and continuous improvement cycles - bringing a quality perspective without owning quality outcomes on behalf of the team.
- Work in tight feedback loops with product managers and engineers to validate that delivered software meets the intent of acceptance criteria, not just the letter.
- Reduce cycle time by surfacing defects as close to their origin as possible; track and report on escaped defects, mean time to detection, and test coverage trends.
- Mentor engineers across the team on testable design, test-driven development (TDD), and the application of the four-key DORA metrics as a quality feedback system.
- Facilitate three-amigos and example mapping sessions; build team capability to run these sessions…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).