Lead Software Engineer (Java, Spring boot, Microservices)
About the role
This position is responsible for the analysis, design, testing, development, and maintenance of best-in-class software experiences. The candidate is a self-motivated individual who collaborates with a team and across the organization, taking responsibility for software artifacts produced while adhering to U.S. Bank standards to ensure minimal impact to the customer experience. The candidate will be adept with the agile software development lifecycle and DevOps principles.
Responsibilities
- Design, develop, test, operate, and maintain products.
- Take full stack ownership by consistently writing production-ready and testable code.
- Create optimal designs adhering to architectural best practices; consider scalability, reliability, and performance of systems/contexts affected when defining technical designs.
- Perform analysis on failures, propose design changes, and encourage operational improvements.
- Make sound design/coding decisions with the customer experience in mind.
- Take feedback from code reviews and apply changes to meet standards.
- Conduct code reviews to provide guidance on engineering best practices and compliance with development procedures.
- Ensure all aspects of product development follow compliance and security best practices.
- Exhibit a relentless focus on software reliability engineering standards embedded into development standards.
- Embrace emerging technology opportunities and contribute to best practices in support of the bank’s technology transformation.
- Contribute to a culture of innovation, collaboration, and continuous improvement.
- Review tasks critically and ensure they are appropriately prioritized and sized for incremental delivery; anticipate and communicate blockers and delays before they require escalation.
Requirements
- Bachelor’s degree, or equivalent work experience.
- Six to eight years of relevant experience.
Skills
- Strong hands-on experience with Java Spring Boot.
- Experience building REST-API and Microservices from scratch.
- Experience with Containerization - Docker, Kubernetes, Istio.
- Experience with Open-source Streaming - Kafka.
- Experience with Open-source Databases - PostgreSQL, Cassandra.
- ReactJS for Web-development (good to have).
- Experience creating and maintaining CI/CD pipelines (DevOps) (good to have).
- Experience with Cloud infrastructure (good to have).
- Effective problem-solving and analytical skills.
- Effective communication and application design skills.
Location Expectations
This role requires working from a U.S. Bank location three (3) or more days per week.
Benefits
- Healthcare (medical, dental, vision).
- Basic term and optional term life insurance.
- Short-term and long-term disability.
- Pregnancy disability and parental leave.
- 401(k) and employer-funded retirement plan.
- Paid vacation (from two to five weeks depending on salary grade and tenure).
- Up to 11 paid holiday opportunities.
- Adoption assistance.
- Sick and Safe Leave accruals of one hour for every 30 worked, up to 80 hours per calendar year unless otherwise provided by law.
Pay
The salary range for this role is $126,820.00 - $149,200.00, based on the primary location. In addition to salary, U.S. Bank offers a comprehensive benefits package, including incentive and recognition programs, equity stock purchase, and 401(k) contribution and pension (all benefits are subject to eligibility requirements).