Senior Mobile Engineer I
The Enterprise Technology Services organization partners with every part of the American Express business to power the company’s growth and innovation with trust and efficiency, and drive competitive differentiation with speed. We support the delivery and operations of technology, digital, and data capabilities, platforms, and services globally. Specifically, our team is responsible for the company’s technology engineering, architecture, and infrastructure, providing 24x7 support to ensure an uninterrupted, high-quality experience for customers and colleagues. We also provide product management for core enterprise platforms, and lead technology risk and information security, enterprise data governance and platforms, digital product and design, and enterprise AI platforms on behalf of the company.
At Global Dinning at Amex, we are tackling hard problems with elegant solutions and scaling very quickly. As a Senior engineer, you will play a crucial role in taking our product to the next level. The ideal candidates can work quickly and produce well-architected solutions collaboratively. You are comfortable working across the entire stack from database to frontend and have experience working on consumer or B2B software in a product-led organization. You thrive in a dynamic and constantly evolving environment, you are a collaborator and an innovator, and you are excited about what technology is doing for the hospitality industry.
- Quickly distill product requirements into tangible engineering tasks
- Produce high-quality, well-documented, and well-tested code
- Help shape our engineering culture by coming up with ideas, tools, and infrastructure wherever you see a problem to be solved
- Explore new technologies in the restaurant and hospitality industry
- Collaborate with Product, Design, and Engineering teams to establish and drive the product vision
- Build iOS applications with an eye for detail and excellence
- Use dependency management and build tools such as xcodebuild, GitHub Actions, Swift Package Manager, CocoaPods, Tuist
- Proactively find and fix bugs
- Do performance analysis and optimization
- Understand the pyramid of testing and know how and when to use unit, integration, and UI tests
- Design solutions for open ended problems
- Collaborate with designers and product managers, and give them feedback to help achieve intuitive UX with pixel-perfect UI and polished animations
- Help your teammates by reviewing their pull requests, answering their questions, unblocking them when they are stuck
- Create opportunities to brainstorm, share different perspectives, and seek different opinions to help achieve the best possible engineering solution
- Look beyond what is on your plate for the active sprint and pay attention to what others in your own team and the larger engineering organization is building
- Keep an eye on what is coming down the pipeline on the roadmap and get a good grasp of the company and product vision
- 7+ years of software development experience
- 4+ years of iOS development experience
- Preferably a BS or MS degree in computer science, computer engineering, or other technical discipline (or equivalent work experience)
Technologies That You Will Encounter on Our Mobile Team:
These are technologies you will encounter as an iOS Engineer.
- Swift
- Objective-C (very limited legacy code)
- UIKit
- SwiftUI
- MVVM
- REST APIs
- XCTest / XCUITest
- SwiftLint
- Swift Package Manager (SPM)
- CocoaPods
- Realm
- Combine
- PromiseKit
- Jenkins
- GitHub Actions
- TestFlight
- Firebase
- Postman
- Figma
- Jira
- Confluence
Technologies That You May Encounter on Our Larger Engineering Organization:
These are technologies you don’t need to work with unless you are interested in to do so. We encourage you to collaborate with other teams using these technologies.
- Kotlin
- Jetpack Compose
- Tuist
- AWS (EC2, RDS, S3, SQS, SNS)
- Python
- MySQL
- GraphQL
- React
- Redux
- Webpack
- Captcha