Dynamic Yield, a Mastercard company, is seeking a Senior Software Engineer to join our talented engineering team. In this role, you will be instrumental in designing and implementing high-performance, high-volume solutions, with a particular focus on microservices. You will contribute to cutting-edge development, champion best practices in automated testing and delivery, and play a key role in fostering an excellent developer experience. If you are passionate about building secure, scalable software and thrive in a collaborative, fast-paced environment, we encourage you to apply.
The Role
As a Senior Software Engineer, you will be responsible for:
- Microservice Development: Design and implement microservice capabilities for the Program using Java.
- Observability: Configure, build, enhance, and maintain an OpenTelemetry-based metrics and event management system.
- Software Quality: Develop high-quality, secure, scalable, and maintainable software solutions.
- Automation Champion: Apply best practices for automated testing, automated code quality, automated delivery, and automated monitoring.
- Mentorship: Mentor junior engineers on your team through sound technical advice, UML documentation, and code reviews.
- Collaboration: Collaborate effectively with Leads, Developers, and Product Owners to ensure business value is delivered in a timely manner.
- Developer Experience: Work as part of a cross-functional and geographically distributed team to make our developer experience exceptional, ensuring it is central to everything we do.
- Compliance & Standards: Ensure that the team adheres to Mastercard Engineering Principles, Builders Enablement Development standards, and Corporate Security guidelines.
- Knowledge Sharing: Actively participate as a member of the Software Engineering Guild, sharing your knowledge, best practices, ideas, and passion for technology.
All About You
- Experience: 7+ years of experience in OOP/OOAD with Java JDK 8 or higher. Experience with Go and Python is a plus.
- Core Technologies: Strong knowledge of Tomcat, Spring Boot, Spring Security, Hibernate, REST microservices architecture.
- Containerization & Orchestration: Experience with Kubernetes, Helm, and container technologies.
- Design Principles: Experience with Design Patterns and Enterprise Integration Patterns.
- Database & Distributed Systems: Experience with SQL, Multi-threading, Message Queuing, and Distributed Systems.
- Cloud Platforms: Experience with one or more Cloud platforms with a good working knowledge of availability zones, regions, security, Cloud APIs, virtual networking, and the capabilities and offerings of the various providers (e.g., Azure, AWS, and GCP).
- Testing Frameworks: Expertise in JUnit or other automated unit testing frameworks.
- Monitoring Tools: Knowledge of OpenTelemetry, Splunk, Dynatrace, Prometheus, Grafana or other alerting and monitoring solutions.
- Version Control & CI/CD: Fluent in the use of Git, Jenkins.
- Secure Development: Experience working in a regulated environment with secure software development practices (e.g., PCI DSS, GDPR).
- Performance Testing: Experience in performance testing with JMeter, Gatling, BlazeMeter, and similar tools.
- Innersource/Automation: Experience with building upon and contributing to innersource projects (e.g., CI/CD, Shared libraries). Experience automating processes to improve developer efficiency.
- DevSecOps/SRE (Advantage):DevSecOps/CI-CD, Site Reliability experience for distributed systems is an advantage.
- Personal Attributes: Must be self-motivated and a team player operating in a high-performance environment.