Upper Hand Senior Software Engineer INDIANAPOLIS, IN · Full time

Senior Software Engineer/Full Stack Developer for SaaS platform

About Upper Hand

Upper Hand is a vertical SaaS platform serving youth sports facilities and clubs across North America. We provide sports management software that helps facilities run their operations, from scheduling and registration to payments and facilities management. We're at an exciting inflection point - scaling our customer base while modernizing our technical infrastructure to support sustainable growth. For more information on how Upper Hand is reinventing the way business is done in youth sports, visit upperhand.com.

Description

ABOUT UPPER HAND

Upper Hand is a vertical SaaS platform built for sports facility and business management — helping gyms, academies, and training facilities run smarter. Backed by H3 Partners and headquartered in Indianapolis, IN, we move fast, care deeply about our customers, and build software that actually makes a difference in people's active lives.


JOB SUMMARY

You lead software development projects end to end — scoping, technical design, delivery, and rollout — while writing production code across Ruby on Rails, React, and Java. You think in service boundaries, you raise the engineering bar around you, and you have made AI-assisted development a measurable advantage for your whole team, not just for yourself.


OUR STACK

Ruby on Rails · Java · React · PostgreSQL · Node.js · Microservices · Metabase · REST/GraphQL APIs · GCP · Git · CI/CD · AI-assisted development


WHAT YOU'LL DO

  • Lead software development projects end to end — scoping, technical design, execution, rollout, and post-launch measurement
  • Own the architecture and implementation of features spanning React front ends, Rails and Java services, and PostgreSQL
  • Define service boundaries, API contracts, and data models across our microservice architecture
  • Serve as the team's AI-enablement lead — establish the workflows, patterns, and guardrails for AI-assisted development, and teach mid-level and junior engineers to use them well
  • Mentor mid-level and junior engineers through design reviews, pairing, and 1:1 guidance
  • Set coding standards, review practices, and architectural patterns across the team
  • Drive PostgreSQL optimization — query tuning, indexing, partitioning, connection pooling, replication
  • Own technical risk assessment and mitigation for major feature releases
  • Champion observability — logging, alerting, and monitoring best practices in GCP
  • Collaborate with engineering leadership on roadmap planning and capacity estimation
  • Evaluate and introduce new tools, libraries, and approaches with disciplined rigor
  • Participate in the on-call rotation and lead incident response

WHAT YOU BRING — TECHNICAL (ALL REQUIRED)

  • 6+ years building and shipping production software, including 2+ years as the technical owner of projects or a team
  • A proven track record leading software development projects end to end — scoping, design, delivery, rollout, and accountability for the outcome. Be ready to walk us through two projects you led.
  • Ruby on Rails in production — you have owned Rails services and their data models, not just contributed tickets to them
  • React in production — component architecture, hooks, state management, and front-end testing. TypeScript strongly preferred.
  • Java in production — modern Java with Spring or an equivalent framework, plus the build and test tooling around it
  • Microservice frameworks and distributed systems — service decomposition, inter-service communication, caching, queuing, and consistency trade-offs. Strangler Fig migrations a major plus.
  • A proven record of using AI/LLM development tools to increase throughput — and of teaching others to do the same. Come prepared to describe your workflow, what you measured, and how your team's output changed, not just your own.
  • Sound judgment about AI-generated code — you can tell when it is wrong, when it introduces a security or performance problem, and when to throw it out entirely
  • Strong PostgreSQL engineering — performance tuning, indexing, schema design, and migrations at scale; comfort with analytics and reporting pipelines (Metabase or similar)
  • Strong API design — REST and GraphQL, versioning, and backward compatibility; production Node.js experience
  • Hands-on GCP or equivalent cloud experience (IAM, Cloud Run, Pub/Sub, BigQuery), containerized services, and ownership of CI/CD pipelines
  • Automated testing discipline and security-conscious engineering — OWASP, auth/authz patterns, and PCI DSS or comparable regulated-data experience

WHAT YOU BRING — BEYOND THE CODE

  • Leads through influence — engineers look to you for patterns, not just answers
  • Coaches deliberately — you measure your impact partly by how much better the engineers around you get
  • Executive presence in technical conversations — you hold your own with product, design, and business stakeholders
  • Constructive and direct — you give hard feedback kindly and receive it professionally
  • Strategic thinker who balances long-term architecture with short-term delivery pressure
  • Visible culture carrier — you model the engineering values you want the team to have

NICE TO HAVE

  • Experience leading a team through a platform migration or re-architecture, especially monolith to microservices
  • Experience introducing AI tooling at an organization — standards, guardrails, or a formal enablement program
  • Experience in vertical SaaS or sports/fitness tech
  • Contributions to technical strategy or engineering hiring
  • Experience with payments or other regulated data domains

HOW WE'LL EVALUATE

  • A project-leadership deep dive on something you owned end to end — how you scoped it, what went wrong, and what you decided
  • A practical working session with AI tools allowed and encouraged — we care whether the result is correct and whether you can defend every line of it
  • A system design conversation on service boundaries, API contracts, and data modeling
  • A short session on how you would raise this team's AI-assisted throughput in your first 90 days