Lead Software Developer
Discover. A brighter future.
With us, you’ll do meaningful work from Day 1. Our collaborative culture is built on three core behaviors: We Play to Win, We Get Better Every Day & We Succeed Together. And we mean it — we want you to grow and make a difference at one of the world's leading digital banking and payments companies. We value what makes you unique so that you have an opportunity to shine.
Come build your future, while being the reason millions of people find a brighter financial future with 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 API 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
- Utilize your Java JEE coding, unit testing, system testing expertise.
- 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
- REST APIs
- JSON
- Spring (core, integration, boot and other libraries)
- Apache Kafka
- PCF
- OCP
- 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 pipelining coding techniques that are commonly used in streaming development.
#LI-MF1 #Remote #BI-Remote
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.