American Express Careers

Senior Engineer-

New York, New York; Palo Alto, California; United States
Digital Commerce Technology

Apply Get Referred

Job Description

Why American Express?
There’s a difference between having a job and making a difference.
 
American Express has been making a difference in people’s lives for over 160 years,
backing them in moments big and small, granting access, tools, and resources to take
on their biggest challenges and reap the greatest rewards.
 
We’ve also made a difference in the lives of our people, providing a culture of learning
and collaboration, and helping them with what they need to succeed and thrive. We
have their backs as they grow their skills, conquer new challenges, or even take time to
spend with their family or community. And when they’re ready to take on a new career
path, we’re right there with them, giving them the guidance and momentum into the
best future they envision.
 
Because we believe that the best way to back our customers is to back our people.
 
The powerful backing of American Express.
Don’t make a difference without it.
Don’t live life without it.
 
Focus
 
Main focus is to work as a software engineer and contribute to full lifecycle software development and support for key enterprise monitoring platforms and initiatives to utilize Logging, Tracing, and Time Series Metrics.  Coding features and automation use cases in .NET, Java, Python, Javascript, Ansible and leveraging test-driven development practices to deliver the highest quality solutions.  Full stack DevOps support of highly available distributed platform components including micro services, REST API’s, RabbitMQ messaging, Kafka, Elastic Cloud Enterprise, Splunk, MySql.
 
 
 
Organizational Context
 
Software engineer working on a team with both app developers and infrastructure engineers delivering iterative solutions using Agile/Scrum methodology and practices.  Helping application development and production support teams adopt and implement new enterprise monitoring and analytics capabilities to enable improved enterprise operational awareness, proactive incident response while ensuring reliability and availability of infrastructure, applications and customer capabilities.
 
 
 
Key Responsibilities
  • Contribute to design, implementation and support of new features, system enhancements and bug fixes.
  • Implement requirements using best practice coding patterns and techniques, focused on delivering highly testable code and solutions
  • Proactively observe, support and triage operating trends, run-time symptoms and conditions to ensure stability, performance, reliability and availability.
  • Release high quality code and infrastructure while maintaining overall platform availability and performance.
  • Support platform components and partner integrations to ensure proper end-to-end operation.
  • Integrating monitoring tools and other enterprise event sources to the American Express enterprise event ecosystem.
 
Capabilities
  • Use common/popular integrated development environment tools (ex: VisualStudio, JetBrains, Eclipse) to build, test and deploy software
  • Utilize common/popular source code repository (ex: TFS/Git/Stash) to manage solutions and projects
  • Identify requirements and user stories needed to implement functional and non-functional changes
  • Leverage common implementation patterns to solve problems and enable solutions
  • Coding, testing, debugging of end-to-end code and solutions including software features, infrastructure and configuration as code and integrations with other platforms
  • Leverage automated testing, unit tests, end-to-end functional tests, and code coverage to ensure high code quality
  • Implement solutions leveraging modern architecture patterns; micro services, message bus queues/topics, graceful degradation and recovery 
  • Implement solutions using REST/SOAP API’s and JSON/XML schema to integrate systems and publish and consume data
  • Implement support, triage and forensics using application monitoring, logs and events, metrics, baselines, dashboards, alerts, etc.
  • Participate in operational readiness activities and cross functional collaboration for end-to-end dependencies and deliverables
  • Leverage and integrate code CI/CD pipeline to enable orchestration of builds, testing and deployments
  • Deploy code, implement component upgrades, and execute post deployment validations
  • Utilize enterprise collaboration tools and platforms such as Jira, Confluence, Slack, etc.
 
 Agile Delivery
  • Deliver software features, tech debt and iterative improvements by practicing agile delivery methodologies and sprint ceremonies
  • Create and prepare user stories, acceptance criteria and ensure story quality,
  • Experience or familiar with iterative delivery, minimum viable product (MVP) approach,
  • Familiar with feature toggles and dynamic configuration to enable safe and measured releases to production
 
 DevOps Support
  • Apply DevOps support concepts and practices with a focus on stability, performance, reliability, availability, etc.
  • Implement application logging, application performance monitoring, metrics, tracing and operational telemetry to enable run-time visibility
  • Support, analysis and troubleshooting of distributed systems and solutions leveraging integrations and partners
  • Support, analysis and troubleshooting common performance, latency, capacity, connectivity scenarios, symptoms and conditions
  • Utilize, support and improve monitoring tools and platforms such as; Splunk, Elastic, Dynatrace, AppDynamics. Nimsoft, Gomez/Dynatrace Synthetics, Graphite, Grafana, SolarWinds, Microsoft-SCOM, Prometheus, Open Tracing, OpenCensus
 
Scope of Impact/Influence
  • Collaborate with application, infrastructure and support teams to build and support enterprise solutions.
  • Participate in design and implementation of changes, enhancements, bug fixes, new features, etc.
  • Partner with development teams and support teams to help enable tool adoption and successful transformation projects.

Qualifications

Education and Technical Experience
  • Position requires a Bachelor’s degree in Computer Science, Engineering or a related Quantitative field.
  • 4+ years of progressively responsible experience in implementation and debugging of practical common sense solutions.
  • 6-8 years of experience with systems analysis/programming, incorporating: design methodology, Infrastructure operations support or engineering
  • Hands-on experience with a variety of software languages, operating systems, or network protocols
  • Practical application using Agile or other rapid application development methods
 
High-Performing Behaviors
  • Has an ‘Automation First” mindset – fundamentally will not accept doing things over and over by hand
  • Combines deep technical expertise, a continuous improvement and automation mindset, and systematic and rational root cause analysis to find opportunities to make things faster and better
  • Challenges the status quo, finds opportunities to adopt innovative technologies to enable business capabilities, generates creative ideas and solutions to difficult problems
  • Adapts to change quickly and easily and helps others adjust to changes through effective communication
  • Knows when to raise decisions and when to make on-the-spot decisions
 
Knowledge/Skills
  • Understanding of software development lifecycle (SDLC) principles
  • Ability to write and build code and/or interpret and understand code
  • Understanding of Agile/Scrum concepts and methodologies
  • Understanding of multi-tier application architectures
  • Understanding of servers including; physical servers virtual servers and container deployments
  • Understanding of networking including; TCP/IP, HTTP, FTP, subnetting, routing, firewall, load balancing, DNS, etc.
  • Understanding of security including; SSL/TLS, certificates, encryption/decryption
  • Understanding of storage including NAS and SAN
  • Understanding of authentication/authorization including; LDAP, Kerberos, RBAC, Single-sign-on, SAML, etc.
  • Understanding of basic incident management and problem management processes
  • Experience supporting large scale applications 
  • Understanding monitoring technologies such as logging, metrics, time-series and proactive awareness
 
 Technology Strengths
  • Adaptive Communicatio
  • Agile Practices
  • Industry and Company Knowledge
  • Organizational Change Management
  • Technical Acumen
  • Technology Industry Trends
 
 Game Changers
  • Adaptability
  • Collaboration & Teamwork
  • Continuous Improvement
  • Courage
  • Curiosity
  • Ingenuity
  • Servant Leadership
  • Tenacity
 
 Technical Competencies
  • Programming Languages & Frameworks
  • Programming/Software Development
  • Emerging Technologies
  • Systems Design
  • Testing
 
Functional Competencies
  • Data Management
  • User Experience Evaluation and Analysis
  • Release and Deployment
  • Business Analysis
  • IT Infrastructure
  • Network Support
 
Leadership Competencies
  • Analytical Thinking
  • Executive Presence
 
Business Competencies
  • Business Product Knowledge
  • Documentation & Technical Writing
  • Problem Solving

Employment eligibility to work with American Express in the U.S. is required as the company will not pursue visa sponsorship for these positions.


ReqID: 19006557
Schedule (Full-Time/Part-Time): Full-time
Date Posted: Apr 9, 2019, 6:24:24 PM
Apply Get Referred