Citizens Financial Group, Inc. is seeking a Principal Software Engineer for its Johnston, Rhode Island location. The role involves designing and implementing technology solutions, building modern components and applications, and collaborating in an Agile environment to meet strategic business goals.
Responsibilities:
- Designs, modifies, develops, and implements technology solutions
- Builds modern, architecturally sound components, tools, and applications to meet mission-driven strategic business goals
- Participates in an environment rapidly transforming to the Agile methodology, adhering to best practices, and collaborating effectively with teammates
- Infuses quality of service characteristics, including scalability, manageability, and maintainability, into distributed service-based framework to create or expand business or technical capabilities
- Contributes insight when considering design specifications, considering the goals of the consumer-facing product
- Participates in code and design reviews to ensure that solutions meet the enterprise standards and best practices
- Collaborates with experience owners to deliver robust solutions that drive user experience and achieve the project goals
- Experiments with and learns new technologies, participating in internal and external technology communities, mentoring other members of engineering community
- Evaluates technical feasibility and potential project risks
Requirements:
- Bachelor's degree in Engineering, Information Systems, or related field
- 7 years of progressive experience in the role or in a related position
- Designing innovative solutions to complex technological challenges with a customer focused mindset
- Implementing Mainframe modernization initiatives
- Conducting return on investment analysis and evaluating financial benefits and risks associated with modernization initiatives
- Conceiving and crafting core banking solutions for financial institutions
- Utilization of Microservices Architecture to facilitate the development of loosely coupled, independently deployable services, including related patterns CQRS, Event Sourcing and Domain Driven Design (DDD) for building scalable and resilient systems
- Utilizing cloud platforms, including Next-gen technology transformation, using ROSA (Red hat OpenShift Service on AWS) and AWS platforms to enable cloud compliant, secure and highly available solutions
- Utilization of CI/CD tools, including Jenkins, GitHub and Bitbucket to automate software delivery processes, ensuring rapid, reliable and efficient deployments
- Utilizing container technologies, including Docker and container orchestration platforms including Kubernetes and Rancher, enabling efficient management of containerized applications
- Conducting specialized, stream processing and event-driven architectures using Kafka and Kafka-Streams, to facilitate real-time data processing and analytics
- Utilizing databases, including NOSQL databases like MongoDB, CouchDB, Cassandra, Amazon S3, and Postgres
- Utilization of advanced analytics and monitoring tools including Splunk, Dynatrace, ELK Stack, Jaeger, and Kibana to monitor, analyze and troubleshoot application performance
- Implementing testing strategies including Behavior-Driven Development (BDD) and Contract Testing to ensure reliability and quality of software products