Be a part of transformational change where integrity matters, success inspires and great teams collaborate and innovate. As the fifth-largest bank in the United States, we're one of the country's most respected, innovative, ethical and successful financial institutions. We're looking for people who want more than just a job – they want to make a difference! U.S. Bank is seeking a Software Engineer who will contribute toward the success of our technology initiatives in our digital transformation journey.
The Software Engineer 2 (Android) will be responsible for the analysis, design, testing, development and maintenance of best in class software experiences for our retail banking mobile application. The candidate is a self-motivated individual who can collaborate with a team and across the organization. The candidate takes responsibility of the software artifacts produced adhering to U.S Bank standards in order to ensure minimal impact to the customer experience. The candidate will be adept with the agile software development lifecycle and DevOps principles.
• Responsible for designing, developing, testing, operating and maintaining products.
• Takes full stack ownership by consistently writing production-ready and testable code.
• Consistently creates optimal design adhering to architectural best practices; considers scalability, reliability and performance of systems/contexts affected when defining technical designs.
• Makes sound design/coding decisions keeping customer experience in the forefront.
• Takes feedback from code review and apply changes to meet standards. Conducts code reviews to provide guidance on engineering best practices and compliance with development procedures.
• Accountable for ensuring all aspects of product development follow compliance and security best practices.
• Exhibits relentless focus in software reliability engineering standards embedded into development standards.
• Embraces emerging technology opportunities and contributes to the best practices in support of the bank's technology transformation.
• Contributes to a culture of innovation, collaboration and continuous improvement
• Reviews tasks critically and ensures they are appropriately prioritized and sized for incremental delivery. Anticipates and communicates blockers and delays before they require escalation.
• Ensure availability and resiliency of the U.S. Bank Android application; monitor current performance issues and make recommendations for improvements.
• Bachelor's Degree OR equivalent work experience
• 3-5+ years of relevant experience
Strongly Preferred/Skills Experience
• 7+ years of experience developing and implementing Android native applications for mobile phones, and tablets
• Experience leading a team
• Experience in code governance and quality metrics
• Strong experience in designing and developing native Android frameworks
• Excellent programming skills in Java/Kotlin
• Experience with Android SDK performance tools, and optimization
• Strong object-oriented programming and design skills
• Experience with Dagger, RX Java and MVVM architecture patterns
• Working experience in change and incident management
• Thorough understanding of a feature, the users impacted, the flows impacted and feature's purpose.
• Technical designs are clear, well thought out, and considers dependencies, failure states, maintainability, testability and ease of support.
• Considers scalability, reliability and performance of systems/contexts affected when defining technical designs.
• Understands the team's domain, how work in this domain relates to the team's objectives and deliverables and how it contributes to overall business strategy and how technical strategy maps to this.
• Thoroughly understands the business model in relation to their current product focus area.
• Ability to analyze the bigger picture, identifying and prioritizing with the aim to consider more than one domain within an analysis.
• Looks for opportunities to simplify product & technical design.
• Adept with agile software development lifecycle and DevOps principles.
• Able to communicate processes and results with all parties involved in the product team, including engineers, product owner, scrum master, third party vendors and customers.
• Strong problem-solving and analytical skills.
• Excellent communication and interpersonal skills.
Apply on company website