As a mid-Level iOS Developer at Floq, you will build and ship the app that Indonesian users trust to buy, sell, and hold digital assets. Floq is an OJK-licensed cryptocurrency exchange, which means the iOS app is not just a storefront: it is a regulated financial product where every screen, every network call, and every stored byte has to hold up to real-money scrutiny.
Your mission is to deliver fast, stable, and secure features in native Swift, from real-time market data and order placement to identity verification and wallet flows. You will own features end to end, write code that your teammates enjoy reviewing, and help raise the quality bar of a codebase that thousands of people rely on every day.
Core Responsibilities
- Feature Delivery: Design, build, and ship user-facing features in native Swift using SwiftUI and UIKit, from trading and portfolio screens to onboarding, KYC, and deposit/withdrawal flows.
- Real-Time Data: Implement and maintain WebSocket and REST integrations for live prices, order books, and balance updates, keeping the UI responsive and accurate under volatile market conditions.
- App Security: Apply mobile security best practices as a matter of routine: Keychain storage, biometric authentication, certificate pinning, jailbreak and tamper detection, and secure session handling.
- Quality & Stability: Write unit and UI tests, monitor crash and performance metrics, and treat a crash in the order flow as the production incident it is.
- Collaboration: Work closely with Backend, Product, QA, and Design to refine requirements, review pull requests, participate in release cycles, and support App Store submissions.
Technical Requirements
- Experience: 3+ years of professional iOS development, with at least one app you have shipped and maintained in the App Store.
- Swift Proficiency: Strong command of modern Swift, including structured concurrency (async/await), Combine or equivalent reactive patterns, protocol-oriented design, and memory management.
- UI Frameworks: Hands-on experience with both SwiftUI and UIKit, and sound judgment about when to use each in a mixed codebase.
- Architecture: Practical experience with MVVM or similar patterns, dependency injection, and modularizing an app using Swift Package Manager.
- Networking & Data: Comfortable with URLSession, WebSocket connections, Codable, local persistence (Core Data or SwiftData), and handling flaky network conditions gracefully.
- Tooling: Familiarity with Xcode, Git, CI/CD pipelines for iOS (Fastlane, Xcode Cloud, or similar), and crash and analytics tooling such as Firebase Crashlytics.
Soft Skills & Experience
- Fintech Mindset: Prior experience in fintech, banking, payments, or crypto is a strong plus. If not, a demonstrated appreciation for why correctness and security come before speed in financial apps.
- Ownership: You take a feature from ticket to App Store without waiting to be told each step, and you speak up early when a requirement does not make sense.
- Problem Solving: Ability to reproduce and fix hard-to-catch issues such as race conditions in real-time data updates or state bugs across app lifecycle transitions.
- Communication: Clear written and verbal communication in Bahasa Indonesia and working proficiency in English, enough to read documentation, write PR descriptions, and coordinate with cross-functional teams.
Strategic "North Star" Priorities
- Trust on Every Screen: A user should never see a stale balance, a mismatched price, or a spinner that never resolves. You care about the details that make an exchange app feel safe to use.
- Zero Regression Releases: Every release should make the app better without breaking what already works. Tests, careful reviews, and staged rollouts are how you get there.
Critical Challenges You Will Solve
- The Volatility Problem: How do you keep an order book and price chart smooth and accurate on a mid-range iPhone when the market is moving hundreds of times per second?
- Secure but Frictionless: How do you make biometric login, session timeouts, and device binding airtight without making the user feel like they are fighting the app to check their portfolio?