U.S. Bank Software Engineer 2 (Android Developer) - multiple locations in Richfield, Minnesota
At U.S. Bank, we're passionate about helping customers and the communities where we live and work. The fifth-largest bank in the United States, we’re one of the country's most respected, innovative and successful financial institutions. U.S. Bank is an equal opportunity employer committed to creating a diverse workforce. We consider all qualified applicants without regard to race, religion, color, sex, national origin, age, sexual orientation, gender identity, disability or veteran status, among other factors.
Works alongside product engineering team. Responsible for designing, testing, developing, operating and maintaining products, sometimes under the guidance of principal engineers. Strives to deliver work with the customer in mind and understands the value of what they’re building. Understands the organization’s strategy and how the engineering culture aligns to this. Recognizes how the product works and the overall purpose and impact of the product.
Consistently writes production-ready code that is easily testable, easily understood by other developers and accounts for edge cases and errors.
Consistently considers best practice when designing APIs and applies applicable patterns across several contexts/codebases, in accordance to agreed best practices and standards. Regularly designs code that fits with the overall architecture.
Proficient at using systematic debugging to diagnose all issues located to a single service. Uses systematic debugging to diagnose cross service issues and is adept at using a range of tools to detect when there is an incident and raises this with stakeholders in a timely manner.
Takes ownership of incidents which fall in their domain and may be involved in the resolution of an incident or provide assistance to others on resolving incidents.
Understands and knows when to use different data structures. Understands when algorithms should be applied and the associated complexities. Helps others build their understanding of the applied algorithm and suggests improvements.
Consistently creates reasonable sized code reviews that contain descriptions of changes and testing conducted. Assesses other code reviews with the lens of quality and value - code quality, acceptance criteria, business logic, test coverage and aligned to overall architecture. Highlights any issues with a code review that might result in release complications. Proactive in evaluating code reviews in the team and resolving open code reviews in a timely manner.
Understands their team's testing approach and uses quality metrics to identify gaps. Works with their team to recommend solutions that are in accordance with accepted testing frameworks and the testing pyramid.
Approaches engineering work with a security lens and actively looks for vulnerabilities both in the code and when providing code reviews. Has a holistic view on how the applications across more than one context integrate with each other. Is aware of the organization’s monitoring philosophy and skilled with the monitoring tools. Helps tune and change the monitoring on their team accordingly.
Develops techniques on effective coaching strategies for different individuals. Seeks out mentoring opportunities specifically to increase knowledge in parts of the system that is not well understood. Supports and advocates others and provides tools to help them grow their understanding a technical topic.
Actively participates and understands Scrum while developing a point of view on an effective software delivery process.
Reviews tasks critically and ensures they are appropriately prioritized and sized for continuous integration and incremental delivery. Anticipates and communicates blockers, delays before they require escalation.
Creates project proposals and designs that have considerable impact or touch multiple systems. Technical designs are clear, well thought out, and considers dependencies, failure states, maintainability, testability and ease of support.
Keeps business context in mind when proposing architectural decisions. Also considers scalability, reliability and performance of systems/contexts affected when defining technical designs.
Ability to collaborate on all aspects of product development. Technically proficient and able to define and fulfill solutions requirements for end user. 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. With areas of expertise include algorithms, data structures, architectural design patterns and best practices. Strong problem-solving and analytical skills.
Strong object-oriented programming and design skills. Excellent android development experience with Java / Kotlin. Must have experience building the Mobile Apps using native Android development frameworks. Has a thorough understanding of Android SDK performance tools for profiling and optimization. Ability to guide a team of developers to design and develop quality product. Experience in code governance, quality metrics, ability to design and develop frameworks, create and optimize devops pipelines, are a strong plus
Has a complete understanding of a feature, the users impacted, the flows impacted and feature's purpose. Focused on the bigger picture, identifying and prioritizing with the aim to consider more than one domain in this analysis. Creates project proposals and designs that have considerable impact or touch multiple systems. Technical designs are clear, well thought out, and considers dependencies, failure states, maintainability, testability and ease of support. Studies scalability, reliability and performance of systems/contexts affected when defining technical designs. Has a thorough understanding of 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. Has a basic understanding of adjacent teams' business domains. Understands the organization’s company strategy and how the engineering strategy aligns to this. Usually involved in discussions about the implications for their team. Thoroughly understands the business model in relation to their current product focus area. Sometimes participates in roadmap feedback with product team. Looks for opportunities to simplify product & technical design. Typically requires Bachelor’s degree or equivalent with 5-6 years of relevant experience.
Bachelor's degree, or equivalent work experience
Three to five years of relevant experience
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 and 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
Take care of yourself and your family with U.S. Bank employee benefits. We know that healthy employees are happy employees, and we believe that work/life balance should be easy to achieve. That's why we share the cost of benefits and offer a variety of programs, resources and support you need to bring your full self to work and stay present and committed to the people who matter most - your family.
Learn all about U.S. Bank employee benefits, including tuition reimbursement, retirement plans and more, by visiting usbank.com/careers at https://www.usbank.com/careers/index.html .
EEO is the Law
Applicants can learn more about the company’s status as an equal opportunity employer by viewing the federal EEO is the Law at https://www.dol.gov/sites/dolgov/files/ofccp/regs/compliance/posters/pdf/eeopost.pdf poster.
U.S. Bank participates in the U.S. Department of Homeland Security E-Verify program in all facilities located in the United States and certain U.S. territories. The E-Verify program is an Internet-based employment eligibility verification system operated by the U.S. Citizenship and Immigration Services. Learn more about the E-Verify program at https://www.usbank.com/careers/verification-of-eligibility-for-employment.html .
Our 74,000 employees work across departments to help our millions of retail, business, wealth management, payment, commercial and corporate, and investment services customers across the country and around the world turn their dreams into reality. Our employees are empowered to create change and drive our future, and we pride ourselves on diligently and ethically upholding U.S. Bank’s best-in-class financial record and legacy of more than 150 years in banking. Most importantly, we put people first, cultivating and treasuring meaningful relationships with the customers we serve, the colleagues we support and the communities where we live and work.