Senior Programmer at Discover
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.
Discover is more than a credit card. At its core, Discover is a software company. Our customers demand products that help them spend smarter and achieve a brighter financial future. These products are built and supported by our software teams. We have fun at work and live these values: One customer. The person using the product is who matters. Teams get it done. You wont be sitting in a corner on your own – its a collective effort. Seek to understand. Listen first, ask why, and then reach a conclusion.Progress over perfection. Try new ideas and be comfortable with failing fast. No spectators. Expect to tackle tough problems and to challenge the status quo.
In this position, you will build software that reaches Discovers customers. You will partner with others to advance Discovers CI/CD maturity as more and more apps move to the cloud. You will actively contribute to the developer community by enhancing current solution patterns and defining new ones. You will explore new technologies and solutions to pilot and provide proof of concepts to be used by application teams. These foundational capabilities will be used by other teams to be able to deploy business solutions more quickly.
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.
- 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.
- 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.
At a minimum, here’s what we need from you:
- Bachelor’s Degree in Computer Science, or related field
- 4+ years of experience in Development
If we had our say, we’d also look for:
- Familiar with programming languages, such as Java, Python, or Node
- Experience with CI/CD tools and methodologiesPreviously owned development for a functional area
- Passion for learning
- Strong collaborator
- Servant leader
- Not afraid to try something new
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.
So, what are you waiting for? Apply today!