Software Engineer I
Enterprise Architecture is an organization at American Express, and it is a key enabler of the company’s technology strategy. The four pillars of Enterprise Architecture include:
- Architecture as Code: this pillar owns and operates foundational technologies that are leveraged by engineering teams across the enterprise.
- Architecture as Design: this pillar includes the solution and technical design for transformation programs and business critical projects which need architectural guidance and support.
- Governance: this pillar is responsible for defining technical standards and developing innovative tools that automate controls to ensure compliance.
- Colleague Enablement: this pillar is focused on colleague development, recognition, training, and enterprise outreach.
- Designs, develops, tests, and debugs software applications and systems
- Completes software builds through consistent development practices, including the use of tools, common components, and documentation with guidance from peers and leaders
- Completes code reviews and automated testing to maintain high-quality code standards with guidance from peers and leaders
- Supports and monitors software across test, integration, and production environments
- Adheres to security and regulatory best practices to ensure software compliance
- Collaborates and co-creates effectively with teams in product and the business to align technology initiatives with business objectives
Education Qualifications:
- Bachelor’s degree in Computer Science, Computer Engineering, and/or comparable experience
- Knowledge of distributed (multi-tiered) systems, algorithms, NoSQL and relational databases
Knowledge of the core tools used in the planning, analyzing, crafting, building, testing, configuring, and maintaining of assigned application(s)
Work Experience:
- Software engineering and development experience or a related job
- Experience in application design, software development, and automated testing
- Experience in object-oriented design and coding with variety of languages
- Experience in distributed (multi-tiered) systems, algorithms, and relational databases
- Experience in Agile software development methodologies and practices such as Scrum/Kanban, iterations, user stories
- Experience in automation testing and documentation (i.e. automated, functional, and performance)