Lead Java Developer
Job Description
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.
Responsible for analyzing, modifying, and supporting application software. Ensures quality code is delivered through continuous integration, development, and testing. Performs technical design, coding with test automation, support, and documentation of software application modifications.
Responsibilities
- Works closely with the Business partners, breaks down complex requirements into workable technical solutions.
- Analyze, modify, and support application software.
- Produce quality code through continuous integration, development, and testing by utilizing technologies including Java, J2EE, JavaScript, Spring MVC, Hibernate, CSS, JDBC, HTML, XML, ReactJS, GitHub, Jenkins, Pivotal Cloud Foundry, Spring Boot, Gemfire, Gradle, Micro services, Spring Cloud Contracts, Junit, Mockito, SOAP and REST services, Continuous Integration and Continuous Deployment (CI/CD) pipeline, WebSphere, Oracle.
- Conduct development tasks including technical design, coding with test automation, support, and documentation.
- Develope Junit test cases and performe Unit and System testing, participated in the integration testing and User Acceptance Testing.
- Deliver technical solutions based on approved designs.
- Researches and evaluates alternative solutions and recommends the most efficient and cost effective solution for the systems design.
- 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.
- Collaborated with other developers on code reviews and process enhancements.
- Participate in the quarterly planning Program Increment sessions, User Story grooming and in creation of user stories according to the business requirements.
- Provide direction and guidance to other systems analysts/developers.
- Analyzes and identifies technical areas of improvement within existing applications.
- Ensures all projects and releases are appropriately tested and 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.
- Maintain highly available systems.
- Provided Production Support and resolved production issues.
- Actively contributed to best practices to support a strong software architecture
- 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.
- Provide thought leadership to the team.
- 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.
- Maintains application software and systems.
- Ensures all projects and releases are appropriately tested and risks are mitigated.
- Delivers technology solutions that support business goals.
- Partners with the product owner to understand business requirements, evaluates features, and translates application specifications into workable technical solutions.
- Supports technical initiatives and provides input into best practices to team.
- Oversees and reviews development activities of team members and contractors.
Minimum Qualifications
At a minimum, here’s what we need from you:
- Bachelor’s Degree in Computer Science, Business Computer Systems, or related technical field
- 6+ years of experience in Software Engineering or related field
- In lieu of degree, 8+ years of experience in Software Engineering or related field
Preferred Qualifications
If we had our say, we’d also look for:
Java, J2EE, JavaScript, Spring MVC, Hibernate, CSS, JDBC, HTML, XML, ReactJS, GitHub, Jenkins, Pivotal Cloud Foundry, Spring Boot, Gemfire, Gradle, Micro services, Spring Cloud Contracts, Junit, Mockito, SOAP and REST services, Continuous Integration and Continuous Deployment (CI/CD) pipeline, WebSphere, Oracle.
#LI-DR1
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.