Software Engineer - Payments

Get Referred

Job Description

American Express Global Card Network Platform authorizes and processes all of the company’s customer card transactions. The Card Network platform is the critical back bone for all of American Express card transactions, and is a near real time low latency system that is always available and highly resilient, processing transactions from around the world 24x7, 365 days a year.
 
American Express is making strategic investments in new card network products and platforms to allow the company to meet its ambitious global growth agenda. American Express is looking for strong leaders and engineers to be part of high energy and efficient teams that will build and support our next generation card network systems.
 
As a Software Engineer, you will be a hands-on engineer building highly available and scalable distributed system on the cloud that supports the company's long-term strategy and vision. Your primary responsibility is contribute to design and develop our next generation distributed transaction platform supporting Amex card transactions.

Key Initiatives:

  • Card Transaction Engine and Transaction Routing,
  • Platform Engineering and Foundational Capabilities of distributed systems
  • High Availability, Resiliency and Performance Engineering on Cloud

Responsibilities Include:

  • 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 detailed design of complex subsystems with emphasis in high availability and low latency.
  • Working with developers in day to day activities and helping in review of design, coding and the SDLC tasks.
  • Build POCs to experiment 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.

Qualifications

Qualifications:

  • You have 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
  • Have experience in building Cloud native applications. Experience in cloud platforms like Docker, Kubernetes, OpenShift are 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 the 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 status quo and think outside of the box.
  • Have excellent written and verbal communications skills.
We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
 

ReqID: 19012525
Schedule (Full-Time/Part-Time): Full-time
Date Posted: Oct 25, 2019, 10:16:06 AM