Lead Software Engineer - Full Stack (Java) at Discover
Discover. A brighter future.
With us, you’ll do meaningful work from Day 1. Our collaborative culture is built on three core behaviors: We Play to Win, We Get Better Every Day & We Succeed Together. And we mean it — we want you to grow and make a difference at one of the world's leading digital banking and payments companies. We value what makes you unique so that you have an opportunity to shine.
Come build your future, while being the reason millions of people find a brighter financial future with Discover.Job Description
The Deposits value stream develops, implements, and supports the full application stack for several banking applications and products, including checking, savings, certificates of deposit, and individual retirement accounts. Solutions are implemented using a variety of technologies such as Java, Spring, ReactJS, Mockito, Cucumber, Cloud Foundry, AWS, Git, Unix, Jenkins (CI/CD), Finacle and business process management.
What You’ll Do
- Develop and maintain full stack solutions to fit business needs ― full stack solutions require one or more of the following: front-end (user interfaces), back-end (APIs), database and DevOps development.
- Work directly with business partners to understand business requirements. Work independently or with own team to innovate and advocate for best practices within the team.
- Design complex solutions and lead them from inception to production within the Agile team.
- Deliver technology solutions that support Discover Bank's strategic goals.
How You’ll Do It
- Develop and maintain complex front-ends focused on user experience.
- Develop and maintain back-end systems.
- Work with key stakeholders to design complex solutions and lead from inception to production.
- Create and maintain DevOps processes, application infrastructure, and utilize cloud services (including database systems and models).
- Innovate on and advocate for best practices and improved team processes.
- Mentor junior team members.
- Support live systems to ensure business continuity.
- Provide technical leadership and direction to transform and increase team’s efficiency, testing automation, and quality of its products.
- Integrate software engineering best practices into team’s culture.
Qualifications You’ll Need
- Bachelor’s degree in information technology or related field
- 6+ years of experience in computer science, information technology or related field
- In lieu of degree, 8+ years of experience in computer science, information technology or related field
Bonus Points If You Have
- Experience as part of an Agile engineering or development team
- Strong understanding of object-oriented principles with an ability to write clean code
- Strong experience working with a relational database and NoSQL database
- Strong experience with CI/CD pipelines with Jenkins or similar; Git/GitHub; Artifactory
- Proven skills in high availability and scalability design, as well as performance monitoring
- Experience developing and implementing API service architecture
- Experience in working in a cloud environment such as AWS, GCP or Azure.
- Understanding of messaging systems like MQ, Rabbit MQ, Kafka, or Kinesis.
- Strong experience of developing multi-threaded and synchronization application
- Build secure web applications with user authentication
- Understanding of software testing principles and methodologies
- Banking industry experience
- OpenShift, Docker, Kubernetes experience
What are you waiting for? Apply today!
The same way we treat our employees is how we treat all applicants – with respect. Discover Financial Services is an equal opportunity employer (EEO is the law). We thrive on diversity & inclusion. You will be treated fairly throughout our recruiting process and without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status in consideration for a career at Discover.