Lead Software Engineer - Full Stack
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
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 multiple experienced full stack Developer’s/ Engineer’s in the US. 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 full stack solutions to fit business needs. Full stack solutions require one 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. Works independently or with own team to innovate on and advocate for best practices within the team. Designs complex solutions and leads them from inception to production within the agile team.
What You’ll Do
- Provide technical and working solutions to reoccurring complex problems and is able to provide direction and required tooling to eliminate any manual activity in our delivery process including steps which are making us inefficient
- Hands on experience in coding, performing proof of concepts on tools and technologies in order to provide working prototypes to confirm the feasibility of technical solutions
- Provide technical expertise to system architecture, Devops and delivery efficiency, and recommend optimal strategies for various products and applications focused on deliveries at high quality standards
- Implement quality engineering activities that generally impact multiple components / processes, work on own and possibly other teams. Typically assigned highly complex, and high-risk undertakings that require expert knowledge of technology solution, coding languages and regularly require the application of independent judgement and creativity
- Develop best practices, procedures and enable continuous improvement
- Ability to evaluate and select automation to overcome manual activity in the delivery process from scoping till production, including functional and performance engineering tools for different products and applications.
- 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
- Defining automated solutions for monitoring and dash-boarding
- Work with the other senior team members to enhance coding standards and ensure team adherence.
- Analyze delivery practices, identify areas of improvements, recommend and implement tools and practices for improvements
- Provide technical guidance, perform proof of concept for automation
- Provide technical guidance to the scrum team.
- Innovates on and advocates for best practices and improved team processes; mentors junior team members.
- Supports live systems to ensure business continuity.
- Provide mentorship to junior members of the team.
- Help troubleshoot pipeline and environment issues.
- Promote a culture of continuous improvement by looking for opportunities to enhance our processes and standards.
- Time spent supporting team task and activities
- Estimation of development effort, in combination with the scrum team
- Working with the QA group to ensure that the code meets the functional Test requirements
- Develop and maintain full stack solutions to fit business needs ― full stack solutions require one or more of the following: front-end (user interfaces), back-end (APIs), database and DevOps development.
- Work directly with business partners to understand business requirements. Work independently or with own team to innovate and advocate for best practices within the team.
- Design complex solutions and lead them from inception to production within the Agile team.
How You’ll Do It
- Develop and maintain complex front-ends focused on user experience.
- Develop and maintain back-end systems.
- Work with key stakeholders to design complex solutions and lead from inception to production.
- Create and maintain DevOps processes, application infrastructure, and utilize cloud services (including database systems and models).
- Innovate on and advocate for best practices and improved team processes.
- Mentor junior team members.
- Support live systems to ensure business continuity.
Our Tech Stack:
- React, AngularJS, React Testing Library, Cypress, Test Café, Cross Browser Testing, Protractor, Storybook, NodeJS, Express, Okta, Spring Framework.
- Jenkins, GitHub, Nexus, Rabbit, Gemfire
- PCF, Linux, AWS, VMware
- Restful API’s and microservice architecture
- Cucumber, Java, JUnit
- CI/CD Pipeline Automation using Jenkins
- Spring Boot
- Ansible
- Appium – Mobile automation
- Groovy
- Git/GitHub
- Gradle
- RabbitMQ
- PaaS (e.g. Pivotal Cloud Foundry)
- Behaviour Driven Development (BDD)
- Pair programming
- Apache Geode (GemFire)
- Working in distributed teams
- Apache Storm, Kafka, HBase (Highly Available variant), Hive (Server 2), HDFS
- Cluster management (Zookeeper) and administration
- UNIX/Linux (command line and shell scripting)
- IntelliJ, Eclipse or Spring Tool Suite (STS)
- JSON processing and validation
- Test Driven Development (JUnit)
Qualifications You’ll Need
The Basics
- Bachelor’s degree in information technology or related field
- 6+ years of experience in computer science, information technology or related field
- In lieu of degree, 8+ years of experience in computer science, information technology or related field
Bonus Points If You Have
- Full Stack Academy, General Assembly or comparable programs may adequately supplement a non-CS Bachelor’s degree
- 6+ years of experience in Computer Science, Information Technology or related field, ideally in a frontend and backend application development environment
- Self-motivated, Team motivator and Team player
- Awareness of emerging trends in software engineering
- Belief that empowered individuals make great teammates
- Applied knowledge of Kanban, Agile Scrum and SAFe.
- Exposure to modern software development practices including but not restricted to delivering Single page applications, Restful APIs, microservice technology, PaaS, Event Processing
- Clear and effective written and verbal English
- Has been involved in and implemented business critical projects of large scope and technical complexity
- Ability to prepare and communicate high level application designs and concepts to management and peers
- Must possess the judgement to plan and accomplish goals with minimal supervision
- This position will require the candidate to perform a wide variety of tasks; wide degree of creativity and flexibility with regard to technology is expected
- Think beyond the application/service, at an architectural level to enable faster delivery
- Identify and propose improvements for quality deliverables
- Should be able to carry out POCs(proof of concepts) of solutions for improvements
#LI-MF1
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.