Full-Stack Developer
Summary
Full-stack developer on the CuP Features Team building customer-facing portal features end-to-end, from technical design through deployment, monitoring, and support on AWS. Backend work is Java/Spring Boot microservices with REST/GraphQL APIs and PostgreSQL; frontend is TypeScript/React, with CI/CD and automated testing throughout.
We are looking for an experienced Full-Stack Developer to join the CuP Features Team within Digital Services. In this role, you will develop and enhance customer-facing portal features, taking end-to-end ownership of solutions from technical design and implementation to testing, deployment, monitoring, and continuous improvement.
You will work closely with product owners, UX designers, and engineering colleagues to deliver secure, scalable, reliable, and cost-efficient digital solutions that create value for customers.
Key Responsibilities
- Design, develop, and maintain frontend and backend functionality for customer-facing applications.
- Take end-to-end ownership of features, from requirements clarification and technical design through production deployment and support.
- Develop backend services using Java and Spring Boot, and frontend applications using JavaScript, TypeScript, and React.
- Design, develop, and consume REST and GraphQL APIs.
- Build and maintain microservices and implement integration patterns and asynchronous communication.
- Work with PostgreSQL or similar relational databases to ensure efficient data management.
- Develop and maintain automated unit, integration, and end-to-end tests.
- Implement and maintain CI/CD pipelines and support automated deployment processes.
- Deploy, operate, monitor, and troubleshoot services in AWS production environments.
- Contribute to software architecture decisions, code reviews, and technical documentation.
- Improve application security, performance, scalability, reliability, and maintainability.
- Identify and reduce technical debt while continuously improving development practices.
- Collaborate with cross-functional Agile teams using Scrum or Kanban.
- Share technical knowledge and support less-experienced developers.
- Use AI-assisted development tools responsibly, ensuring generated code meets quality, security, and engineering standards.
Required Skills And Experience
- Demonstrated experience independently developing and delivering full-stack features in production environments.
- Strong hands-on experience with Java, Spring Boot, JavaScript, TypeScript, and React.
- Experience designing, developing, and integrating REST and GraphQL APIs.
- Good understanding of microservices architecture, integration patterns, and asynchronous communication.
- Experience with PostgreSQL or other relational databases.
- Practical experience with AWS cloud services, CI/CD pipelines, Git, and production operations.
- Experience with automated testing frameworks such as JUnit, Jest, or Cypress.
- Understanding of software security, scalability, reliability, maintainability, and clean coding practices.
- Experience working in Agile product development teams using Scrum or Kanban.
- Strong analytical and problem-solving skills, with a proactive approach to technical challenges.
- Excellent collaboration, communication, and ownership skills.
- Fluency in written and spoken English.
Preferred Qualifications / Additional Merits
- Experience with event-driven architectures, JMS, and WebSockets.
- Knowledge of log-streaming technologies such as Apache Kafka or AWS Kinesis.
- Understanding of clean architecture, reusable components, and software design principles.
- Experience with observability, application monitoring, performance testing, or security testing.
- Familiarity with AI-assisted development tools such as GitHub Copilot, Amazon Q, Kiro, MCP servers, or AI agents.
- Experience interpreting UX designs and collaborating with designers using Figma.
- A degree in Computer Science, Software Engineering, or a related discipline, or equivalent practical experience.