Principal Software Developer

Last updated 12 days ago
Location:Riverwoods, Illinois

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

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.

Develops and maintains full stack solutions to fit business needs. Full stack solutions require on or

more of the following: front-end (user interfaces), back-end (APIs), database and DevOps development. Works directly with business partners to understand business requirements. Independently innovates on and advocates for best practices within the team, and collaborates on them across the enterprise. Carries a holistic view of all products and their interactions to design complex solutions and plan for how new projects will fit into the larger ecosystem. Solves complex technical problems.

Your talents will allow you to contribute, if not shape, our Business and Technology outcomes. Always wanted to have your change agent voice heard? We love to listen. We want you to help create and break-down product/platform efforts into successful execution-ready plans. We need your talents to help ensure our outcomes are aligning to the needs of our Customers and Partners. You will work with the leading payment players in the world while actively contributing to the developer experience by enhancing current solution patterns and defining new ones. All cutting edge work leveraging the latest technologies in the industry.



  • Deliver technology solutions that support our business goals.
  • Partner with management, architects, and product owners to understand requirements, evaluating the features to prepare applications specifications into workable technical solutions.
  • Enhance Operating Model by demonstrating a high level of initiative, ability to work with all levels of management and within a scrum team as a senior technical leader/developer.
  • Assist with the growth team of members within a challenging environment while promoting DFS cultural behaviors and technical proficiencies based on our latest standards and strategies.
  • Actively contribute to the department's developer community to support technical initiatives and provide input into best practices.
  • Maintain highly available systems.
  • Ensure all projects and releases are appropriately tested and risks are mitigated.

Minimum Qualifications

At a minimum, here’s what we need from you:

  • Bachelor's degree in information technology or related technical field
  • 8+ years of experience in relevant technical expertise
  • In lieu of education, 10+ years of experience in software development or related field

Preferred Qualifications

If we had our say, we’d also look for:

  • 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
  • Fullstack Academy, General Assembly or comparable programs may adequately a non-CS Bachelor’s Degree
  • Experienced in technical leadership of software applications.
  • Experienced of working within teams.
  • Modern and broad technology skillset including Java
  • Experienced in design documentation with formal and informal methodologies
  • Experienced in delivering functional & non-functional requirements
  • Good written, verbal and presentation skills.
  • Experienced implementing business critical projects of large scope and technical complexity.
  • Must possess the judgement to plan and accomplish goals without supervision.
  • Ability to perform a wide variety of tasks and a wide degree of creativity and flexibility with regard to technology is expected
  • Enterprise frameworks e.g. Spring , DROOLS
  • Web services including REST
  • Messaging & streaming middleware e.g. RabbitMQ, Kinesis, Kafka
  • Big data frameworks e.g. Hadoop, Spark
  • Relational and non-relational databases e.g. MariaDB, HBase, DynamoDB
  • Micro services experience
  • Cloud infrastructure e.g. AWS and Pivotal Cloud Foundry (Lambdas, EC2s, Spring boot services)
  • Continuous Integration & deployment e.g. Jenkins, Ansible, Terraform.
  • UNIX/Linux scripting

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.