Principal Software Engineer - Full Stack at Discover
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
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.
Discover is a high-tech financial company focused on the latest technologies and platforms, supporting enterprise-wide scale with a laser focus on Security & Safety @SPEED. Discover has a fast paced, collaborative and fun environment that emphasizes industry leading technology capabilities and practices.
Our Digital Payments organization is comprised of autonomous scrum teams responsible for defining, designing, developing and supporting cloud-based solutions that meet business needs. The teams work in short increments and leverage full automation to rapidly deliver software. We are actively looking for principle software engineer and leader to join our Digital Payments team.
The principle software engineer role will be hands-on and responsible for guiding teams in the implementation of vital software solutions from inception to production. The role is very strategic in the growth and technical advancement of the Digital Payments 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.
- Coaches and mentors team members. Supports individuals to achieve their individual development goals.
Develops and maintains full stack solutions to fit business needs.
Full stack solutions requires a combination of the following: front-end (user interfaces), back-end (APIs), database and CI/CD deployment.
Works directly with business partners to understand business requirements and ensures their scrum team has a full understanding of their work.
Continuously improves 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 production.
Develops and maintains complex front-ends with a focus on user experience.
Develops and maintains backend systems.
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.
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
If we had our say, we’d also look for:
- Strong people coaching skills and the ability to lead and mentor other engineers.
- Experience as part of an Agile engineering or development team
- Ability to work well in autonomous teams and pair programming experience.
- 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: TDD preferred
Fullstack Academy, General Assembly or comparable programs may adequately supplement a non-CS bachelor’s degree
#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.