Responsible for the development and maintenance of complex Native and Hybrid mobile applications aimed at a range of devices (Cross-platform) including mobile phones and tablet computers. Contribute to the mobile development team throughout the development life-cycle of existing and new mobile applications / products, using standard techniques, procedures, and criteria.
Execute and/or oversee the creation of low level design documents (including code samples/outlines) and detailed engineering specifications based on complex business, user, and non-functional (e.g. performance, reliability, balance, and controls) requirements. Write code that adheres to standards, procedures, and techniques. Maintain integrity of existing program logic according to specifications. Complete deliverables using the Software Development Life-Cycle (SDLC).
Participate in the code review process to ensure development work adheres to standards and specifications, which includes peer review, as well as code review external to development team. Write and/or revise system design documentation and operations documentation to include providing required input into operation support manuals and user guides. Create and properly archive all project related documentation.
Troubleshoot and debug mobile native and hybrid applications to optimize performance. Troubleshoot test set-ups to find sources of error and perform failure analysis. Write automation tests to identify malfunctions of mobile native and mobile hybrid applications. Resolve all unit test issues in a timely manner. Assist the mobile product team in identifying test cases and in creating/mining test data to enable a thorough test of all development deliverables. Ensure mobile product implementations meet quality standards. Approve code to be put into the mobile app store(s).
Partner with the business and project team to gather requirements and fully understand project goals, and then use this information to effectively plan and lead the development process. Participate in project design walk-throughs. Evaluate interrelationships between applications and design for effective interfaces between interrelated applications/systems. Appropriately address failure scenarios in design work. Proactively review then plan and execute corrective action in response to production support issues, as required.
Stay up-to-date with new technology, latest trends, tooling, techniques and best practices in the mobile and web spaces. Maintain a broad understanding of the business / Product, business / product needs, and how applications/assets drive and support the business (understand the greater impact of assets/applications and development work). Provide expertise in the selection and implementation of development tools and best practices, as well as recommendations on priority and asset investments. Suggest and implement new mobile products, applications and protocols.
Bachelors degree or equivalent (4-years) in Computer Science, Engineering, or related field; or equivalent work experience.
1 to 3 years of relevent experience required.
Experience with design, development and maintenance of complex Native and Hybrid mobile applications aimed at a range of devices (Cross-platform) including mobile phones and tablet computers.
Understanding of RESTful Services, Event Driven Development and of best practices in mobile design and development.
Familiarity with developing from Sketch / Figma / Invision mockups and experience deploying mobile applications to the App Store.
Experience working as part of Agile Scrum teams and familiarity with product management concepts.
Problem solver with excellent analytical skills and solid understanding of OOP design principles.
Masters degree or equivalent (6-years) preferred.
iOS - Swift, Objective-C, Swift UI(Preferred)
Android - Kotlin, Java, Compose (Preferred)
Understanding of concepts like touch ID, Face ID, Push notifications, Delegates, Protocols, Categories, extensions, Core-data, etc.
Understanding of mobile application architecture, software design and patterns like - MVC / MVVM / MVC, Delegation, Singleton, Factory, Adapter.
Good understanding of implementing Application life cycle, Activity life cycle, Auto-layouts, Storyboarding, constraint layouts.
Good understanding new technology, latest trends, tooling, techniques and best practices in the mobile and web spaces.
Basic knowledge of networking protocols.
About Our Company
The Ameriprise Financial Technology team mission is to create innovative technology solutions and engaging digital experiences for our clients, advisors, and employees. We embrace an inclusive and collaborative culture that allows us to partner across the business and lend our expertise in the areas of corporate computing, network infrastructure and security. We celebrate the unique qualities and reward the contributions of our talented, passionate employees. If you're motivated and want to work for a strong, ethical company that cares about you and your community, take the next step with Ameriprise Technology.
Ameriprise Financial is an equal opportunity employer. We consider all qualified applicants without regard to race, color, religion, sex, national origin, genetic information, age, sexual orientation, citizenship, gender identity, disability, veteran status, marital status, family status or any other basis prohibited by law.