SpotOn is a company dedicated to empowering independent restaurants with advanced technology solutions. They are seeking a Staff Software Engineer with expertise in native Android development to architect and enhance their mobile systems, mentor other engineers, and integrate AI tools into their engineering workflows.
Responsibilities:
- Architect, design, and ship Android solutions that run 24/7 on restaurant hardware - including fully offline, under network loss, with zero tolerance for data loss on transactions
- Lead the reliability and resilience strategy for our Android platform: observability, fault tolerance, graceful degradation, crash-free rate targets, and disaster recovery
- Drive performance work end-to-end - cold start, frame time, memory, battery, binary size, and local database throughput - with measurable outcomes
- Set the bar for how our team uses AI in daily engineering work. Integrate tools like Claude Code, Cursor, GitHub Copilot, and internal agents into your own workflow, and help codify the patterns (prompts, agent instructions, MCP integrations, evaluation approaches) that make the rest of the team faster and more rigorous
- Partner with Product, Design, Backend, Firmware, and Payments to translate restaurant operator problems into technical direction, and communicate trade-offs clearly to non-technical stakeholders
- Mentor senior and mid-level engineers through design reviews, code reviews, pairing, and written technical guidance. Raise the team's ceiling, not just your own output
- Own the full lifecycle: requirements, design docs, implementation, testing, rollout, monitoring, and iteration
- Evaluate new technologies (including AI-augmented tooling, frameworks, and libraries) and make clear recommendations on what to adopt, what to defer, and why
Requirements:
- 8+ years of software engineering experience, with a clear focus on native Android development
- Expert-level Kotlin, and comfortable in Java where the codebase calls for it
- Deep experience building performant, resilient apps - ideally ones that run on dedicated hardware, operate offline, or handle financial transactions
- Strong command of SQLite or another embedded relational database, including schema migration and concurrency in production
- Track record of diagnosing and resolving hard production issues: ANRs, memory leaks, jank, sync conflicts, race conditions, flaky network behavior
- Hands-on daily use of AI coding tools (Claude Code, Cursor, GitHub Copilot, or similar) in real production work - not just demos. You can speak to where they help, where they don't, and how you validate their output
- Clear, direct written and verbal communication. You can write a design doc that a PM, a backend engineer, and a new hire can all act on
- Bachelor's degree in CS, Engineering, or equivalent experience; Master's welcome but not required
- Experience in fintech, payments, or other regulated environments (PCI, tokenization, EMV, offline auth)
- Experience at a high-growth SaaS or platform company shipping to a large installed base
- Deep knowledge of app performance tuning, offline-first architecture, local caching strategies, and mobile security
- Experience evolving legacy Android codebases - RxJava to Coroutines/Flow, Views to Compose, modularization, build-time improvements
- Experience building internal developer tooling, MCP servers, custom agent workflows, or evaluation harnesses that measurably improve team velocity or code quality
- Strong abstract thinking and a high ownership orientation - you care about the problem being solved, not just the ticket being closed