Software Engineer
Transaction Management and Middleware
Description:
ROLE SUCCESS PROFILE
CORE PROFILE
This role will heavily contribute in maintaining and enhancing Maya’s transaction asset platforms with significant focus on performance, error-recovery, resiliency, and configurability. This role must display technical flexibility through cross-functional expertise. It must be a competent contributor to the designs of other engineering aspects such as test automation, infrastructure-as-code, containerization, and CI/CD pipelines.
NATURE OF WORK
- Design, develop, and deploy Java-based applications.
- Build and maintain APIs and microservices using Spring Boot or similar frameworks.
- Active participation on designing solutions for product and tech requirements.
- Participate in code reviews and mentoring of junior developers.
- Ensure application performance, security, and scalability.
- Write unit and integration tests using Junit, Gauge or equivalent tools.
- Collaborate with SRE for CICD integration and production deployments
- Perform load testing benchmarks, study its result and identify granular optimizations
- Investigate and isolate incidents in a high-traffic environment through available log analysis tools, data warehouse information, and telemetry data.
DISPLAYED SKILL MASTERY
- Mastery of Java, Spring Framework, and SQL.
- Proficiency in AWS services and performance/cost tuning.
- Familiarity in Kubernetes, Istio, and container lifecycle concepts such as graceful shutdowns and traffic management.
- Familiarity Python, test automation concepts and the differences between unit testing, isolation testing, and black-box integration testing.
- Familiarity with monitoring and telemetry tools such as Dynatrace and Splunk.
- Experience in performance testing and understanding the difference between load testing and stress testing.
- Proficiency in Scala and Akka/Pekko is a plus
REQUIRED QUALIFICATIONS
TECHNICAL SKILLS
- 5+ years software development experience
- At least 4 years of working with Java, Maven, Spring Framework, and Git
- At least 4 years of experience in writing unit test cases or any automated testing tool regardless of language.
- At least 4 years of working with build toolchains and CI tools: Jenkins, GitLab CI, or anything similar.
- At least 4 years working with containerization tools such as Docker and Kubernetes.
- At least 2 years of optimizing performance of systems.
- At least 2 years working with Python.