American Express Careers
- Owns all technical aspects of software development for assigned applications; Performs hands-on architecture, design, and development of systems
- Requirements gathering, analysis, design and development of integration solutions and APIs.
- Communicating to stakeholders and business partners on the solution and the implementation aspects at the technical and/or functional level appropriate for the situation
- Ability to work closely with technical architects and architecture governance technical team for solution development and design reviews.
- Manages and mentors teams of junior and senior engineers through ongoing sprints
- Functions as a senior member of an agile team and helps drive consistent development practices – tools and common components
- Develops deep understanding of tie-ins with other systems and platforms within the supported domains
- Works closely with product owners on blueprints and annual planning of feature sets that impact multiple platforms and products
- Typically spends 30-50% of time writing code and testing, and remainder of time managing team and stakeholders through ongoing product/platform release sprints
- Identifies opportunities to adopt innovative technologies
- This “rebel with a cause” looks beyond the obvious for continuous improvement opportunities
- Software development experience in a professional environment and/or comparable experience.
- Familiar with Agile or other rapid application development methods.
- Experience with design and coding across one or more object oriented platforms and languages.
- Java programmer (minimum Java 7, Java 8 preferable).
- Knowledge of Spring including MVC, AOP, Spring Boot, REST, XML, Microservice architecture, JUnit, Mocking, JSP, Oracle DB SQL, Couchbase, Cassandra, and PostgreSQL.
- Knowledge in In-memory computing is preferable.
- Desirable to have cloud experience, especially Docker, Unix and service discovery tools.
- Desirable to have experience with performance and monitoring tools e.g. Splunk and App Dynamics.
- Application server deployment and configuration experience in JBoss, Tomcat and SpringBoot.
- Knowledge of automated build / continuous delivery, experience of Maven, Jenkins and other JVM languages, Vert.x, Reactive Programming a plus.
- Hands-on experience with application design, software development and automated testing Exposure to distributed (multi-tiered) systems, algorithms, and relational databases.
- Current knowledge of payments industry desirable.
- Manages seamlessly across time zones, cultures, and band levels.
- Communicates effectively with Technical, Operational, and Business stakeholders.
- Must be willing and able to express new ideas, concerns and opinions directly to wider team in team meetings via teleconference.
- Attention to detail and accuracy are essential.
- Must be proactive, enthusiastic, flexible, and results driven.
- Bachelor’s Degree in computer science, computer engineering, or related field required.
Schedule (Full-Time/Part-Time): Full-time