Senior Java Developer
At Discover, be part of a culture where diversity, teamwork and collaboration reign. Join a company that is just as employee-focused as it is on its customers and is consistently awarded for both. We’re all about people, and our employees are why Discover is a great place to work. Be the reason we help millions of consumers build a brighter financial future and achieve yours along the way with a rewarding career.
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.
- 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 continual integration efforts.
- Adheres to regulatory, PDP, Change Management, and Internet Department processes and standards, ensuring all projects are compliant. Ensures 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 contributes to best practices to support a strong software architecture. Reduces occurrence of vulnerabilities through proper secure coding practices and having a “Security First” mindset. Follows 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.
At a minimum, here’s what we need from you:
- Bachelor’s Degree in Information Technology, or related field
- 4+ years of experience in Software Development or related field
- In lieu of education, 6+ years of experience in Software Development or related field
- Experience with framework and API design
- Strong Junit/integration testing experience
- Core Java or Object Orientated Programming
- Spring (Core, Spring Integration, Spring Boot, Spring Batch)
- JSON/XML processing and validation
- SOAP & REST Services
- CI with Jenkins or similar; Git/GitHub; Gradle, Nexus,
- IBM MQ
- Data Technologies: Oracle
- Cloud/PaaS Architectures: Cloud Foundry(PCF)/AWS
- Strong Unix/Linux shell/batch scripting knowledge
- Strong understanding of application debugging and tracing
- Strong analytical and problem solving skills
- Strong verbal and written communication skills
- Strong collaboration skills, responsive to service needs and project demands in a fast changing environment (Must-have soft skill)
- 2+ years of relevant hands-on solution architecture experience in DFS Tech Stack
- Passion for learning
- Strong collaborator
- Servant leader
It Would Be Great If You Have:
- Studied architectural patterns at scale, including thoughtfully-designed APIs, repeatable delivery pipelines, and efficient computer engineering principles
- Utilized and/or contributed to open source projects
- Proficient across the technical stack
- Deep knowledge and understanding of emerging trends in software engineering
- Containerization solutions like Docker, Kubernetes or Openshift
- CI Technologies: Chef, Ansible
- Data/Cache Technologies: Oracle, Maria, Gemfire, MongoDB, Redis
- Cloud/PaaS Architectures (AWS/VM)
- Angular, Gulp, Node, Protractor, WireMock
Discover Financial Services is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, protected veteran status, among other things, or as a qualified individual with a disability.