Principal Software Engineer - Full Stack at Discover
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
Develops and maintains 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. 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 the larger ecosystem. Solves complex technical problems. Guides team in implementation of solutions from inception to productionOur Card Acquisitions Value Stream is comprised of autonomous paired-programming (XP) teams responsible for defining, designing, developing and supporting cloud-based solutions that meet business needs. The teams work in short increments to rapidly deliver software. We are actively looking for a Principle Software Engineer and leader to join our Card Acquisitions team. The Principle Software Engineer role will be hands-on and responsible for guiding teams in the implementation of critical technical solutions from inception to production. The role is very strategic in the growth and technical advancement of the new credit card application platform at Discover. This leader will work to ensure their team follows modern technology practices, works to continuously improve and rapidly delivers value. The Principle Software Engineer will also be responsible for coaching and mentoring multiple software engineers.
- Develops and maintains complex front-ends with a focus on user experience
- Develops and maintains backend systems
- Uses holistic knowledge of all products in the team’s ecosystem to plan how new systems will be built and integrated
- 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
- Improving the performance of existing software.
- Develop, coach and mentor other software engineers on the best practices providing domain and technical best practice guidance.
- Works with key stakeholders to design complex solutions and lead from inception to production
- Solves complex technical problems. Guides team in implementation of solutions from inception to production.
At a minimum, here’s what we need from you:
- Bachelor’s Degree in Information Technology or related field
- 8+ years of experience in Computer Science, Information Technology or related field
- In lieu of degree, 10+ 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
- Experience with application development and DevOps best practices
- Familiar with Pair Programming (XP) methodologies
- 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
- Experience with Test Driven Development (TDD)
- Experience writing unit and service level tests to ensure adequate code coverage
- 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
- Ability to adapt communication for effectiveness with business partners and other technical teams.
- Proficient in monitoring, alerting, analyzing and troubleshooting large scale distributed systems
- Understanding of software testing principles and methodologies
#Bi-Remote #Remote #LI-LJ
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.