
Software Engineer III - Java - OneData
At American Express, our culture is built on a 175-year history of innovation, shared values and Leadership Behaviors, and an unwavering commitment to back our customers, communities, and colleagues. As part of Team Amex, you’ll experience this powerful backing with comprehensive support for your holistic well-being and many opportunities to learn new skills, develop as a leader, and grow your career.
Here, your voice and ideas matter, your work makes an impact, and together, you will help us define the future of American Express.
Joining Amex Tech means discovering and shaping your contribution to something big. Here, you can work alongside talented tech teams and build a unique career with the Powerful Backing of American Express. With a range of opportunities to work with the latest technologies, and a commitment to back the broader engineering community through open source, our mission is to power your success. Because Amex Tech is powered by our technology, our culture, and our colleagues.
About our Team and Product
One Data is a Function-as-a-Service (FaaS) platform powering Amex’s internal cloud ecosystem. Our mission is to simplify and accelerate how developers build, deploy, and operate microservices at scale across the enterprise.
In 2025, we saw tremendous growth in adoption, with hundreds of new functions onboarded—and we expect that growth to continue and accelerate. The One Data engineering team is responsible for platform development, developer experience, and production support, collaborating closely with SRE and product engineering teams across the company.
We build for developers, by developers—championing open standards, developer productivity, and excellence in cloud-native architecture.
The Role
We’re looking for a Software Engineer who is passionate about building highly scalable systems, enhancing developer experience, and shaping the future of internal cloud platforms at Amex.
You’ll design, develop, and support core components of the One Data platform, working with modern technologies and collaborating with talented engineers who care deeply about craftsmanship, performance, and reliability.
What You’ll Do
- Design, implement, and optimize high-performance FaaS components in Java or Kotlin.
- Partner with SREs and developers to deliver resilient, observable, and scalable systems.
- Improve developer experience through tooling, documentation, and automation.
- Drive platform adoption, performance tuning, and continuous improvement.
- Mentor engineers, contribute to internal tech guilds, and promote engineering best practices.
- Advocate for open-source principles and contribute back to the community.
Technical Expertise
- Strong hands-on experience in Java (Collections, Streams, Lambdas, Exceptions).
- Proficiency with asynchronous and concurrent programming – Executors, Futures, CompletableFutures, or Kotlin Coroutines.
- Experience with Reactive frameworks – Vert.x (preferred), Spring Reactive, RxJava, Netty, or Akka.
- Proven experience designing and building RESTful microservices; exposure to SOAP or gRPC is a plus.
- Experience with build tools (Gradle preferred, Maven acceptable).
- Solid understanding of unit testing frameworks (JUnit, Cucumber, or equivalent).
- Expertise in system design, performance tuning, and production diagnostics (heap/thread dumps, JConsole, JMC).
- Working knowledge of source control systems (Git or equivalent) and conflict resolution.
- Familiarity with containerization and orchestration tools (Docker, Kubernetes).
- Exposure to messaging systems such as Kafka or RabbitMQ is a plus.
- Bonus: Knowledge of Virtual Threads (Java 21+), micro-benchmarking (JMH), or emerging languages such as Go, Rust, or WebAssembly (WASM).
Mindset & Collaboration
- Passion for technology and continuous learning—engaged in the broader developer ecosystem (CNCF, open source, tech communities).
- Action-oriented and adaptable; thrives in a dynamic, fast-changing environment.
- “Manager of one” mindset—takes ownership, drives clarity, and executes independently.
- Empathetic communicator who disagrees respectfully and commits to team goals.
- Enthusiastic about developer experience and improving how others build software.
- Committed to mentorship, collaboration, and contributing to Amex’s technology guilds.
Qualifications
- 5+ years of professional software development experience.
- 4+ years of experience with Java, Kotlin, or similar object-oriented languages.
- 2+ years’ experience with at least one other modern language (Go, Python, Node.js, Rust).
- Demonstrated expertise in designing, developing, and testing enterprise-grade APIs.
- Experience with relational or NoSQL databases, schema design, and performance optimization.
- Familiarity with public cloud platforms (AWS, GCP, or Azure).
- Strong analytical and troubleshooting skills; able to decompose complex systems.
- Excellent written and verbal communication skills.
- Bachelor's degree in computer science, Computer Engineering, or equivalent; advanced degree preferred.
- Competitive base salaries
- Bonus incentives
- 6% Company Match on retirement savings plan
- Free financial coaching and financial well-being support
- Comprehensive medical, dental, vision, life insurance, and disability benefits
- Flexible working model with hybrid, onsite or virtual arrangements depending on role and business need
- 20+ weeks paid parental leave for all parents, regardless of gender, offered for pregnancy, adoption or surrogacy
- Free access to global on-site wellness centers staffed with nurses and doctors (depending on location)
- Free and confidential counseling support through our Healthy Minds program
- Career development and training opportunities
Depending on factors such as business unit requirements, the nature of the position, cost and applicable laws, American Express may provide visa sponsorship for certain positions.
Salary range
- $103,750 - $174,750 per year
