American Express Careers
Software Engineer - Java
American Express is looking for talented Software Engineers for its high-energy and self driven Agile team to transform its core card platforms and deliver world experiences to its card members across the globe and on any channel of card members choice. We are looking for engineers who are passionate about delivering deliver high quality software with high throughput.
Have a knack for coming up with creative and innovative solutions and do not hesitate to open up the boundaries? In this role, you will develop new business critical components using modern software development practices and API first mindset using the best tools and technology for the business problem at hand. You will be at the center of most exciting software development happening across the enterprise.
Responsibilities of our Software Engineers include:
- Analyzing business features and user stories and refining with the Product Owner to appropriately support design and build activities.
- Functioning as active member of an Agile team through consistent development practices (tools, common components, and documentation).
- Working with Product Owners to prioritize features and manage a list of technical requirements based on industry trends, new technologies, known defects, and issues
- Performing all technical development for assigned applications including developing prototypes, writing new code and API's and performing unit and assembly testing of developed software
- Conducting integration and performance tests and providing demo of results to technical and product partners
- Debugging software components, identifying, fixing and verifying remediation of code defects (own work and the work of others)
- Performing peer code reviews, making deliberate short and long term design decisions and keeping constant focus on clearing technical debt items in the backlog
- Enabling the deployment, support, and monitoring of software across test, integration, and production environments
- Influence team members with creative changes and improvements by demonstrating risk taking
- 3-6 years of software development experience
- 2+ years of development experience with Java (minimum Java 7)
- Demonstrated experience in Agile development, application design, software development, and testing
- Hands-on experience with Spring Boot, Micro-services, Relational and/or NoSQL databases.
- Demonstrated experience with object-oriented design and coding with variety of languages and proven ability to understand and use complex data structures and associated components
- Deep understanding of multithreading concepts with experience of developing robust and scalable distributed server side applications and algorithms
- Desirable to have experience of writing applications for deployment on cloud environment including OpenShift and Docker containers
- Implementation or working experience of Continuous Integration and Continues Delivery using tools and automation capabilities such as JUnit, Mocking, TestNG, Jenkins, Git, Stash and Jira
- Should have worked on RESTful API design and implementation.
- Strong technical capability with an intense desire to learn new skills and industry trends
- Collaborative work ethics to thrive on peer support and taking pride in of products and capabilities delivered as a team
- Ability to balance priorities and break down complex problems to manageable chunks that can be delivered incrementally
- Analytical skills and knack of looking for non-obvious solutions
- Experience with Event Driven and Reactive Programming is a plus
- Experience developing solutions for complex business problems in Payments and/or Financial systems would be an advantage.
- Bachelor's Degree in Computer Science, Computer Science Engineering, or related field.
Schedule (Full-Time/Part-Time): Full-time
Date Posted: Nov 9, 2018, 8:49:48 AM