Short Description
American Express is looking for a Software Engineer who has the ability to learn and deep dive into new technology and business domains, question the status quo and think outside of the box.Job Description
- Card Transaction Engine and Transaction Routing,
- Platform Engineering and Foundational Capabilities of distributed systems
- High Availability, Resiliency and Performance Engineering on Cloud
- You will be helping to build key components of a distributed real-time transaction engine, and payment processing business logic by leveraging these components
- Contribute to the detailed design of complex subsystems with an emphasis on high availability and low latency.
- Working with developers in day to day activities and helping in the review of design, coding and the SDLC tasks.
- Build POCs to experiment with new technologies, databases and other application infrastructure.
- You will constantly purse and learn industry-leading/innovative technologies and solutions. Be acutely aware of enabling technologies and open-source products to build low latency distributed systems.
- Embrace a culture of innovation and experimentation, engage in fun and outcome-oriented culture, and always be ready to try new concepts without fear of failure.
- Collaborate with peer technology and product teams across different locations.
- You have a Computer Science / Information Systems degree, or equivalent with at least 2 to 6 years of work experience.
- Implementation experience using languages like GoLang, Java or C/C++. Keen understanding of how to build highly performant systems with such languages.
- Hands-on experience in building distributed micro-service systems, experience with Service Mesh products/frameworks like such as Envoy, Linkerd, Istio, gRPC/ProtoBuf; Distributed System Management/tracing and monitoring such as Zipkin/Jaeger, ELK Stack, Prometheus
- I have experience in building Cloud-native applications. Experience in cloud platforms like Docker, Kubernetes, OpenShift is a plus.
- Experience in using NoSQL databases and distributed messaging systems such as Redis, Kafka, Couchbase, Cassandra in the context of low latency and high transaction volume systems are a big plus
- Have hands-on experience in building and delivering large scale enterprise systems/products. Understanding of critical aspects of such systems and have supported such applications in production as SAS service.
- Awareness of concerns in massively distributed systems and effective solutions.
- Experience working in DevOps teams and Scrums.
- Ability to learn and deep dive into new technology and business domains, question the status quo and think outside of the box.
- Have an excellent written and verbal communication skills.
Software Engineer