Zipdev

Full-Stack Engineer (Backend)

Job Description

Role Overview

We're building a greenfield web platform that delivers modern, cloud-based experiences aligned with Sensei Cloud. The application is modular in nature and will grow over time.

As a Full-Stack Engineer with a backend focus, you will be a core contributor shaping the Rails API, data layer, and Azure platform integrations from the ground up — while remaining capable of working across the entire stack when needed. Your primary ownership area is the backend: data modeling, API design, data mapping across dental practice management systems (DPMS), external healthcare system integrations, and background processing. You will interact with Azure Cosmos DB for DPMS data and leverage Azure PostgreSQL Hyperscale (Citus) to host application data at scale. You will also contribute to frontend work as the team and product evolve.

This is a full-product ownership role in a HIPAA-regulated healthcare environment, requiring strong technical judgment, attention to compliance, and close collaboration with your fellow engineers and product stakeholders.

You will work within a Human -> AI -> Human engineering workflow, using AI tools to accelerate delivery while maintaining full accountability for correctness, security, and compliance.

Key Responsibilities

Primary (Backend)

  • Design, build, and maintain a Rails API (API-only mode) that serves dental scheduling data to a React frontend
  • Model and evolve PostgreSQL schemas using ActiveRecord migrations, targeting Azure PostgreSQL Hyperscale (Citus) in production with an emphasis on clarity, performance, and data integrity
  • Become the team’s subject matter expert on data mapping across different dental practice management systems and the Cosmos DB data layer
  • Query and consume data from Azure Cosmos DB, understanding its document model and how DPMS data is structured within it
  • Design and maintain application schemas on Azure PostgreSQL Hyperscale (Citus), leveraging distributed tables and colocation for performance at scale
  • Integrate with external healthcare systems and services via HTTP — including dental exchange APIs, payment processors, and Azure AI services — to power features such as AI-assisted dictation and intelligent workflows
  • Implement and maintain Azure AD B2C JWT authentication middleware, including JWKS retrieval, signature verification, claim extraction, and current_user injection
  • Build and operate background jobs using Sidekiq and Redis for asynchronous and long-running tasks
  • Write and maintain comprehensive RSpec test suites using FactoryBot, WebMock, and VCR to safely test external HTTP integrations
  • Run and remediate findings from Brakeman and bundler-audit as part of normal development workflows

Shared (Full-Stack)

  • Contribute to React frontend components and pages as needed
  • Collaborate closely with frontend-focused engineers and product stakeholders throughout feature development
  • Participate in AI-augmented development workflows, reviewing and validating AI-generated code against acceptance criteria
  • Follow Git best practices: feature branches, pull requests for all changes, and conventional commit messages
  • Proactively update documentation when behavior or architecture changes

Requirements

Core Technical Skills

  • Strong experience with Ruby on Rails in API-only mode, including ActiveRecord, migrations, routing, and middleware
  • Solid PostgreSQL knowledge, including schema design and query awareness; comfort working with both relational and NoSQL (document) databases
  • Experience designing REST APIs and integrating with external services via HTTP clients (e.g., Typhoeus, Faraday, or equivalent)
  • Hands-on experience with background job processing (Sidekiq or equivalent)
  • Experience implementing JWT-based authentication, including JWKS validation and claim extraction
  • Proven RSpec testing discipline with FactoryBot and HTTP stubbing using WebMock or VCR
  • Working knowledge of a modern frontend framework (React, Vue, or similar) — you don’t need to be a CSS wizard, but you should be comfortable building and debugging components
  • Familiarity with Git-based workflows, pull requests, and conventional commits
  • Comfortable reading and maintaining Markdown documentation

AI-Augmented Development (Required)

  • Hands-on experience using AI coding assistants (e.g., Claude Code, GitHub Copilot, Cursor) as part of daily development
  • Clear understanding of the Human → AI → Human review loop, with human ownership of all decisions
  • Ability to maintain supporting documentation such as READMEs, architecture notes, and AI configuration files (e.g., CLAUDE.md)
  • Awareness of AI traceability practices, including commit trailers, review checklists, and prompt hygiene

HIPAA & Compliance Awareness (Required)

  • Strong understanding that Protected Health Information (PHI) must never appear in code, tests, logs, commits, or error messages
  • Discipline around structured logging with explicit safe-field selection
  • Use of generic error messages with no patient-identifying context returned to API clients
  • Comfort working exclusively with synthetic or mock data
  • Awareness of secure coding practices, including no hardcoded credentials, OWASP Top 10 vigilance, and blocking remediation of Brakeman findings

Technologies & Tools

You will work with the following technologies as part of the CSD Cloud Apps stack:

Backend (Primary)

  • Language: Ruby
  • Framework: Ruby on Rails 8.1 (API-only mode)
  • Database: Azure PostgreSQL Hyperscale (Citus) for application data; Azure Cosmos DB (NoSQL) for DPMS data; PostgreSQL 16 for local development
  • Serialization: JBuilder
  • Background Jobs: Sidekiq with Redis 7
  • Data Access: Azure Cosmos DB SDK (via Ruby client or REST)
  • HTTP Client: Typhoeus (or Faraday) for external service integrations
  • Authentication: Azure AD B2C JWT validation via JWKS (custom middleware)
  • Security Scanning: Brakeman, bundler-audit
  • Testing: RSpec, FactoryBot, WebMock, VCR
  • Linting: RuboCop, rubocop-rails, rubocop-performance

Frontend (Collaborative)

  • Language: TypeScript 5
  • Framework: React 19 (functional components, hooks)
  • Styling: Tailwind CSS 4
  • Server State: TanStack Query (React Query) v5

Shared

  • Development Environment: Docker Compose
  • Deployment Tooling: Kamal, Thruster
  • Version Control: Git with feature branches and pull requests

Preferred / Nice-to-Have Qualifications

  • Experience with Kamal-based deployments and containerized production workflows
  • Familiarity with ActionCable or other WebSocket-based real-time features
  • Healthcare or dental domain experience
  • Prior experience working with dental practice management system data models or healthcare data normalization
  • Experience with Azure Cosmos DB, including its SQL API, partition key strategy, and document modeling
  • Familiarity with Azure PostgreSQL Hyperscale (Citus) or other distributed PostgreSQL solutions
  • Hands-on experience with Azure AD B2C JWT validation
  • Experience with Jbuilder or alternative Rails JSON serialization approaches
  • Experience with Azure AI services (e.g., Azure AI Speech, Azure OpenAI) or building AI-powered features such as dictation or intelligent document processing
  • Familiarity with healthcare data exchange standards or payment processing APIs
  • Working knowledge of React and TypeScript for frontend contributions

How We Work

  • AI-assisted engineering: AI tools are used for acceleration, but all code is reviewed and owned by engineers
  • Branch-based development: All work is done on feature branches with mandatory pull requests
  • Commit standards: Conventional commits are required; AI-assisted commits include traceability metadata (e.g., AI-Tool: claude-code)
  • Code reviews: Reviews include checks for OWASP Top 10 risks, PHI exposure, hardcoded secrets, overly broad rescue blocks, and invalid or hallucinated dependencies
  • Docker-first development: The full stack runs in Docker Compose with no local runtime dependencies

Benefits

  • Work remotely Monday - Friday, 40 hours a week (no weekends)
  • Health Care Reimbursement
  • Active Lifestyle Reimbursement
  • Quarterly Home Office Reimbursement
  • Continuous Learning Bonus
  • Access to Training and Professional Development Platforms
  • Did we mention it's REMOTE?!!

One of our core values at Zipdev is "Be authentic." that's why we encourage you to answer the application form in your own words; we are interested in getting to know you, not a digital assistant.

Wondering how our remote environment or our payment method work? We've put together some helpful answers in our FAQs at the bottom our our career site. Take a look and let us know if you have any other questions!