As a Senior Engineer in Java, you will architect and develop software for customer onboarding using Java and BPM platform. Join our diverse tech team at American Express in a supportive, innovative environment. Embrace the latest technologies, contribute to open source, and enhance your skills. Work in a Hybrid model in Gurgaon, Haryana, India.
Job description
As part of our diverse tech team, you can architect, code and ship software that makes us an essential part of our customers’ digital lives. Here, you can work alongside talented engineers in an open, supportive, inclusive environment where your voice is valued, and you make your own decisions on what tech to use to solve challenging problems. American Express offers a range of opportunities to work with the latest technologies and encourages you to back the broader engineering community through open source. And because we understand the importance of keeping your skills fresh and relevant, we give you dedicated time to invest in your professional development. Find your place in technology of #TeamAmex.
GO2 Unify is the Java based POA platform for Global Onboarding and Orchestration. GO2 is the platform that takes care of all activities required to be done for onboarding a customer across markets, segments and products. When a customer selects an Amex product from a channel (example americanexpress.com), enters the demographic and other information and clicks submit, the application is passed over to GO2. GO2 takes the application through a series of steps, enriching the same at every step and evaluating for a cancel or decline decision. At the end of processing, the application, if not cancelled or declined, is approved and GO2 then fulfills that application. GO2 also takes care of managing business pends where the customer may need to provide more information in which case the CCPs use the GO2 servicing application to interact with the customer and move the application ahead. This new platform is a BPM platform built using Java and REST services.
Minimum Qualifications:
- BS or MS degree in computer science, computer engineering, or other technical discipline or equivalent 3-4 years of work experience
- 8+ years’ experience working in Java and able to demonstrate good Java knowledge
- Able to demonstrate good web fundamentals and HTTP protocol knowledge
- Good attitude, communication, willingness to learn and collaborate
- 5+ years development experience in developing Java applications in an enterprise setting
- 5+ years’ experience developing java applications in frameworks such as Spring, Spring Boot, Drop wizard is a plus
- 2-3+ years recent experience working in Javascript on Node stack is a plus
- 3+ years’ Experience with Test Driven Development (TDD) / Behavior Driven Development (BDD) practices, unit testing, functional testing, system integration testing, regression testing, GUI testing, web service testing, and browser compatibility testing, including frameworks such as Selenium, WebDriverIO, Cucumber, JUnit, Mockito
- Experience with continuous integration and continuous delivery environment
- 3-4 years working in an Agile or SAFe development environment
- Solid Understanding of distributed systems
- Proven experience building scalable web application using Java
Responsibilities:
- Serving as a core member of an agile team that drives user story analysis and elaboration, designs and develops responsive web applications using the best engineering practices
- Performing hands-on software development, typically spending most of time actually writing code and unit tests, doing proof of concepts, conducting code reviews, and testing in ongoing sprints
- Performing ongoing refactoring of code, and delivering continuous improvement
- Developing deep understanding of integrations with other systems and platforms within the supported domains
- Bring a culture of innovation, ideas, and continuous improvement
- Challenging status quo, demonstrate risk taking, and implement creative ideas
- Manage your own time and work well both independently and as part of a team.
- Work closely with product managers, back-end and other front-end engineers to implement versatile solutions to tricky web development problems
- Embrace emerging standards while promoting best practices and consistent framework usage.
- Work with Product Owners to define requirements for new features and plan increments of work.
- Drive automation and ensure automated test scripts are completed for new features in partnership with QA Engineers.
- Perform all technical aspects of software development for assigned applications, including developing prototypes, writing new code and creating API's.
- Design and build integration components and interfaces in collaboration with Senior Engineers, Architects and Infrastructure Engineers as necessary.
- Demonstrate a passion for continuous learning and willingness to adopt new technologies.