Full-Stack Principal Programmer
Discover. A more rewarding way to work.
At Discover Financial Services, you’ll find yourself in the company of some of the industry’s smartest and most reliable professionals. And at a company that rewards dedication, values innovation and supports growth.
Thrive in an environment that promotes teamwork and shared success. Build on a foundation of mutual respect. Join the company that understands rewarding careers like no other, with this exceptional opportunity:
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.
Join the DCI Client Applications team as a full-stack Principal Programmer. We’re looking for passionate, collaborative individuals that can help shape the evolution of the DCI Client Applications.
The Principal Programmer is primarily responsible for designing and overseeing end-to-end solutions for DCI Client Applications platforms and applications. We are looking for someone with strong full-stack development experience and the ability to provide technical direction to more junior developers as well as assist with planning and design of components, systems and frameworks. The ability to reverse engineer legacy systems and provide roadmaps for modernization is crucial.
From a design standpoint, the candidate will be expected to lead the development teams in logically and physically architecting secure and efficient solutions to often complex problems. On the software engineering side, the candidate will take the lead in ensuring that our software engineers are developing solutions that are in line with our architectural patterns and coding/security standards.
At the same time, you’ll be constantly working with product owners, security, architects, PMO and others teams to identify technical and functional system needs/estimates while helping the development teams continuously improve deployed solutions to achieve software excellence. To that end, you must thrive in a fast-pace, constantly evolving environment and be capable of demonstrating thought and results leadership with a view supporting the vision and mission of our Department/Company.
You will be successful if you can:
- Scope business project requirements for application impact
- Design and develop applications in an Agile environment utilizing test driven development methodologies
- Provide proof of concepts to illustrate new technologies, address business initiatives, and or technology related issues.
- Break down a product vision into workable technical solutions to solve business problems
- Collaborate with the various business units, vendor partners, and technical infrastructure groups to achieve high availability and project delivery.
- Collaborate with teams and vendors to apply patches, hotfixes, etc.
- Lead major version upgrade activities
- Maintenance/BAU activities associated with infrastructure or business requested changes
- Support activities during production events
- Build high quality software for large scale and highly available systems
- Actively contribute to the developer community to support our cloud native journey
- Provide strong technical leadership and direction within the team
- Talk about your work with both technical and non-technical team members
- Promote a risk-aware culture, ensure efficient and effective risk and compliance management practices by adhering to required standards and processes
At a minimum, here’s what we need from you:
- Bachelor’s Degree in Computer Science or related technical field
- 8+ years of relevant hands-on software development experience
- Strong knowledge and supporter of Agile process/methodologies
Skills You Should Have:
- Experience with framework and API design
- Strong Junit/integration testing experience
- Core Java or Object Orientated Programming
- Spring (Core, Spring Integration, Spring Boot, Spring Batch)
- JSON/XML processing and validation
- SOAP & REST Services
- CI with Jenkins or similar; Git/GitHub; Gradle, Nexus,
- IBM MQ
- Data Technologies: Oracle
- Cloud/PaaS Architectures: Cloud Foundry(PCF)/AWS
- Strong Unix/Linux shell/batch scripting knowledge
- Strong understanding of application debugging and tracing
- Strong analytical and problem solving skills
- Strong verbal and written communication skills
- Strong collaboration skills, responsive to service needs and project demands in a fast changing environment (Must-have soft skill)
- 2+ years of relevant hands-on solution architecture experience in DFS Tech Stack
- Passion for learning
- Strong collaborator
- Servant leader
It Would Be Great If You Have:
- Studied architectural patterns at scale, including thoughtfully-designed APIs, repeatable delivery pipelines, and efficient computer engineering principles
- Utilized and/or contributed to open source projects
- Proficient across the technical stack
- Deep knowledge and understanding of emerging trends in software engineering
- Containerization solutions like Docker, Kubernetes or Openshift
- CI Technologies: Chef, Ansible
- Data/Cache Technologies: Oracle, Maria, Gemfire, MongoDB, Redis
- Cloud/PaaS Architectures (AWS/VM)
- Angular, Gulp, Node, Protractor, WireMock
Discover Financial Services is an equal opportunity employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, age, protected veteran status, among other things, or as a qualified individual with a disability.
So, what are you waiting for? Apply today!