Full Stack Engineer
About the Client
Our client is a UK-based software provider that delivers end-to-end administration and operational management systems for funeral directors and industry professionals. The platform, including its next-generation software (NexGen) and dedicated support ecosystem, helps funeral service teams streamline client onboarding, manage custom workflows, automate document and template creation, and maintain seamless day-to-day operations.
Project details
The project involves scaling and evolving the technical architecture behind the Funeral Manager platform. We are actively running a dual-stack setup while executing a progressive migration strategy:
- Legacy Stack: A Ruby, Ruby on Rails, and Angular environment supporting core features, operational configurations, and active user workflows.
- Next-Gen Stack: A modern Elixir, React, GraphQL, and WebSockets setup designed with Functional Domain-Driven Design (DDD), Hexagonal Architecture, and Event Sourcing.
- Migration Strategy: Utilizing the Strangler Fig pattern to progressively migrate functionalities from the Ruby/Rails monolithic architecture to the Elixir event-driven system without disrupting client operations.
- The core infrastructure is fully hosted on AWS (EBS, ECS, Fargate, Aurora) with CircleCI handling the CI/CD pipeline.
Your Team
Our team is small but mighty, and every new hire makes a real difference.
Leadership: CEO and CTO drive the company’s vision and technical strategy.
Product & Engineering: Our Junior Ruby Full-Stack Developer, is actively building and evolving our platform.
Customer Support: A team of 3 dedicated to keeping our users happy.
What’s in it for you
- Interview process that respects people and their time
- Professional and open IT community
- Internal meet-ups and resources for knowledge sharing
- Time for recovery and relaxation
- Bright online and offline events
- Opportunity to become part of our internal volunteer community
Responsibilities
Responsibilities
- Support & Maintenance: Assist the Junior Ruby Full-stack developer and the customer support team by resolving technical issues, troubleshooting bugs, and improving application performance.
- Legacy System Support: Maintain and build new features within the legacy Ruby / Rails / Angular application.
- Modern Stack Development: Design, build, and deliver scalable new features in the Elixir / React architecture.
- Architecture & Migration: Apply Strangler pattern principles to safely migrate existing capabilities from Rails to the Elixir event-driven ecosystem.
- System Design: Implement functional domain-driven designs, actor-based aggregates, event handlers, process managers, and stateful persistence models.
- API & Frontend Integration: Develop GraphQL endpoints, WebSocket streams, and responsive React frontend components backed by TanStack and Storybook.
Skills
Candidate Requirements
Must-have:
- Ruby & Ruby on Rails: Proven commercial experience maintaining and extending backend systems on Rails.
- Elixir: Demonstrated hands-on experience building systems with Elixir in production environments.
- React Development: Strong frontend experience with React and modern frontend libraries.
- Architecture Patterns: solid understanding of Functional Domain-Driven Design (DDD), Hexagonal Architecture (Ports & Adapters), and Event-Driven Architecture.
- Event Sourcing & Actor Models: Practical experience with Event Sourcing, stateful persistence, actor-based aggregates, event handlers, and process managers.
- System Migration: Hands-on experience or solid conceptual understanding of the Strangler pattern for legacy code migration.
- APIs & Real-Time Data: Solid proficiency with GraphQL and WebSockets.
- Databases & Cache: Experience working with relational databases (PostgreSQL) and caching tools (Redis).
- AWS & Infrastructure: Hands-on knowledge of AWS services, specifically EBS, ECS, Fargate, and Aurora, along with CircleCI for automated CI/CD.
- Strong plus / nice-to-have:
- Angular: Experience or familiarity with legacy Angular codebases.
- UI/UX Testing & Component Isolation: Experience working with TanStack and Storybook.
- Domain Experience: Experience building SaaS or multi-tenant business management systems.