Senior Software Developer
Discover. A brighter future.
With Discover, you’ll have the chance to make a difference at one of the world’s leading digital banking and payments companies. From Day 1, you’ll do meaningful work you’re passionate about, with the support and resources you need for success. We value what makes each employee unique and provide a collaborative, team-based culture that gives everyone an opportunity to shine. Be the reason millions of people find a brighter financial future, while building the future you want, here at Discover.
Job Description
Discover Financial Services is looking for a Senior Java Software Developer to drive delivery in all aspects of software development. You will collaborate with product managers and your peers as part of a scrum team to execute on a broad range of projects for the digital products that power Discover, from feature enhancements to designing and building technical solutions. You will use Java Spring and will be equipped with modern CI/CD developer tool kit (STS/IntelliJ, Cloud Development, GitHub, Jenkins, Trident Pipeline and Nexus to name a few).
Our Fraud, Authorization & Authentication Value Stream is responsible for all development of our related digital products across our Card division. We would be thrilled to have you join our XP & BDD digital transformation journey.
Responsible for developing large scale customer facing applications. Designs, develops and integrates systems for Discover's award-winning digital presence by using Agile development methodologies to support existing and new product features
You will be successful at Discover if you can:
- Build high quality software for large scale and highly available systems
- Contribute to the department’s developer community
- Exhibit strong technical and leadership behaviors
- Talk about your work with both technical and non-technical team members
- Promote a risk-aware culture, ensure efficient and effective risk and compliance management practices by adhering to required standards and processes.
Responsibilities:
- Works closely with the Business utilizing agile methodology. Breaks down complex requirements into workable technical solutions. Assists in the evaluation of client area application software/systems requirements and processes (e.g., new features, enhancements or maintenance). Performs application software development, testing and implementation of efficient, cost effective application solutions. Completes technical design(s) as needed. Ensures that design(s) meets architecture standards and that the resulting system will be flexible, easily maintainable, high performing and integrates well with other related systems/components. Researches and evaluates alternative solutions and recommends the most efficient and cost effective solution for the systems design. Collaborates with other developers on code reviews and process enhancements. Completes unit and system testing prior to the start of any testing in PA region. Works with other internal IT teams to complete project activities, such as Infrastructure, Architecture and Database teams. Ensures that code reviews are performed and documented using the approved template. May provide direction and guidance to other systems analysts/developers. Analyzes and identifies technical areas of improvement within existing web applications.
- Ensures all projects and releases are appropriately tested and that risks are mitigated. Ensures all projects have a detailed implementation and back-out plans, and are reviewed with all impacted parties in advance of scheduled releases. Continually looks for, and implements ways to, stabilize and improve the performance of the production environment.
- Identifies and executes opportunities to leverage agile/iterative/lean processes to deliver projects faster. Proposes ideas to better position our applications to support future business and technology initiatives. Finds ways to incorporate these ideas within planned project/release timelines. Incorporates and supports new technology/frameworks to support our continuous integration efforts.
- Adheres to regulatory, PDP, Change Management, and Internet Department processes and standards, ensuring all projects are compliant. Ensure any volume and capacity considerations are communicated during the design phase (or prior to committing to a Sprint). Documents software and performs related duties as assigned or requested. Actively contribute to best practices to support a strong software architecture. Reduce occurrence of vulnerabilities through proper secure coding practices and having a "Security First" Mindset. Follow proper handling of sensitive data per security guidelines. Ensures any volume and capacity considerations are communicated during the design phase (or prior to committing to a Sprint). Identifies efficient and viable alternatives to resource intensive requirements.
Minimum Qualifications:
- Bachelor’s Degree in Information Technology or related field
- 4 years of Software Development experience
- In lieu of degree, 6 years of Software Development experience
Desired Qualifications
- Relevant hands-on experience with building highly scalable and reliable Java applications
- Experience with Java development on client facing application
- Experience working with an iterative software development methodology
- Understanding of object-oriented design principles
- Self-motivated and openly challenge yourself to continuously improve
#LI-SY1
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.