Description
BIMM is booming, so we’re looking for an experienced Senior Ruby on Rails Developer on contract to join our team!
As we observe a hybrid model, this role will require you to be in office 2 days per week.
Who we are
BIMM is a Toronto-based agency that lives at the intersection of data, technology, and creativity to provide clients with high-performing campaigns and digital products that shape connected customer experiences.
We’ve helped our clients implement fully integrated CRM customer journeys, built robust digital experiences, and created national loyalty programs with decades of experience in sectors of automotive, financial, telco and retail.
We are creative realists, which means our ideas and solutions are grounded in the realities of our clients’ business.
We believe big ideas are nothing without big results (and flawless execution); high-performing agencies deliver high-performing campaigns, products, and experiences; and the best solutions happen when we collaborate with clients as partners.
Our Technology department is a 50+ person distributed team of Developers, QA, and Architects delivering amazing digital products on a leading-edge technology stack.
This is an active role with immediate impact and a clear place on the team.
About the engagement
You will join a multi-year program modernizing the digital platform of a major media and entertainment client.
The platform is a large Ruby on Rails 8 application that serves a high-traffic public website, doubles as the editorial CMS, and acts as the integration hub for the client’s ticketing, event-management, and CRM systems.
The work spans a website refresh, a significant uplift to the CMS authoring experience, hardening of fragile third-party integrations, a new API layer supporting a companion mobile app, and security and performance work ahead of a hard seasonal traffic peak.
It is a mix of greenfield feature work and careful, high-stakes work inside an established codebase you did not write.
This is not a rewrite.
We are extending and strengthening a working Rails application, not replacing it.
Who we’re looking for
You are a Rails developer in the deepest sense you reach for the framework’s conventions rather than around them, and you are comfortable with server-rendered HTML as a first-class architecture rather than a legacy compromise.
You have shipped real features with Hotwire and you can explain why Turbo Frames and Streams are the right tool for a given interaction instead of reaching for a client-side framework by reflex.
You are at your best in a codebase with history.
You read before you write, you can trace an unfamiliar data flow end to end, and you know how to make a meaningful change in an area with thin test coverage without breaking things around it.
You treat a flaky third-party integration as an engineering problem with a real solution rather than an unavoidable fact of life.
You have a clear understanding of security and build it into any of your services.
Although you have full support of your teammates, you can participate in the research and solution to complex problems.
At the same time, you know when to ask for help and don’t let pride or ego get in the way, because after all, you are part of a team.
You take initiative and communicate proactively in a distributed team working across time zones, writing clearly and flagging problems early matters as much as the code.
We are looking for people who bring curiosity and an appetite for figuring things out.
Is this you?
Responsibilities
Application development
Build and extend features across a Rails 8 monolith models, controllers, background jobs, and server-rendered views.
Implement rich, interactive front-end behavior using Hotwire (Turbo Drive, Turbo Frames, Turbo Streams) and Stimulus, styled with Tailwind CSS.
Contribute to a shared component and view-partial library that keeps a large template surface consistent and maintainable.
CMS and content authoring
Extend an in-house Rails CMS broaden rich-text editing coverage, introduce reusable content snippets, and move hard-coded page regions into editable configuration.
Help design and build a component-based page builder, including the underlying content model and migration of existing authored content.
Work directly with editorial and marketing stakeholders to understand how authoring actually happens before designing for it.
Integrations and data flow
Build and harden integrations with third-party event-management, ticketing, and CRM platforms REST APIs, webhooks, and scheduled syncs.
Replace brittle or manual reconciliation processes with resilient, idempotent integrations that include retry and backoff, dead-letter handling, and automated reconciliation.
Design and operate Sidekiq workflows with attention to concurrency, ordering, and failure modes.
Instrument integrations so failures surface early and are diagnosable without guesswork.
API layer for mobile
Design and build a versioned API layer on the existing Rails stack to support a companion mobile app and downstream data consumers.
Handle authentication, authorization, rate limiting, pagination, and consumer-facing documentation from the outset.
Collaborate with mobile engineers on contract design and on serving native-specific view variants where the app renders server HTML.
Performance, scale and resilience
Profile and optimize application and database performance against sharp, predictable seasonal traffic peaks.
Implement caching strategies that hold up when pages contain personalized content — fragment and Russian-doll caching, and edge-cacheable shells with dynamically loaded personal regions.
Support the introduction of a CDN and automated scaling in front of the existing PaaS hosting.
Contribute to load testing ahead of known peak events.
Security and quality
Help prioritize, execute, and validate security remediation across an existing codebase, and build securely in all new work.
Write meaningful automated tests unit, request, and system-level and raise coverage in the areas you touch.
Participate in code review as both author and reviewer, and contribute to technical acceptance criteria on tickets you pick up.
Requirements
5+ years building and shipping production Ruby on Rails applications, including substantial time in a large existing codebase you did not originally write.
Production experience with Hotwire Turbo Drive, Turbo Frames, Turbo Streams and Stimulus.
Recent Rails 7 or Rails 8 experience, with a working understanding of what changed and why.
Strong PostgreSQL skills schema and index design, query optimization, reading EXPLAIN output, and finding and fixing N+1 queries.
Background job design with Sidekiq or equivalent idempotency, retry semantics, failure handling, and queue isolation.
Third-party API and webhook integration experience, ideally with upstream systems you do not control and cannot fully trust.
Examples: ticketing platforms, CRMs such as HubSpot or Salesforce, event or content management systems.
Automated testing in a server-rendered stack RSpec or Minitest, request specs, and system or integration tests with Capybara.
Tailwind CSS and fluency in semantic, well-structured HTML.
Accessible front-end development to WCAG 2.1 AA, including keyboard navigation, focus management, and correct use of ARIA where markup alone is insufficient.
Authentication and authorization experience session and token handling, passwordless or magic-link flows, OAuth2/OIDC concepts, and role-based access control.
Familiarity with a hosted auth provider (SuperTokens, Auth0, Clerk) or Devise.
Observability practice: structured logging, metrics, and APM tooling (New Relic, Datadog, Scout, or Skylight), and comfort defining what "healthy" looks like for a service.
Git and pull-request based collaboration, with clear commit history and review-ready changes.
Professional fluency in written and spoken English, and the ability to work with at least four hours of daily overlap with Eastern Time.
Nice to have
Deployment on a managed PaaS: Heroku or comparable plus AWS S3 for asset storage.
Hotwire Native (formerly Turbo Native) on iOS or Android: path configuration, bridge components, or native screen integration.
This is a significant differentiator for this engagement.
CMS and content modelling in Rails Action Text or Trix, ViewComponent or Phlex, block-based or component-based page builders.
Search infrastructure PostgreSQL full-text search at scale, or Elasticsearch, OpenSearch, Typesense, or Algolia, including faceted filtering and relevance tuning.
High-traffic or event-driven traffic patterns ticket on-sales, launches, or seasonal spikes and load testing ahead of them.
CDN and edge caching alongside personalized content Fastly, Cloudflare, or similar.
Security remediation experience Brakeman, bundler-audit, dependency triage, and familiarity with the OWASP Top 10 in a Rails context.
Rails and Ruby version upgrade work, including dependency and gem migration in a large application.
Analytics and marketing instrumentation GA4, Google Tag Manager, conversion and funnel event tracking, consent handling.
Domain exposure in media, entertainment, live events, ticketing, or membership and subscription products.
What’s in it for you?
Work Life Balance with BIMM days: Spend your birthday any way you’d like, as long as it’s not at the office.
Extra day off to enjoy every summer holiday and a week-long end-of-year break.
Boo-yah! Benefits: We offer a comprehensive health & dental benefits plan with an Employee Assistance Program.
BIMMers are also given extra $$$ to put towards wellness or health-related needs.
Did we mention our RRSP with matching? A lil BIMM bonus to build your bank.
Culture: Our squad is fun, friendly and entirely egoless.
Our social committee plans BIMM bashes,Tasty Thursdays and quarterly outings like candle making workshops, board game nights, Jays games and cooking classes.
Our summer and holiday parties are quite memorable as well! Having Fun Everyday is one of our core values.
We believe in working & meeting with purpose.
We observe a hybrid working model in our beautiful dog-friendly office located in the Distillery District, stuffed with snacks.
Belonging: Our dedicated DEI committee provides thought-provoking insights which are reflected in our work; They also organize engaging awareness activities and events to showcase BIMMER’s professional talents and personalities.
What talents might you bring? :) Growth: BIMM is part of kyu collective which gives our employees access to the network’s resources, training, offices, and more.
We also prioritize your personal and professional development with opportunities like on-site Lunch n’ Learns, conferences and online courses.
Love 2 Learn
BIMM is committed to providing an environment that is inclusive and accessible.
We are an equal opportunity employer and consider all applicants for employment without discrimination.
Please let us know if accommodation for the recruitment/interview process is required and we will work with you to make sure your needs are met.
AI in recruitment
While we are exploring ways to best utilize AI in our hiring processes, BIMM currently does not use AI-enabled tools in our hiring process.
All candidates are screened by humans, and approved by humans.
The range of annual base salary for full-time employees for this position is below.
Please note that base pay offered may vary depending on factors including your city of residence, job-related knowledge, skills, and experience.
Total compensation range:: $80,000 CAD - $130,000 CAD