Lead Software Engineer - Full Stack
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.
Sage is a set of Enterprise level capabilities for storing and sharing Customer data from a central location. Sage’s Vision is to become the System of Record for Customer Data for the Enterprise – a One-Stop Shop for Real Time Access of Accurate, Up-To-Date, Highly Available Customer Data for all Lines of Business. We will achieve this Vision by providing access to the most Comprehensive Set of Operational Customer Data through a Reliable, Secure and Elegant Experience, bolstered by Top Notch Support. We need you to help build that reliable, secure and elegant experience, and achieve our vision.
You will be working in the newly formed Enterprise Shared Products organization, building solutions for Team Sage. You will be joining a dynamic team who is constantly flexing to meet the needs of the business and next generation cloud technologies. Sage’s RESTful API suite serviced nearly 7 billion calls in the past year, and we continue to steadily grow and evolve. Sage’s star is rising, and we are looking for top flight full-stack engineers to accelerate that growth and evolution.
We embrace change and evolution, both in our staff and systems. We are building new customer data systems which allow us to utilize modern technologies (Cloud, 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.
The successful candidate will be primarily focused on supporting and guiding the team during all phases of the development life cycle to develop and maintain full stack solutions to fit business needs. Full stack solutions require one or more of the following: back-end (APIs), database and DevOps development. Works directly with business partners to understand business requirements. Works independently or with own team to innovate on and advocate for best practices within the team. Designs elegant solutions and leads them from inception to production within the agile team.
Responsibilities
- Develops and maintains REST APIs with a focus on performance and reliability.
- Develops and maintains back-end systems.
- Works with key stakeholders to design elegant solutions and lead from inception to production.
- Innovates on and advocates for best practices and improved team processes; mentors junior team members.
- Supports live systems to ensure business continuity.
- 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 HLDs, DTDs and work flows.
- Coding of Data components following Quality process including Code Reviews, Sonarqube standards, writing Unit Test (Junit, Mocks), End-to-End Test as appropriate.
- Participates in team support rotation as required, including possible off hour 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 junior Software Development Engineers and Quality Engineers on strategies, standards, tools and processes.
Minimum Qualifications
At a minimum, here’s what we need from you:
Bachelors’ Degree in Information Technology or related
- 6+ years’ experience with Computer Science, Information Technology or related
- In lieu of a degree, 8+ years’ experience with Computer Science, Information Technology or related
Preferred Qualifications
If we had our say, we’d also look for:
- Extensive hands on experience working with Relational and Non-Relational database technologies.
- Self-motivated, Team motivator and Team player.
- Awareness of emerging trends in software engineering.
- Relevant experience of agile technology teams with applied knowledge of Agile Scrum and SAFe.
- Exposure to modern software development practices and technology stack (see tech stack list below)
- 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.
- 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 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, PCF 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
Our Tech Stack:
- Java
- Spring Framework (Boot)
- Git/GitHub, Nexus
- Junit, Cucumber
- Jenkins, Gradle, Groovy
- PCF
- Restful API’s and microservice architecture
- DB2, Cassandra, Oracle, MariaDB
- Kafka
- IntelliJ, Eclipse or Spring Tool Suite (STS)
- JSON processing and validation
#BI-Remote #Remote #LI-LJ1
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.