SDE III (IOS)
Posted Updated
Description
<p><b>An ideal candidate is who:</b></p><p>● Architect and drive advanced iOS applications using Swift, SwiftUI, and UIKit, owning architectural decisions across one or more app modules end-to-end.</p><p>● Define and evolve MVVM (and where appropriate, MVVM-C, TCA, or Clean Architecture) patterns, setting engineering standards adopted across the team.</p><p>● Design System: Drive the development of scalable, reusable components, evolve the shared library, and establish standards that ensure consistency and adoption across teams.</p><p>● Design robust, scalable networking and concurrency layers using async/await, Combine, and GCD/Operations, with a strong eye toward thread safety, race conditions, and structured concurrency at scale.</p><p>● Own performance and memory efficiency as a first-class responsibility — proactively profiling with</p><p>Instruments and MetricKit, setting up crash/ANR-equivalent monitoring, and driving down regressions before they hit production.</p><p>● Set and enforce testing strategy across the codebase (XCTest, XCUITest, EarlGrey, snapshot ttesting), including defining the test pyramid, coverage targets, and layering conventions for the team.</p><p>● Write end to end automation — unit and snapshot coverage plus the on-device UI journeys for the flows you own.</p><p>● Lead API contract discussions with backend engineers early in the design phase, identifying edge cases, payload inefficiencies, and versioning concerns before implementation begins.</p><p>● Design resilient offline-first architectures using Core Data/SwiftData, including conflict resolution, sync strategies, and migration handling for evolving schemas.</p><p>● Own CI/CD pipeline health and evolution (Fastlane, Jenkins, Xcode Cloud) — improving build times, release cadence, and reducing manual App Store delivery overhead.</p><p>● Evaluate and pilot emerging frameworks (App Intents, WidgetKit, Live Activities, Dynamic Island) and make build-vs-wait recommendations grounded in user impact and technical risk.</p><p>● Lead technical design discussions (TCDs) for complex, cross-team features, anticipating downstream impact across modules and other platforms.</p><p>● Mentor SDE1/SDE2 engineers through code reviews, pairing, and structured feedback — raising the technical bar of the team, not just your own output.</p><p>● Conduct root-cause analysis on production incidents (crashes, ANRs, performance regressions) and drive systemic fixes, not just patches.</p><p>● Influence technical roadmap and prioritization — surfacing tech debt, proposing refactors, and making a business case for engineering investment.</p><p>● Partner with Product, Design as a technical stakeholder, not just an implementer — shaping feature feasibility and scope during planning.</p><p>● Strong communication skills, with the ability to explain complex technical tradeoffs to engineers, PMs, and leadership alike.</p><p>● Exceptional problem-solving and systems-thinking — able to diagnose ambiguous, cross-module issues without full context upfront.</p><p>● Track record of raising the technical bar for those around them, whether through reviews, documentation, or direct mentorship.</p><p>● Explore AI-driven capabilities — on-device ML, LLM-powered features, or AI-assisted dev tools - to enhance product experience and engineering efficiency.</p><p>● Proficient in using AI coding assistants (e.g., Claude Code) as part of the daily development workflow — for code generation, refactoring, debugging, test writing, and reviewing merge requests.</p><p>● Comfortable adopting AI-assisted engineering practices across the SDLC — from spec-to-code generation and automated test coverage to AI-driven MR review and crash/issue triage — and continuously improving how the team uses these tools.</p>
