Principal Software Engineer
Citizens Bank
Job Description
Citizens Financial Group, Inc. (CFG) seeks a Senior Software Engineer for its Charlotte, NC location.
Duties: Design, modify, develop and implement technology solutions which involve diverse development platforms, software, hardware technologies and tools to build modern, architecturally sound components, tools and applications to meet mission-driven strategic business goals. Work independently or lead other team members as assigned, collaborate with business staff and IT colleagues to evaluate defined complex business requirements and processes, assess available technologies, determine infrastructure and recommend solution options. Participate in requirement analysis and gathering, code reviews, estimating stories and/or tasks based on complexity and priority of work, participate in day-to-day agile, scrum and sprint planning meetings with stakeholders both within the team and across the organization. Participate Within Agile development framework, infuse quality of service characteristics, such as scalability, manageability and maintainability, into distributed service-based framework to create or expand business or technical capabilities. Create product design and technical design documents for implemented stories in the sprint.
Requirements: Bachelor’s degree in technical or engineering field followed by five years of progressive experience in the role or in a related position. Full term of experience must include: Use Agile Scrum Methodology and Waterfall model to participate in full SDLC for organizations within Banking & Finance, developing multi-tier web-based software applications using Java 2 Platform Enterprise Edition and JavaScript technologies with micro-services architecture; Full stack Development and Test of distributed, scalable software web applications with front-end frameworks (ExtJS, ReactJS, VueJS, BackboneJS, AngularJS and NodeJS) and backend frameworks using object-oriented principles of Java 2 Platform Enterprise Edition technologies with Streams (Apache Kafka, RabbitMQ and AWS Queues), GraphQL, Kubernetes, and Docker on cloud platforms (AWS); Utilize databases Oracle, Hyper SQL, PostgreSQL, MONGO and SQL server with tools PGAdmin, TOAD for Oracle, SQL Workbench, MongoDB Compass, and SQL Developer for creating Users, Roles, Schema, Table, Views, Triggers and Stored Procedures in Relational Database Management System; Build applications using Gradle, Maven, Webpack, Grunt, Yarn, and Node Package Manager packaging solutions which are readily deployable in application servers such as Apache Tomcat, WebLogic, IBM WebSphere, JBoss, or AWS, using Jenkins CI/CD, AWS DevOps pipelines; Utilize software configurations and development lifecycle management tools including SVN, Git, BitBucket, Atlassian Jira, Atlassian Confluence, Atlassian Crucible, Atlassian Bamboo, along with security/ vulnerability analyzers – specifically Fortify on Demand security tool, Sonar, and Eratocode – to assess severity of security issues identified; and Undertake Site Reliability Engineering (SRE) during application software life cycle in production environments to maintain and monitor system health, availability, performance, efficiency and reliability using monitoring tools with Splunk, Datadog, AppDynamics; Undertake API and Web Application testing by utilizing unit testing frameworks Jasmine, Jest, Mocha, Chai, Sinon, Junit, and Mockito; Integrating testing frameworks Cucumber, Protractor, Night watch, Cypress with ReadyAPI; and MounteBank virtualization tools; and Perform Load, Endurance, and Stress testing against Web Applications and APIs using ReadyAPI, JMeter and Load Runner tools to evaluate system performance, resilience and stability with targeted workload.
May work remotely from any US location.
Direct applicants only.