# Full-Stack Engineer (Backend)

**Company:** [Zipdev](http://jobs.workable.com/companies/qoJNNPNYZxvPWh8dKtNN9t.md)
**Location:** Remote
**Workplace:** remote
**Employment type:** Full-time
**Department:** Engineering

[Apply for this job](http://jobs.workable.com/view/48424b15-61c0-4bbf-a0a8-af96a15d9f12)

## 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

### Frontend

-   Design, build, and maintain React components for a dental practice scheduling application
-   Implement responsive, mobile-first layouts using Tailwind CSS and standard breakpoints (sm, md, lg)
-   Integrate frontend features with a Rails-based API using Axios and TanStack Query for data fetching, caching, and mutations
-   Implement Azure AD B2C authentication using MSAL, including protected routes, token acquisition, and Axios interceptors
-   Maintain clean, readable TypeScript code that conforms to ESLint and Prettier standards

### Backend

-   Design, build, and maintain Rails API endpoints (API-only mode) serving dental scheduling, patient, and practice data to the React frontend
-   Model and evolve PostgreSQL schemas using ActiveRecord migrations with an emphasis on clarity, performance, and data integrity
-   Build and operate background jobs using Sidekiq and Redis for asynchronous and long-running tasks
-   Write and maintain RSpec test suites using FactoryBot, WebMock, and VCR for external HTTP integration testing
-   Run and remediate findings from Brakeman and bundler-audit as part of normal development workflows

### Shared

-   Collaborate closely with fellow 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 TypeScript and React, including functional components and custom hooks
-   Experience consuming REST APIs using Axios, including authentication header injection
-   Proven ability to build responsive UIs using a utility-first CSS framework (Tailwind or similar)
-   Experience with server-state management libraries such as React Query, SWR, or RTK Query
-   Strong experience with Ruby on Rails in API-only mode, including ActiveRecord, migrations, routing, and middleware
-   Solid PostgreSQL knowledge, including schema design, query performance awareness, and migration safety; hands-on experience with Sidekiq or equivalent for background job processing
-   Familiarity with Git-based workflows, including pull requests and conventional commits
-   Comfortable reading and maintaining Markdown documentation
-   Proven testing discipline across both frontend (React Testing Library, Playwright) and backend (RSpec, FactoryBot, WebMock/VCR)

### 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
-   Comfort working exclusively with synthetic or mock data (e.g., SYNTHETIC\_-prefixed data)
-   Awareness of secure coding practices, including no hardcoded credentials, no PHI in browser storage, and structured logging

### Availability & Engagement (Required)

-   Minimum 7–8 hours of daily overlap with US East Coast business hours (9 AM–5 PM ET)
-   Punctual, consistent attendance at daily standups and scheduled team ceremonies
-   Same-day turnaround on code review feedback during working hours
-   Proactive communication when availability changes — before stepping away, not after returning
-   Visible, consistent engagement during working hours as the primary measure of contribution — not evening or weekend catch-up

### Technologies & Tools

### Frontend

-   Language: TypeScript 5
-   Framework: React 19 (functional components, hooks)
-   Build Tooling: Vite 7
-   Styling: Tailwind CSS 4, clsx, tailwind-merge (cn() helper)
-   Server State: TanStack Query (React Query) v5
-   Routing: React Router v7
-   HTTP Client: Axios (with authentication interceptors)
-   Authentication: Azure AD B2C via MSAL
-   Code Quality: ESLint 9, Prettier 3

### Backend

-   Framework: Ruby on Rails 8.1 (API-only mode)
-   Database: PostgreSQL 16
-   Background Jobs: Sidekiq with Redis 7
-   Testing: RSpec, FactoryBot, WebMock, VCR
-   Serialization: JBuilder
-   HTTP Client: Typhoeus (or Faraday) for external service integrations
-   Authentication: Azure AD B2C JWT validation via JWKS (custom middleware)
-   Security Scanning: Brakeman, bundler-audit
-   Linting: RuboCop, rubocop-rails, rubocop-performance

### Shared

-   Development Environment: Docker Compose
-   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.](https://zipdev.com/careers/%20) Take a look and let us know if you have any other questions!
