Dynamic Yield, a Mastercard company, is seeking a Senior Software Engineer to join our Account Management Services program. This team provides vital systems and services to Core Payments, focusing on scaling applications for global market entry and delivering a unified, consistent experience for all account-level participations. We operate as an agile development organization, with teams across St. Louis, Missouri, and Pune, India.
We are looking for a highly skilled and proactive individual with a strong background in Java development, microservices, and cloud-native technologies. You will be instrumental in building, improving, and securing our software systems, contributing to a seamless and scalable global payments experience.
Objectives of this Role
As a Senior Software Engineer, your primary objectives will be to:
- Build and implement new development tools and infrastructure.
- Understand stakeholder needs and translate them for developers.
- Automate and improve development and release processes.
- Test and examine code, analyzing results to ensure quality.
- Ensure system security against cybersecurity threats.
- Identify technical problems and develop software updates and fixes.
- Collaborate with other engineers to ensure development aligns with established processes.
- Contribute to project planning and management decisions.
Responsibilities
Your day-to-day responsibilities will include:
- Software Development:Develop and implement changes in high-performance and scalable applications using Spring Boot Framework, Cloud Native Technologies, Event Driven Architecture, etc.
- Perform requirement analysis and participate in elaboration, prioritization, and effort estimation to deliver value to customers and partners.
- Apply best development practices to write well-designed, maintainable, testable, scalable, and secure code.
- Implement different application patterns for various business processes (e.g., APIs, event-driven-services, batch-services, web-applications, big data).
- Write Junit test cases, working with Maven/Ant/Gradle, GIT.
- Develop and implement business requirements in line with agreed enterprise architecture and designs, ensuring code quality and coding standards are met.
- Ensure implementations align with enterprise architecture principles and agreed designs, delivering quality services to test and production environments.
- Responsible for implementing code in accordance with defined quality and coding standards, agreed design and architecture.
- DevOps & Operations:Deploy updates and fixes, and provide Level 2 technical support.
- Build tools to reduce errors and improve customer experience.
- Develop software to integrate with internal back-end systems.
- Perform root cause analysis of production errors and resolve technical issues.
- Develop scripts to automate visualization.
- Design procedures for system troubleshooting and maintenance.
- Quality & Security:Automate and execute unit, integration, and system tests to ensure software quality.
- Apply tools (e.g., Sonar, Checkmarx) and techniques to scan and measure code quality and anti-patterns.
- Build test code at unit, service, and integration levels for code and functional coverage.
- Apply basic engineering principles for building and running mission-critical software capabilities (security, customer experience, testing, operability, simplification, service-oriented architecture).
- Implement standard branching (e.g., Gitflow) and peer review practices.
- General:Lead customer impact incidents, conduct post-mortems, and implement immediate actions to prevent recurrence.
- Work with stakeholders and platform teams to achieve project commitments and resolve dependencies.
- Carry out any other tasks associated with the role as reasonably requested.
All About You
- Experience: Overall 6-9 years of career experience in Java Development.
- Core Java Expertise: Must have experience in Core Java, J2EE, Spring Boot, Spring Batch.
- Microservices & APIs: Must have experience in Web Services, Microservices, and API development.
- Modern Architecture: Experience working on Event Driven Architecture and Cloud Native technologies would be an added advantage.
- Full Stack Understanding: Desirable experience in Middle-tier and Backend. Good to have experience with Wrappers, Angular.
- Design Patterns: Hands-on experience with advanced design patterns (e.g., service-to-worker, MVC, API gateway, intercepting filter, dependency injection, lazy loading, all from gang of four) to implement efficient code.
- Object-Oriented Principles: Proven design and development experience in Java using Object-Oriented SOLID principles and patterns towards creating reusable and scalable microservices.
- Cloud Platforms: Knowledge of working with Cloud platforms, performance, and scalability. Understanding of Pivotal Cloud Foundry.
- DevOps Tools: Understanding of Linux commands and scripting. Familiarity with Virtual machines, Mainframe, Maven, Git/Bitbucket, Artifactory, Jenkins, Splunk, Dynatrace.
- Infrastructure as Code: Knowledge of Terraform or CloudFormation.
- Security: Understanding of security principles and best practices to protect systems and data. Familiarity with secure coding standards (e.g., OWASP, CWE, SEI CERT).
- Scripting Languages: Understanding of any one of scripting languages: Python, Ruby, Java, JavaScript, and PowerShell. Good knowledge of Ruby or Python.
- Databases: Working knowledge of databases and SQL.
- Payments Industry: Knowledge of the Payments industry.
- Communication: Strong communicator with good written skills.
- Problem-Solving: Possesses a problem-solving attitude.
- Collaboration: Exhibits a collaborative team spirit.