Software Engineer II
The Enterprise Technology Services organization partners with every part of the American Express business to power the company’s growth and innovation with trust and efficiency, and drive competitive differentiation with speed. We support the delivery and operations of technology, digital, and data capabilities, platforms, and services globally. Specifically, our team is responsible for the company’s technology engineering, architecture, and infrastructure, providing 24x7 support to ensure an uninterrupted, high-quality experience for customers and colleagues. We also provide product management for core enterprise platforms, and lead technology risk and information security, enterprise data governance and platforms, digital product and design, and enterprise AI platforms on behalf of the company. With the right backing, people and businesses have the power to progress in incredible ways. When you join Team Amex, you become part of a global and diverse community of colleagues with an unwavering commitment to back our customers, communities and each other. Here, you’ll learn and grow as we help you create a career journey that’s unique and meaningful to you with benefits, programs, and flexibility that support you personally and professionally.
At American Express, you’ll be recognized for your contributions, leadership, and impact—every colleague has the opportunity to share in the company’s success. Together, we’ll win as a team, striving to uphold our company values and powerful backing promise to provide the world’s best customer experience every day. And we’ll do it with the utmost integrity, and in an environment where everyone is seen, heard and feels like they belong.
Software Engineer II designs, develops, tests, and debugs software applications, contributes to software builds, completes code reviews and automated testing to maintain high-quality standards with guidance, supports and monitors software across environments, and adheres to security and regulatory best practices.
- Designs, develops, tests, and debugs software applications and systems
- Completes software builds through consistent development practices, including the use of tools, common components, and documentation with guidance from peers and leaders
- Completes code reviews and automated testing to maintain high-quality code standards with guidance from peers and leaders
- Supports and monitors software across test, integration, and production environments
- Adheres to security and regulatory best practices to ensure software compliance
- Collaborates and co-creates effectively with teams in product and the business to align technology initiatives with business objectives
- Integrates AI tools into coding, testing, debugging workflows and documentation tasks and applies AI tools to improve development speed and code quality
- Evaluates AI-generated recommendations for accuracy, quality, alignment with engineering standards, and security and maintains accountability for outputs
- Degree in computer science, computer engineering or a related field.
- Minimum 3 years of software development experience in a professional environment working with Java technologies - Vertx, Spring, Spring Boot, RESTful micro services, Ignite, In-Memory Computing, Spark, PostgreSQL, Cassandra, Kafka, Yellowbrick (Apache Ignite is a plus) and RESTful API’s.
- Hands-on experience with application design, software development and automated testing
- Experience with distributed (multi-tiered) systems, algorithms, relational or NoSQL databases.
- Ability to effectively interpret technical and business objectives and challenges and eloquent solutions.
- Ability to learn and investigate new technology and business domains, question status quo and think outside of the box.
- Ability to debug basic software components and identify code defects for remediation.
- Experience working in Agile or other rapid application development methods.
- Proficient oral and written communication skills.