Short DescriptionAmerican Express is looking for Software Engineer-Java, Data structures, Algorithms, Hadoop who has hands-on expertise with application design, software development, and automated testing.
- Owns all technical aspects of software development for assigned applications. Performs hands-on architecture, design, and development of systems. Functions as a senior member of an agile team and help drive consistent development practices wrt tools, common components, and documentation. Typically spends 80% of time writing code and testing, and the remainder of time collaborating with stakeholders through ongoing product/platform releases.
- Develops a deep understanding of tie-ins with other Amex systems and platforms within the supported domains. Writes code and unit tests, works on API specs, automation, and conducts code reviews and testing. Performs ongoing refactoring of code, utilizes visualization and other techniques to fast-track concepts, and deliver continuous improvement - Identifies opportunities to adopt innovative technologies. Provides continuous support for ongoing application availability. Works closely with product owners on blueprints and annual planning of feature sets that impact multiple platforms and products. Works with product owners to prioritize features for ongoing sprints and managing a list of technical requirements based on industry trends, new technologies, known defects, and issues.
- A Bachelor's degree in computer science, computer engineering, another technical discipline, or equivalent work experience.
- 10+ years of software development experience with proven hands-on experience in BigData technologies.
- Familiar with Agile or other rapid application development methods. Experience with design and coding across one or more platforms and languages as appropriate.
- Hands-on expertise with application design, software development, and automated testing.
- Ability to effectively interpret technical and business objectives and challenges, and articulate solutions.
- Displays understanding of different Algorithms & Machine Learning techniques and their application in the Customer Marketing domain.
- Ability to think abstractly and deal with ambiguous/under-defined problems. Ability to enable business capabilities through innovation.
- High energy, demonstrated a willingness to learn new technologies and takes pride in how fast they develop working software.
- Experience with distributed (multi-tiered) systems, algorithms, and relational databases.
- Demonstrated experience with object-oriented design and coding with a variety of languages.
- Strong programming knowledge in Java.
- Solid understanding of data structures, Algorithms & Design Patterns is required.
- Hands-on experience in Big Data technologies (at least MapReduce, Hive and HBase).
- Understanding and experience with UNIX / Shell / Perl / Python scripting.
- Database query optimization and indexing.
- Web services design and implementation using REST / SOAP.
- Strong analytical ability.
- Excellent communication skills.
Software Engineer-Java, Data structures, Algorithms, Hadoop