Senior Rails Performance Engineer: Fix Our Apdex, Ship the Code, Prove the Numbers

Posted 4 weeks ago

Worldwide

Summary

About us We're ProcurementExpress - a SaaS platform that helps companies manage purchase orders and approvals. Our main app is a Ruby on Rails monolith with a JavaScript/Vue/React-based frontend, running on Heroku with PostgreSQL and Redis, monitored with New Relic. Why we're hiring We recently went through a PostgreSQL memory-related production outage and have been dealing with broader performance pain - slow endpoints, elevated background-job backlogs and a frontend that's heavier than it should be. We've stabilized the bleeding and shipped partial fixes ourselves, but we know there's a substantial backlog of optimization work and we want a specialist driving it. What success looks like (non-negotiable targets) By the end of the engagement, the following must be true, with New Relic screenshots and time-series data to prove it: 1. Server Apdex ≥ 0.95 sustained over a rolling 14-day window in production 2. Browser Apdex ≥ 0.95 sustained over a rolling 14-day window in production 3. Zero recurrence of PostgreSQL memory/connection-related incidents 4. Documented improvement on our top-10 slowest controller actions (before/after p95 latency) 5. Documented frontend improvements - LCP, INP/FID, and Total JS bundle size - with before/after numbers 6. A written runbook so our team can maintain these gains in future If you can't credibly hit these numbers, please don't apply. We want a partner who will commit to the outcome. What you'll actually do (we expect code, not slide decks) This is a hands-on contract. We're not looking for an advisor or auditor. We need someone who will: - Profile our Rails app end-to-end (rack-mini-profiler, New Relic, scout_apm, pg_stat_statements, etc.) and fix what they find - Write and ship PRs that eliminate N+1 queries, fix slow ActiveRecord patterns, add missing indexes, and tune queries - Diagnose and fix the PostgreSQL memory/connection issues at the root (work_mem, pool sizing, prepared statements, connection churn, pgbouncer if appropriate) - Optimize Sidekiq workloads, GC settings, memory bloat, and any forking/threading issues - Audit and improve Heroku dyno configuration - sizing, autoscaling, Redis, CDN, and platform-level tuning - Reduce frontend bundle size, fix render-blocking JS/CSS, improve LCP/INP, and clean up wasteful re-renders on our Vue/React components - Add caching where it actually helps (Russian doll, fragment, low-level, HTTP, CDN) - and rip out caching where it's hiding bugs - Open PRs in our GitHub repos, respond to code review, and iterate until merged - Maintain a clean, public-to-us tracker of every change, hypothesis, and measured impact Required experience - 5+ years of production Ruby on Rails performance work (recent - not just "I used to do this") - Deep PostgreSQL tuning experience: query planning, EXPLAIN ANALYZE, index strategy, vacuum/autovacuum, memory parameters, connection pooling, pgbouncer - Strong hands-on experience with New Relic (or equivalent: Scout, Skylight, Datadog APM) — you can read flame graphs and traces fluently - Real experience optimizing Heroku-hosted Rails apps (dyno tuning, R14/H12 debugging, add-on selection) - Frontend performance work on Vue and/or React - Lighthouse, Web Vitals, code splitting, lazy loading, hydration costs - Solid Sidekiq/background job optimization track record - You write your own PRs and respond to code review like a senior engineer Hours/week: Up to 30-40 hours/week, your schedule Location: Fully remote, async-friendly (we work across multiple time zones) Start: ASAP - we need someone who can begin within 1–2 weeks Nice-to-have - Prior contributions to Rails, pg gem, Sidekiq, or related open-source projects - Public writing/talks on Rails performance (blog posts, conference talks) - Experience reducing AWS RDS or Heroku Postgres costs - Familiarity with rspec/factory_bot test suites (you may need to add regression tests) How we'll evaluate applicants Please include in your proposal: - Two specific case studies from past work - with before/after metrics (Apdex, p95 latency, throughput, cost, or similar). If your past work is under NDA, paraphrase but be specific about the numbers. - One Rails performance pattern you see frequently in the wild that most engineers miss, and how you fix it. (One paragraph - we're testing depth, not length.) - Your approach to the first 2 weeks on a contract like this. What do you do day 1, day 3, day 7? How do you decide what to fix first? - Links to public PRs, blog posts, conference talks, or open-source contributions that demonstrate your depth. - Your availability - hours/week and time-zone overlap with EU. We will ignore generic cover letters. If your application does not address the four items above, we will not reply. Please note: only applications submitted through Upwork will be considered. Do not email or contact members of our team outside of the Upwork platform regarding this position. Process 1. Written application (above) - we shortlist in 3–5 business days 2. 30-minute screening call with our engineering lead 3. We'll give you read access to a New Relic dashboard and a representative slow endpoint, and ask you to (a) diagnose the cause and (b) submit a PR fixing it. We pay your hourly rate for this trial regardless of outcome. 4. Contract start What we provide - Read/write access to our GitHub repos (Rails monolith + frontend repos) - New Relic, Heroku, PostgreSQL (read-only initially, write after trust), Sidekiq dashboards - A dedicated Slack channel with our engineering team and direct access to me - Async-friendly culture; no useless meetings - one weekly 30-min sync, the rest is async - A real outcome you can put on your portfolio (with permission) A note on style We have a strong internal engineering team and an active AI-assisted code-review and code-generation pipeline. We don't need to be told what is broken - we need someone who will fix it, defend the fix in code review, and prove the improvement with numbers. If your default mode is producing recommendations documents, this isn't the right fit.

  • More than 30 hrs/week
    Hourly
  • 3-6 months
    Duration
  • Expert
    Experience Level
  • $50.00

    -

    $80.00

    Hourly
  • Remote Job
  • Ongoing project
    Project Type
Skills and Expertise
Mandatory skills
New Relic
Vue.js
React
Ruby on Rails
Activity on this job
  • Proposals:50+
  • Last viewed by client:yesterday
  • Hires:
    1
  • Interviewing:
    0
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Jan 21, 2015
  • Ireland
    Dunboyne6:32 PM
  • $1.5M total spent
    362 hires, 18 active
  • 69,843 hours
  • Tech & IT
    Mid-sized company (10-99 people)

Explore similar jobs on Upwork

Software DeveloperHourly‐ Posted 7 months ago
ASP.NET MVC
Django
Python
AngularJS
JavaScript
jQuery
WordPress
Google Chrome Extension
React
CRM Development
Microsoft Dynamics 365
Microsoft Dynamics CRM
Microsoft Dynamics Development
Microsoft PowerApps
Single Sign-On
Build Marketplace on TokopediaHourly‐ Posted 4 weeks ago
PHP
HTML5
JavaScript
Web Development

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo