Lead Software Full Stack Quality Engineer
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
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
- Develop and implement quality engineering solutions that generally impact multiple components / processes. Typically assigned complex undertakings at a domain level that require expert knowledge of technology solutions
- Establish strong partnership with architecture, software engineering/development, quality engineers and DevOps to enable product quality aspects within CI/CD delivery model which delivers high quality products
- Be a specialist in quality and understands quality methodologies and frameworks to enable full automated validation
- Provide technical and working solutions to reoccurring complex problems and is able to provide direction and recommend tooling to eliminate any manual activity and inefficiencies in delivery practices
- Hands on experience in coding, individual contributor in performing proof of concepts on tools and technologies in order to provide working prototypes and feasibility of technical solutions
- Develop best practices, procedures and enable continuous improvement
- Defining automated solutions for monitoring and dash-boarding
- 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
- 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.
- 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
- 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
- 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 #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.