1 month ago
South Jordan, UT, USAStaff+
Responsibilities
- Write, review, and ship production client application code across the primary platform.
- Design and build features end-to-end from technical approach through implementation, testing, and release.
- Build secure and reliable communication between client applications and Cricut hardware over Bluetooth, BLE, USB, and Wi-Fi.
- Optimize startup time, memory usage, responsiveness, rendering, battery life, and network efficiency.
- Implement application security using encryption, secure authentication, certificate validation, and secure credential or key management.
- Write and maintain automated tests and drive CI/CD automation, release quality, and deployment processes.
- Ship features using feature flags, progressive rollouts, kill-switches, and production telemetry.
- Track release health through crash-free rate, performance budgets, and defect trends.
- Collaborate with Product Management and UX on scope, feasibility, technical tradeoffs, and shipped experiences.
- Participate in code reviews, share knowledge, support other engineers, and evaluate emerging platform, AI, and tooling technologies.
Requirements
- Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
- 8+ years of professional client/frontend software development experience.
- Deep production-level expertise in at least one of iOS, Android, or Electron/Angular.
- Strong expertise with Bluetooth Classic, BLE including GATT design, USB, and Wi-Fi provisioning and discovery using mDNS/SSDP.
- Real-world experience with pairing, interference, bandwidth limits, and reconnection.
- Working knowledge of embedded hardware integration, including firmware constraints, command protocols, calibration, OTA updates, and error handling or telemetry.
- At least one year of hands-on use of modern AI engineering tools such as Claude Code, Cursor, or Copilot.
- Practical experience integrating AI/LLM capabilities, including agentic patterns, evaluations, and latency, cost, and reliability tradeoffs.
- Expert proficiency in Swift, Kotlin, or TypeScript and strong expertise in the corresponding native UI framework.
- Strong understanding of platform concurrency models such as Swift Concurrency, Kotlin Coroutines/Flow, or modern asynchronous JavaScript/RxJS.
- Experience with MVVM, Clean Architecture, MVI, or component-based architecture.
- Experience consuming APIs, debugging and profiling with platform-native tools, automated testing, CI/CD pipelines, secure credential storage, and application telemetry or observability.
- Clear communication, strong cross-functional collaboration, knowledge sharing, and curiosity about AI-assisted development and new engineering techniques.
