Principal 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 are looking for multiple Principal Developer’s/ Engineer’s to join various teams within Discover. The successful candidate(s) will be primarily focused on supporting and guiding the team during all phases of the development life cycle to develop and maintain back-end elements of solutions to fit business needs.
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 full-stack solutions and the larger ecosystem. Solves complex technical problems. Guides team in implementation of solutions from inception to production.
Responsibilities
Develops and maintains back-end systems.
Uses holistic knowledge of all products in the team’s ecosystem to plan how new systems will be built and integrated.
Functional ownership in Payments Technology, specifically leading high performing engineering teams while solving architectural problems
Innovates on and advocates for best practices and improved processes within the team and with internal partners; stays up to date with technology trends and innovations; mentors team members.
Creates and maintains DevOps processes, application infrastructure, and utilizes cloud services (including database systems and models).
Supports live systems to ensure business continuity.
Provide mentorship to junior members of the team.
Help troubleshoot pipeline and environment issues.
Provide technical clarity on story development (solutions); identify gaps in requirements for consideration by Product Owners; and to ensure that their team deliver Stories and Defects to their Acceptance Criteria as defined, to support the User Story Definition of Ready and Done
Awareness and understanding of their team’s role and deliveries and new feature development
Writing technical design documentation as required, such as ECD, ICD, HLD, LLD and work flows
Coding of Data components following Quality process including Code Reviews, SonarQube standards, writing Unit Test (Junit, Mocks), SIT tests, End-to-End Test as appropriate
Working with the Platform Leads and other Foundations Tech Leads to ensure the technical solutions align with the Platform Architectural vision Supporting the Site Reliability Engineering (SRE) team in their function of running all features through NFR testing to Production, including defect RCA
Future level 3 support, as required, including some out of hours support
Provide technical guidance, perform proof of concept for automation
Provide technical guidance to the scrum team.
Analyze delivery practices, identify areas of improvements, recommend and implement tools and practices for improvements
Establish a strong partnership with architecture, software engineering/development, quality engineers and DevOps to enabling effective CI/CD delivery model which is scalable and merit quality
Provide training to Software Development Engineers, Quality engineers and architect on strategies, standards, tools and processes.
Minimum Qualifications
At a minimum, here’s what we need from you:
Bachelor’s Degree in Information Technology or related field , or equivalent professional experience in a related technical field i.e Computer Science or Information Technology
Demonstrable Principal level software engineering or development experience across the full stack, ideally in a frontend and back end application environment
Preferred Qualifications
If we had our say, we’d also look for:
Exposure to full-stack solutions with experience in front-end (user interfaces), back-end (APIs), database and DevOps development.
8+ years of experience in Computer Science, Information Technology or related field, ideally in a frontend and backend application development or engineering environment
In lieu of a degree 10+ years in Computer Science, Information Technology or related field, ideally in a frontend and backend application development environment
Experience leading, guiding and supporting high performing engineering teams while solving architectural problems
Self-motivated, Team motivator and Team player
Awareness of emerging trends in software engineering
Relevant experience of agile technology teams with applied knowledge of Kanban, Agile Scrum and SAFe
Hands on coding experience with Java, Python, or another modern language.
Exposure to modern software development practices and technology stack (see tech stack list below)
Identify and propose improvements for quality deliverables
Experience of developing and implementing business critical projects of large scope and technical complexity.
Possess the judgement to plan and accomplish goals with minimal supervision.
Clear and effective written and verbal English with the ability to prepare and communicate high level application designs and concepts to management and peers.
Our Tech Stack:
Java
Spark
Scala
AWS resources (DynamoDB / Kinesis/ S3 / Cloud Watch / EMR / Step Functions/ Lambda)
Spring Framework (Boot)
Git/GitHub, Nexus
Junit, Mockito, Assertj, Wiremock, Cucumber
Jenkins, Gradle, Ansible and Groovy
Restful API’s and microservice architecture
Apache Geode (GemFire), Redis
HDFS native API and shell commands
UNIX/Linux (command line and shell scripting)
IntelliJ, Eclipse or Spring Tool Suite (STS)
JSON processing and validation
SonarQube
Parguet / Avro
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.