Lead Java - Software Developer

Last updated 8 days ago
Location:Springfield, 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.

We embrace change and evolution, both in our staff and systems. We are building new payment systems that allows us to utilize modern technologies (Cloud, Big Data, Open Source, Event driven real time processing) and approaches to delivery (Scaled Agile, CI/CD, TDD + BDD) that will enable us to produce software and systems to support our business and adapt to change within the fast paced FinTech world.

We want you to love where you work and thrive in your career. Our culture inspires innovation, teamwork, and growth, so we can make a positive impact on millions of people's lives.

We are looking for an experienced Lead Software Developer. The successful candidate will be primarily focused on supporting and guiding the team during all phases of the development life cycle to design, develop and maintain scalable performant enterprise payments solutions to fit business needs. Our enterprise payments solutions consist of one or more of the following: batch processing, real time data/event streaming, APIs, micro services, NoSQL or relational databases and underpinned by DevOps automation. You will be working directly with business partners to understand business requirements then collaboratively design solutions and lead them from inception to production within the agile team.

What You’ll Do

As part of our Digital Payments technology domain, you’ll:

  • Lead Agile-focused software development teams to help our organization drive towards emerging technologies. While primarily providing hands-on development work, you’ll also mentor junior-level software developers.

  • Leverage your leadership skills to help shape our business and technology outcomes to meet customer and partner needs.

  • Create and break-down product/platform efforts into successful execution-ready plans.

  • Contribute to the developer experience by leveraging the latest industry technologies to enhance current solution patterns and define new ones.

  • Provides specialized expertise and applied knowledge on all aspects of Data Services to support a new and consolidated set of cross network applications.

How You’ll Do It

  • Develops solutions to a variety of problems of moderate scope and complexity as highly skilled with extensive proficiency

  • Java JEE coding, unit testing, system testing and development work for data services applications

  • In depth Spark development experience with the ability to provide technical direction to more junior developers as well as assist with planning and design of components.

  • Knows and uses fundamental concepts, practices, and procedures to solve problems within primary field of expertise

  • Capable of independent working with minimal supervision

  • Writing Technical design documentation (high and low level) as required

  • Refers to policies and practices for guidance.

  • Wide latitude for independent judgment and decision making.

  • Ensure quality code is delivered through continuous integration, development, and testing.

  • Perform technical design, coding with test automation, support, and documentation of software application modifications.

  • Deliver technology solutions that support business goals.

  • Partner with product owners to understand business requirements, evaluate features, and translate application specifications into workable technical solutions.

  • Support technical initiatives and provide team with input into best practices.

  • Oversee and review development activities of highly-complex global teams, consisting of both full-time staff and contractors.

  • Maintain application software and systems.

  • Test and mitigate risks for all projects and releases

  • Provide leadership and guidance to junior-level software developers to enhance their growth and help them achieve objectives.

Our Tech Stack

  • Core Java


  • JSON

  • Spring (core, integration, boot and other libraries)

  • Hadoop stack (Hbase, Storm)

  • Apache Spark

  • Apache Kafka

  • Apache HDFS

  • AWS Cloud - EC2, S3, EMR, ELB, ECS, MariaDB

  • UNIX/Linux (command line and shell scripting)

  • Continuous Integration with Jenkins or similar

Qualifications You’ll Need

The Basics:

  • 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

Bonus Points If You Have:

  • 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
  • Experience working in a highly complex and scaled global technology organization

  • Time spent working for an organization in either the financial services or technology space

  • Test Driven Development

  • Performance benchmarking and analysis

  • Experience supporting a product or service provided to a development community.

  • Experience in a support based capacity, such as a development or engineering team

  • Demonstrates reliability and dependability for the team, displays self-awareness, collaboration and ability to improve based on feedback from others

  • Agile Experience, Jenkins and Chef Experience beneficial.

  • Experience with data pipelineing coding techniques that are commonly used in streaming development.


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.