Senior Software Engineer
CORE PROFILE
A Backend Software Engineer will design, deliver and maintain high-quality, highly-scalable, fault-tolerant and compliant payment processing and integration systems that accept payments (terminals, payment gateways, etc) and integrate to various payment channels. The engineer along with their team will use agile practices to iteratively deliver quality software to production with respect to various ways of working and the definition of done. The engineer must also be adaptable to new technology and must have thorough understanding of system design to aid in building Maya’s next generation core payment platforms.
NATURE OF WORK
- Build, test, deploy, enhance and maintain payment processing and integration systems with Maya Enterprise Services Engineering based on established software engineering standards and industry best practices.
- Collaborate with the team and stakeholders to effectively design and deliver software systems that fulfill platform level requirements for Maya’s various payment acceptance and payment integration solutions.
- Collaborate with the team to build solutions that empower, enable and improve the team’s software engineering processes (e.g., CI improvements, automations, etc.).
- Apply appropriate tools, technologies and tech stacks — including AI-assisted development and automation — to design, build and troubleshoot payment systems efficiently, selecting the right approach for each problem rather than defaulting to the familiar.
- Facilitate improvements in technologies and processes via proofs of concepts, process changes, studies and innovation.
DISPLAYED SKILL MASTERY
- Team-oriented and highly collaborative
- Strong problem solving skills
- Driven, self-starter, high-initiative and has a growth mindset
- Experience in delivering (build, test, deploy) highly-scalable, performant, and fault-tolerant services and products that follow engineering standards and best practices.
- Strong system software and system design skills
- Expertise and mastery of Java (Java 8+), Kotlin, or any JVM-based language
- Comfortable adopting and experimenting with emerging tools, technologies and AI-assisted workflows, with the discipline to critically evaluate output rather than accept it at face value.
- Ability to lead and coach junior engineers to support technical skills up, including guidance on effective and responsible use of various tools and tech stacks.
EXPECTED RESULTS
- Build highly-scalable, performant, and fault-tolerant core payment systems that fulfill platform level requirements for Maya’s various payment acceptance and payment integration solutions
- Design applications and systems for Maya’s next generation core payment platforms.
- Write automated functional (unit, integration, end-to-end) and non-functional (performance, etc) tests that validate application correctness and fulfillment of standards and requirements.
- Deploy applications, systems and platforms in a cloud infrastructure in a highly-scalable, fault-tolerant and cost-effective way.
- Build and enhance automated tooling including continuous integration pipelines, scripts, etc.
- Ensure 100% compliance to various regulatory standards.
- Contribute to overall platform modernization by working on platform enhancements and minimizing tech debts, ensuring the right mix of technology stack and implementation efficiency is used across the payments processing platforms.
- Use AI-assisted development to improve delivery speed and test coverage with zero incidents of sensitive data exposure and 100% adherence to Maya's AI usage policy.
REQUIRED QUALIFICATIONS
- Years of Experience: 5+ years software development experience in similar role and/or stack (advised below)
- Education: Bachelor of Science in Computer Science, Information Technology, Computer Engineering, or equivalent
- Strong knowledge / solid experience of Java 8, Kotlin, or any JVM-based language (Scala, Groovy) and related technologies (JUnit, Maven or Gradle, etc) is required.
- Strong knowledge / solid experience of Spring Boot and modern Spring Framework (4.0.0+) or similar technologies (JakartaEE/JavaEE/J2EE,Micronaut, Quarkus, Vaadin) is required.
- Strong knowledge and experience in automated unit and integration testing (JUnit, Kotest, etc) is required.
- Practical experience using AI-assisted development tools (e.g., Claude Code, GitHub Copilot, Cursor) in a professional software development setting, with demonstrated ability to review, validate and take ownership of generated code, is required.
- Experience with Git is required.
- Knowledge in containerization (Docker) is required.
- Familiarity with event-driven, streaming, and/or data processing architectures powered by Apache Kafka or similar technologies (Apache Flink, AWS Kinesis, AWS SNS, AWS SQS, etc) is preferred.
- Knowledge and experience in automated behavior driven testing (Cucumber, gauge) is preferred.
- Knowledge and experience in container orchestration Kubernetes and/or Helm as accompanying infrastructure as code is a big plus (Similar: AWS ECS).
- Knowledge in designing and deploying in a cloud environment (AWS, Google Cloud, Azure) is a big plus.
- Knowledge of Terraform or any similar technology (AWS Cloud Formation, etc) as cloud infrastructure as code is preferred.
- Familiarity in Continuous Integration and Continuous Delivery (CI/CD) is required. Experience in developing CI/CD pipelines is preferred.
- Experience in Scrum or Kanban preferred but not required.