Principal Software 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
Discover is the fastest growing global payments network and we are looking to hire 100 skilled technology professionals to join our growing UK office. We are carrying out cutting-edge work in the areas of cloud, DevOps, agile and automation. Our digital-first mindset and belief in empowering talented people will provide you with a platform to make a difference.
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.
We have a number of openings for Principal level Software Engineers to join our International Technology Hub in Farnborough. Opportunities exist across multiple different teams within our Enterprise Payments Platform, however the objective is the sameYou will be responsible for supporting and guiding engineering teams while solving architectural problems through developing information systems by designing, and installing software solutions. A key part of your role will to be work extremely closely with the Technical Architects in determining operational feasibility by evaluating analysis, problem definition, requirements, solution development, and proposed solutions.
You will work directly with business partners to understand business requirements; Independently innovates on and advocates for best practices within the team, and collaborate 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.
Responsibilities
Directs software programming and development of documentation.
Consults with customers or other departments on project status, proposals, or technical issues, such as software system design or maintenance.
Analyzes information to determine, recommend, and plan installation of a new system or modification of an existing system.
Modifies existing software to correct errors, to adapt it to new hardware, or to upgrade interfaces and improve performance.
Develops or directs software system testing or validation procedures.
Uses holistic knowledge of all products in the team’s ecosystem to plan how new systems will be built and integrated.
Functional ownership in Payments Technology, specifically leading high performing engineering teams while solving architectural problems
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.
Minimum Qualifications
At a minimum, here’s what we need from you:
Bachelor’s Degree in Information Technology or related field , or equivalent professional experience in a related technical field i.e Computer Science or Information Technology
Demonstrable Principal level software engineering or development experience
Experience supporting and guiding engineering teams while solving architectural problems
Preferred Qualifications
8+ years of software engineering or development experience ideally in a frontend and backend application development environment or related field i.e Computer Science, Information Technology or related field
In lieu of a degree, 10+ years’ software engineering experience or development experience or related field i.e Computer Science, Information Technology or related field
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
Exposure to Openshift
Our Tech Stack:
Java
Spring Framework (Boot)
React, AngularJS, Bootstrap and Tailwind CSS, Redux, React Testing Library, Cypress, Test Café, Cross Browser Testing, Protractor, Storybook, NodeJS, Express, Okta
Git/GitHub, Nexus
Junit, Mockito, Assertj, Wiremock, Cucumber
Jenkins, Gradle, Ansible and Groovy
PCF, OCP, Linux, VMware
Restful API’s and microservice architecture
MariaDB, Postgres
Apache Geode (GemFire), Redis
Apache Storm, Kafka, HBase (Highly Available variant)
Spark-Streaming
HDFS native API and shell commands
UNIX/Linux (command line and shell scripting)
IntelliJ, Eclipse or Spring Tool Suite (STS)
JSON processing and validation
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.