Senior Software Developer
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
Looking for an energetic and passionate engineer to be a crucial member in the transformation of core legacy systems into modern real-time applications. Work hand in hand with the business and existing technology teams to determine the best approach as we take outdated and batch oriented systems and move them into a modern technology stack focused on real time transactions and high availability centered around automation. Develop critical functionality for the core billing application of the Card business. Put your problem solving skills to use to help design solutions that keep the existing systems operating as we work to deploy new and modernized functionality to drive the business forward.
What You’ll Do
- Works closely with the Business utilizing agile methodology. Breaks down complex requirements into workable technical solutions. Assists in the evaluation of client area application software/systems requirements and processes (e.g., new features, enhancements or maintenance). Performs application software development, testing and implementation of efficient, cost effective application solutions. Completes technical design(s) as needed. Ensures that design(s) meets architecture standards and that the resulting system will be flexible, easily maintainable, high performing and integrates well with other related systems/components. Researches and evaluates alternative solutions and recommends the most efficient and cost effective solution for the systems design. Collaborates with other developers on code reviews and process enhancements. Completes unit and system testing prior to the start of any testing in PA region. Works with other internal IT teams to complete project activities, such as Infrastructure, Architecture and Database teams. Ensures that code reviews are performed and documented using the approved template. May provide direction and guidance to other systems analysts/developers. Analyzes and identifies technical areas of improvement within existing web applications.
- Ensures all projects and releases are appropriately tested and risks are mitigated. Ensures all projects have a detailed implementation and back-out plans, and are reviewed with all impacted parties in advance of scheduled releases. Continually looks for and implements ways to stabilize and improve the performance of the production environment.
- Identifies and executes opportunities to leverage agile/iterative/lean processes to deliver projects faster. Proposes ideas to better position our applications to support future business and technology initiatives. Finds ways to incorporate these ideas within planned project/release timelines. Incorporates and supports new technology/frameworks to support our continuous integration efforts.
- Adheres to regulatory, PDP, Change Management, and Internet Department processes and standards, ensuring all projects are compliant. Ensure any volume and capacity considerations are communicated during the design phase (or prior to committing to a Sprint). Documents software and performs related duties as assigned or requested. Actively contribute to best practices to support a strong software architecture. Reduce occurrence of vulnerabilities through proper secure coding practices and having a "Security First" Mindset. Follow proper handling of sensitive data per security guidelines. Ensures any volume and capacity considerations are communicated during the design phase (or prior to committing to a Sprint). Identifies efficient and viable alternatives to resource intensive requirements.
- Design solutions and lead them from inception to production.
- Deliver technology solutions that support Discover’s business strategic goals.
How You’ll Do It
- Develop and maintain complex front-ends focused on user experience.
- Develop and maintain back-end systems.
- Create and maintain DevOps processes, application infrastructure and utilize cloud services (including database systems and models).
- Innovate on and advocate for best practices and improved team processes including Test Driven Development and paired programming.
- Mentor junior team members.
- Support live systems to ensure business continuity.
- Provide technical leadership and direction to transform and increase team’s efficiency, automation and quality of its applications.
- Integrate software engineering best practices into team’s culture.
Qualifications You’ll Need
- Bachelor's degree in information technology, or related field
- 4+ years of experience in software development or related field
- In lieu of education, 6+ years of experience in software development or related field
Technical experience/skills that will make you successful:
- Proficiency in designing, developing and implementing front-end applications, distributed systems Java/J2EE, Angular and/or ReactJS
- Extensive experience in Spring, APIs, micro services, web services, testing automation, CI/CD and secure coding standards
- Proven experience with Jenkins, Gradle, GitHub, SonarQube, Nexus, Hoverfly, Junit, Cucumber
- Experience with Cloud Foundry (PCF), AWS, Docker, Kubernetes, Openshift
- 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
- Strong experience with CI/CD pipelines)
- Proven skills in high availability and scalability design, as well as performance monitoring
- Experience with relational databases such as MySQL or Postgres and understanding of columnar data stores such as Redshift or Snowflake
- 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
- Strong technical understanding of data architecture, data quality and related technologies
- Background working for an organization in financial services or technology
#Remote #BI-Remote #LI-LJ1
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.