Principal Application Engineer (Full Stack)
About This Role
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
As a Principal Full Stack Application Engineer, you'll build and release reliable software systems at scale. By partnering with enterprise-wide) teams, you'll develop and maintain full stack solutions that fit our business needs. You'll use your holistic view of all products (and their interactions) to design elegant solutions and strategize the future state of our larger technical ecosystem. By independently innovating and advocating for best practices, you'll solve complex problems and guide the team on implementing solutions from inception to production.
Responsibilities
- Creates solutions addressing high impact technology and business priorities
- Competent in multiple contexts, including programming languages, security, automation, testing, and business domains and is the go-to person for many people (inside and outside of their team)
- Participates in strategic technology decisions and learns how these decisions impact Discover as a whole
- Proactively identifies and mitigates issues based on intuition and experience in multiple domains
- Coaches technology communities at Discover
Minimum Qualifications
At a minimum, here's what we need from you:
- Bachelors - Computer Science or related
- 6+ Years -- Information Technology, (Software) Engineering, or related
- Internal applicants only: technical proficiency rating of proficient on the Dreyfus engineering scale
Preferred Qualifications
Bonus Points If You Have:
- Advanced experience developing Java services in a highly available environment using proper design patterns
- Proven experience in software development methodologies
- Advanced Experience with Git + GitHub, CI/CD orchestration tooling (Jenkins, Travis, Circle or similar), Artifact Management (Artifactory, Nexus or similar)
- External applicants will be required to perform a technical interview.
- Familiarity with Cloud Native PaaS runtime/hosting services (Pivotal Cloud Foundry, OpenShift, k8s or similar)
- Experience with enterprise monitoring tooling (AppDynamics, Instana, or similar.)
- Detailed understanding of build process for Java (SpringBoot), Node.js (Express, React, Vue)
- Experience with common Testing Libraries (Cucumber, Jest, RTL, Selenium, Playwright, or similar)
- Experience as part of an Agile engineering or development team
- Experience with application development and DevOps best practices
- Familiar with Pair Programming (XP) methodologies
- Advanced experience with Unix and Linux
- Advanced experience with PLSQL
- Strong understanding of object-oriented principles with an ability to write clean code
- Advanced experience working with a relational database such as Oracle, MySQL, and Postgres
- Advanced experience with CI/CD pipelines with Jenkins or similar; Git/GitHub; Artifactory
- Experience with Test Driven Development (TDD)
- Advanced 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.
- Experience of messaging systems like MQ, Rabbit MQ, Kafka, or Kinesis.
- Advanced experience of developing multi-threaded and synchronization application
- Advanced experience building 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
- Open-Source contributions #LI-BG1 #Remote #BI-Remote
External applicants will be required to perform a technical interview.
What are you waiting for? Apply today!
And by the way, while you're waiting to hear from us, don't forget to check out the great benefits Discover offers.
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.