Senior Software Engineer - Full Stack
Title: Senior Software Engineer – Full Stack JAVA
Category: Technology, Remote
JobType: 1st Shift
As a full stack software engineer, you will work alongside and mentor a group of talented engineers as you pursue a broad range of initiatives. By leveraging your technical skills in array of technologies with thirst for innovation, you will produce disruptive products / platforms that will ensure Customers & Colleagues success and help accelerate Citizens market leadership. As a future leader, you will work on multiple solutions spanning our consumer banking applications. Come grow your skills as a software engineer at Citizens. In our team, you will work in an Agile at scale (SAFe) environment where creativity is welcomed and encouraged.
Our colleagues are constantly redefining what s possible and we re proud to transform the way we service our Customers. When you join Citizens, you become part of a diverse community, all with a common goal to deliver an exceptional customer experience every day. As part of our diverse tech team, you can architect, code and ship software that makes us an essential part of our customers lives. Here, you can work alongside talented engineers in an open, supportive, inclusive environment where your voice is valued.
The Software Engineer ll will be responsible for:
- Designing, modifying, developing, and implementing technology solutions; building modern, architecturally sound components, tools, and applications to meet mission-driven strategic business goals.
- Develop new user-facing features using React.js and translate designs and wireframes into high quality code
- Take the API first approach to all development and build those APIs for zero touch consumption
- Build reusable cross platform components, front-end libraries, and back end API’s
- Produce architectural diagrams and specifications in collaboration with other product and technical teams.
- Participating in an environment rapidly transforming to the Agile methodology, adhering to best practices, and collaborating effectively with your teammates.
- Designing, modifying, developing, and implementing software solutions. Building modern, architecturally sound components, tools, and applications to meet mission-driven strategic business goals.
- Infusing quality of service characteristics, such as scalability, manageability, and maintainability, into distributed service-based framework to create or expand business or technical capabilities.
- Documenting development iterations; ensuring the quality of technical documentation; creating progress reports.
- Produce unit and automation test coverage.
- Participating in code and design reviews with network, infrastructure and solutions engineering teams to ensure that solutions meet current enterprise standards.
- Take ownership and responsibility for the quality of the code from development to production
- 5+ years of work experience in software design, development and implementation using Java.
- 3+ years of experience with HTML5, React, Redux, Angular, Node.js
- Experience building scalable front end and distributed systems
- Experience in building Spring, Micro services.
- Able to demonstrate good web fundamentals & knowledge of DOM
- Experience writing adaptive and responsive UI applications
- Hands on experience in building REST APIs
- Kafka is Nice to have as a skill.
- Experience in RDBMS and NoSQL (Couchbase, Mongo) databases.
- Experience with Continuous Integration and Continuous Delivery (CI/CD) environment and their frameworks
- Contributes to design, development, troubleshooting, debugging, evaluating, modifying, deploying, and documenting software and systems that meet the needs of customer-facing applications, business applications, and/or internal end user applications
- Function as an active member of an agile team by contributing to software builds through consistent development practices (tools, common components, and documentation)
- Debug basic software components and identify code defects for remediation
- Support and monitoring of software across test, integration, and production environments
- Explores new automation techniques to refine the agility, speed and quality of engineering initiatives and efforts
- Defines test conditions based on the requirements and specifications provided. Takes part in reviews of own work and handles work efficiently.
- Knowledge of Cloud and passion for learning new technologies, industry trends and deep technical curiosity
- Demonstrated ability to operate in a team environment, strong interpersonal and communication skills
- Understanding of the banking industry, specifically the functions of custodial and consumer banking
- Experience with collecting requirements, creating software designs and developing efficient implementations
- AWS/AZURE/GCP experience, including managing sensitive assets
- Bash and Linux experience
- Familiarity with full-stack development
- Experience with CICD pipeline (Jenkins, BitBucket or equivalent)
- Cloud certifications such as AWS Solutions Architect
- Working in an Agile or SAFe development environment is a plus
- Excellent interpersonal and communication skills
Education and Certifications
- Required: Bachelor’s degree in Software Engineering, Computer Science, Mathematics or related discipline
- *This role is not available in CO.