Full-Stack Engineer
Full-Stack Engineer
About the Role
Full-Stack Engineers own the WebinarJam and EverWebinar product end to end, from database schema through to the interface customers use.
This role builds and maintains the application our customers run their businesses on: the webinar creation experience, the live broadcast studio and attendee room, the communications engine behind every email and SMS we send, the integrations that connect WebinarJam to the rest of a customer's stack, and the billing and analytics underneath all of it.
Working closely with Engineering, Product, and Customer Support, this role takes ownership of a mature codebase, raises its standard while working in it, and ships improvements customers notice within days rather than quarters.
Success in this role means shipping reliably into a live product where failures are immediately visible, and leaving the codebase in better condition than it was found.
Key Responsibilities
Product Development
- Build and ship features end to end: database schema, backend services, and the interface.
- Own work through to production rather than handing it off at the API boundary.
- Translate customer problems and product requirements into working software.
- Improve a mature system incrementally, choosing the change that can ship safely over the rewrite that cannot.
Code Quality and Testing
- Write tests for what you build, and add coverage to the areas you touch.
- Help build up automated testing in a codebase where backend coverage is currently thin.
- Participate in code review and hold a consistent standard across the team.
- Reduce technical debt as part of feature work rather than as a separate project that never gets scheduled.
Reliability and Performance
- Build features that hold up under the load of live events with large audiences.
- Diagnose and fix production issues, including ones that only appear under real traffic.
- Optimise queries, background jobs, and frontend performance against real usage rather than assumptions.
- Treat customer-facing failure as the highest priority class of work.
Integrations and Data
- Build and maintain integrations with third-party marketing, CRM, and payment platforms.
- Design for the failure modes of external services: timeouts, rate limits, partial failures, and silent breakage.
- Maintain data correctness across a multi-database architecture.
Collaboration and Documentation
- Work directly with Product on scoping and feasibility rather than receiving finished specifications.
- Support Customer Support in diagnosing customer-reported issues.
- Document what you learn, particularly in areas inherited from contributors who have moved on.
- Help onboard the engineers who join afterwards.
Focus Areas
This role spans the full stack. Depending on individual strengths and team needs, it leans toward one of two areas of the product.
Live Experience
The broadcast studio and attendee room, and the live event modules within them: chat, polls, offers, whiteboard, file sharing, presentations, and video injection. Real-time state synchronisation, video playback and streaming, virtual backgrounds, and the services that scale broadcast capacity for a live event.
Frontend-weighted and latency-sensitive. This code fails in real time, in front of a paying customer's audience.
Platform
The webinar creation wizard, the communications engine that handles scheduled email and SMS at volume, autoresponder and CRM integrations, billing, analytics, the admin panel, and the sharded database layer underneath.
Backend-weighted and focused on throughput and data correctness. This is also where the billing platform migration lands.
Technical Environment
- Backend: PHP 8.2+, Laravel 12, MySQL on Aurora with a custom sharded multi-database architecture, Redis, Beanstalkd and SQS queues running a large concurrent worker fleet
- Frontend: Vue 3 with Vuex, Vite, SCSS, and Blade, across roughly 290 components covering the wizard, b