Senior Full Stack Software Engineer (Mobile + Web) — SaaS Field Operations Platform
Job Description
Oculus Systems Security is seeking a Senior Full Stack Software Engineer (Mobile + Web) for a SaaS Field Operations Platform. This onsite role in Lakewood, CO blends support for a legacy PHP/Laravel stack and native iOS/Android apps with building a next-generation Python/Django and React/React Native platform. The position emphasizes real ownership, a focused two-person engineering approach, and a culture that values reliability and compliance. On-the-job training, paid sick time, and paid time off are provided as part of the benefits package.
Responsibilities
- Legacy Platform (production): Laravel 5.8 / PHP 7.4 monorepo with multiple web apps (customer-facing permit portal, parking operations, HQ, admin/backend), a Laravel REST API, and native iOS/Android apps
- PostgreSQL on AWS RDS, EC2 behind an Application Load Balancer, CodePipeline/CodeBuild deployments
- Payment/subscription processing via Authorize.net ARB, transactional emails via Postmark
- Bug fixes, incident response, targeted remediation work, and controlled feature changes to maintain reliability and compliance while the system is being phased out
- Next-Gen Platform (active build): Multi-tenant SaaS ERP for managing distributed field/security personnel, clients, and client properties
- Backend: Django 5.0 + Django REST Framework, django-tenants (schema-based multi-tenancy), Celery for background/scheduled jobs
- Frontend: React
- Mobile: React Native (iOS + Android) for the field-worker interface, including shift check-ins, offline data sync, geofencing, and photo capture with EXIF/compression handling
- Data layer: PostgreSQL (Aurora), Redis (ElastiCache) for caching/queues
- Infrastructure: AWS (VPC, ALB, EC2, CodePipeline/CodeBuild/CodeDeploy), JWT-based authentication, service-layer architecture with clear separation between views/serializers/business logic
Requirements
- Mobile app development experience is required — native iOS/Android or React Native, ideally exposure to both. Comfortable with offline-first patterns, background sync, geolocation, and device permissions (camera, GPS).
- Full-stack capabilities including backend API design (REST), relational database design (PostgreSQL preferred), and frontend web development (React).
- Ability to work across two tech stacks simultaneously (PHP/Laravel legacy + Python/Django modern) without requiring greenfield projects to do good work.
- Experience with multi-tenant SaaS architecture is a strong plus (schema-based tenancy, tenant isolation patterns).
- AWS familiarity: EC2, RDS/Aurora, ALB, CI/CD pipelines (CodePipeline/CodeBuild or equivalents like GitHub Actions/CircleCI).
- Experience with payment/subscription systems (Authorize.net, Stripe, or similar) is a plus given the ARB-based legacy billing.
- Strong independent judgment and the ability to work autonomously on production systems with legal/compliance weight.
Technologies
- Laravel
- PHP
- iOS
- Android
- PostgreSQL
- AWS
- CodePipeline
- CodeBuild
- CodeDeploy
- Authorize.net
- Postmark
- Django
- Django REST Framework
- django-tenants
- Celery
- React
- React Native
- Aurora (PostgreSQL)
- Redis
- ElastiCache
- JWT
- VPC
- ALB
- EC2
- Stripe
- GitHub Actions
- CircleCI
- REST API
- Python
Benefits
- On-the-job training
- Paid sick time
- Paid time off
Why this role?
Direct ownership is a core aspect of this role. You will be one of two engineers shaping architecture and delivering meaningful impact, not one of many contributors. You will experience a full legacy-to-modern platform migration from the inside, influencing decisions as the platform evolves while the old system remains live.
Pay
USD 60,000.00 - 140,000.00 per year
Location
Lakewood, CO (onsite)
Nice to have
- Experience with field-service, workforce-management, or security-industry software
- Familiarity with geofencing/location-based features
- Experience migrating a legacy system to a new platform while keeping the old one live
- Comfort with Jira-based sprint workflows (1-week sprints, story-pointed backlog)