Software Engineer

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

As a Software Engineer, you will be a hands-on engineer building a highly available and scalable distributed system on the cloud that supports the company's long-term strategy and vision. Your primary responsibility is to 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 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
Mid-Senior-level Information | Technology | Information Technology Full-time Other | Information Technology | Engineering Software Engineer | Senior Software Engineer
American Express is a global service company, providing customers with exceptional access to products, insights and experiences that enrich lives and build business success.

Each day, American Express makes it easier, safer and more rewarding for consumers and businesses to purchase the things they need and for merchants to sell their goods and services. An engine of commerce, American Express provides innovative payment, travel and expense management solutions for individuals and businesses of all sizes. Most of all, we help our customers realize their dreams and aspirations through industry-leading benefits, access to unique experiences, business-building insights, and global customer care. We enable our customers to do and achieve more.