We are looking for a Full Stack Developer to assist in the definition of the application architecture for web and mobile banking applications. This role would set strategy and provide hands on development to build capabilities and maintain the existing Java applications and the next generation application architecture. This person would also guide development of the next generation of mobile banking at Citizens Bank. The right individual for this role must be capable of building applications in Java, using modern architectures. You should be comfortable application patterns Ie: CQRS, application coding based on design and specifications. You should also be comfortable working with application protocols such as JSON RPC, SOAP, ReST API's and single page architectures. You should have some experience and background with AWS services and the capabilities they provide. The candidate must have been a top-notch Java developer committed to becoming an integral part of, and fostering growth within our development team. This person would help lead the development, implementation and support of individual applications, including analysis, detailed design, development/coding, testing and implementation of the components.
Primary responsibilities include:
- Responsible for researching, analyzing, designing, and delivery of IT architecture solutions that are appropriate for the business and IT strategies in one or more domains.
- Oversee the effort to provide integrated systems analysis and recommends appropriate hardware, software, and communication links required to support IT goals and strategy. This may include coordinating activities of the project team and assisting in the monitoring of project schedules and costs.
- Define patterns and development frameworks for junior developers
- Manage the effort to support, resolve and document issues that arise in the architecture. This may include reviewing designs and recommending improvements to the architecture.
- Responsible for being aware of IT industry trends, and enterprise standards and methodology and being able to react to issues that arise.
- Define, implement and maintain technology security infrastructure, policies, processes and procedures to proactively protect, monitor, investigate and resolve threats to a secure user environment and company assets.
- 6+ years of Java development experience, ideally in a team lead role
- Demonstrated experience with defining application architectures in the distributed java world.
- Strong production experience in Node.js is a must have.
- Experience with REST API Domain Driven Design
- Demonstrated experience with the design and development of REST API
- Experience with Amazon AWS and containerization technologies ie: Docker
- Exposure to AWS Services (SQS/RDS/S3) including knowledge of CQRS application architectures.
- High level skills in Java, using the latest SDKs and tools and frameworks such as Spring, RxJava, etc.
- Ability to develop functional, technical and user interface designs for an application that meets the defined requirements (business, system performance and standards)
- Demonstrates expertise in specific coding concepts and/or languages, especially around modern event based application architectures, CQRS, Kafka, Kinesis
- Experience with implementing Java, Spring Boot, Hibernate, HATEOAS, Gradle/Maven, JSON, ReST/Resource Oriented Design
- Experience with configuring highly automated CI/CD pipelines.
- Experience interfacing with back-end applications using MQ, SOAP, RESTful services, and JSON.
- Experience with Agile/Jira, Jenkins/Cobertura/PMD/FindBugs.
- Experience with web applications that use responsive design to better support mobile browsers.
- Experience in highly-secured online environments that use n-tier designs and extensive firewalling to enhance security.
- Some exposure with Wiremock, JUnit/Mockito/Assert4J, JMS/MQ, Functional Reactive/ Lambdas/Streams
- Experience in multi data center physical implementation models for scalability and resilience.
- Experience partnering with others to solve problems quickly and efficiently.
- Some exposure to the Financial Services Industry is a plus.