Full Stack Software Engineer
Role details
Job location
Tech stack
Job description
As a Full Stack Software Engineer, you'll design, build, and deliver customer-facing features across our greenfield platform. You'll work end-to-end-crafting TypeScript frontends and robust Java back-ends-while learning from experienced engineers and contributing to a modern, scalable architecture.
This is a hands-on role with plenty of opportunity to develop your technical depth, gain exposure to DevOps, cloud, and observability practices, and help define how we build software at Firenze. With no legacy systems, you'll be shaping our platform from the ground up and growing alongside a team that values mentorship, learning, and engineering excellence.
Key Responsibilities
-
Feature Delivery: Collaborate with senior engineers to deliver new features from design to production.
-
Back-End Engineering (Java): Build APIs and microservices using Java (Spring Boot, Micronaut, or Quarkus), with guidance on best practices for performance and reliability.
-
Front-End Engineering (TypeScript - Nuxt/Vue): Develop responsive, accessible UIs with strong component and state management.
-
Data & Integration: Work with PostgreSQL, caching (Redis), and messaging (Kafka/SQS) - learning how to design resilient data flows.
-
Quality & Testing: Contribute to our testing culture (JUnit, Playwright, CI pipelines) and learn how to scale reliable delivery.
-
Performance & Observability: Gain hands-on experience with monitoring tools and learn how to build observable systems from day one.
-
Documentation & Developer Experience: Help create clear technical docs and reusable tooling that makes development smoother for everyone.
-
Cross-Functional Collaboration: Partner with product, design, and experienced engineers to break down work, estimate effectively, and deliver iteratively.
Requirements
Do you have experience in TypeScript?, * Experience: 3+ years of professional software engineering, including full-stack work on production systems (fintech or startup experience a plus).
-
Java Proficiency: Hands-on experience building APIs/microservices in modern Java (Spring Boot or similar).
-
TypeScript & Vue: Solid experience developing production-grade web apps with TypeScript and Vue/Nuxt.
-
Web Fundamentals: Good grasp of HTML/CSS, accessibility (WCAG), and secure web app design.
-
Databases & Messaging: Familiarity with PostgreSQL and at least one of Redis, Kafka, or SQS.
-
Testing Mindset: Comfortable writing and running tests; familiar with CI pipelines (GitHub Actions, GitLab CI).
-
Cloud & Containers: Exposure to AWS or another cloud platform and Docker. (Kubernetes or ECS a plus.)
-
Growth Mindset: Curiosity to learn new technologies, seek feedback, and develop alongside experienced teammates.
Bonus Skills
-
Interest in event-driven or distributed systems (Kafka, RabbitMQ, SQS).
-
Exposure to DDD, CQRS, or hexagonal architectures.
-
Experience with observability tools (OpenTelemetry, Prometheus, Grafana).
-
Familiarity with multi-tenant SaaS, RBAC, or performance tuning (JVM, SQL).
Benefits & conditions
-
Learn from experienced engineers: Work side-by-side with senior teammates who value teaching, pair programming, and open design discussions.
-
Accelerate your growth: Gain exposure to architecture, DevOps, security, and observability while contributing to production systems early on.
-
Impact: Shape a greenfield fintech platform with real business influence and visibility.
-
Collaboration: Join a supportive, high-performing team that values curiosity, innovation, and shared ownership.
-
Career Development: Clear progression opportunities as Firenze scales - move towards senior or specialist roles with mentorship and hands-on experience.
-
Competitive Salary (£50,000-£80,000) depending on experience, plus equity participation.
You'll be part of a hybrid team based in London or Manchester, combining the best of in-person collaboration with the flexibility of remote work. You'll join a culture that values continuous learning, feedback, and building things the right way - not the fast way.