角色
您将作为我们旗舰iOS客户端开发的关键贡献者。这个角色的重要部分包括与产品经理、设计师和其他软件工程师密切合作,将高层次的需求转化为高质量、有影响力的功能。您将在端到端开发生命周期中发挥重要作用:从初始设计和架构规划到实施、测试和部署。
关键是,您将作为整个iOS代码库的技术领导者和维护者。这包括建立和维护最佳实践、代码标准以及应用程序的整体技术质量。您将指导和引导其他工程师,贡献于一个持续学习的环境,提高团队集体编写干净、可维护和高性能Swift代码的能力,确保我们重要的iOS客户端能够一致且可靠地交付给全球用户。
这个角色要求在执行复杂技术任务时有很高的自主性,同时在一个小而快速移动的团队中有效协作,以确保技术决策与整体产品愿景一致。您将是一个实干的贡献者,专注于交付直接影响新兴市场消费者金融应用的高质量代码。
技能
作为一名iOS软件工程师,我们认为以下几点对这个角色很重要:
- 7年以上专业iOS开发经验:有多个被大量用户使用的iOS应用程序的发布和维护历史。
- Swift的专业熟练度:对Swift语言有深入的专家级知识,包括现代语言特性。
- 对苹果生态系统的深入理解:对最新的iOS SDK、API和苹果人机界面指南(HIG)有专家级知识。
- 架构专业知识:有设计、实施和维护复杂、可扩展和模块化iOS应用架构(例如MVVM、Clean Architecture、VIPER)的丰富经验,并知道何时应用每种架构。
- 现代UI框架的广泛经验:对SwiftUI和UIKit都有专家级知识和实践经验,包括高级布局技术(自动布局、程序化视图、自定义视图组件)以及两者之间的互操作性。
- 网络与数据处理:精通使用RESTful API、HTTP和/或利用WebSockets。对安全数据存储、缓存策略和离线功能有深刻理解。
- 并发和性能优化:有识别和解决性能瓶颈、内存泄漏和复杂并发问题的能力,使用现代Swift工具和技术(Grand Central Dispatch、Operations、async/await)。
- 测试和质量保证:在实施和推动各种测试方法(包括单元测试、集成测试和UI测试,例如XCTest、Swift Testing、模拟对象)方面有丰富经验。
- 依赖管理:对常见依赖管理工具(例如Swift Package Manager、CocoaPods)有专业知识。
- CI/CD管道经验:有设置、维护或优化iOS构建和部署的持续集成/持续交付管道(例如Fastlane、Jenkins、GitHub Actions、Xcode Cloud)的经验。
- 高级+(高级、资深、首席、杰出)工程师 - 您是一位强大的技术实践者,能够在理论和实际实施之间找到平衡,知道何时何地自主执行,同时仍然是一个团队合作者。
加分技能
这些不是必需的,但绝对会让您在其他候选人中脱颖而出:
- 在金融技术领域的经验,如支付、加密货币、入金、出金等。
- 全栈工程技能和在其他技术栈部分的灵活能力。
- 有与现代初创公司风格的Web技术栈(如Postgres、Redis等)合作的经验。