为了能给公司招聘到合格的iOS架构师,所以花了几天时间整理了iOS架构师需要具备的能力,网上的有深度的知识还是太少了,架构师本身的存在就是因为业务工种拆分的需要而形成,所以在技术团队的定位会略有不同,技术水平、工作能力参差不齐,所以显得架构师的定位很模糊。我觉得架构师职责和能力差异模糊的原因和其他岗位是一样的:没有找准岗位的核心价值,对于架构师岗位的核心价值---发现软件发展和业务发展不匹配的已有和潜在问题,并通过自身能力和授权调用其他资源去解决问题。技术负责人可能没想清楚和架构师的边界在哪,更可能是架构师自己没想出自己的核心价值,所以导致架构师的在公司中定位的尴尬。希望这篇文章能给iOS同仁作为一个参考吧。
考察维度
我司招聘iOS架构师会从以下几个维度去考察:
- 1.工作经验
- 2.技术能力
- 3.业务能力
- 4.沟通能力
- 5.学习能力
- 6.工作态度、目标、团队合作
他们在考察中的权重占比是不一样的,我给公司定的考核中的权重占比如下表示,占比多少,这个可以根据团队规模来调整:
考察维度 | 权重占比 |
---|---|
工作经验 | 10% |
技术能力 | 50% |
业务能力 | 10% |
沟通能力 | 10% |
学习能力 | 10% |
工作态度、目标、团队合作 | 10% |
对于这个占比,我认为对我们公司对iOS架构师的要求的比较吻合的,我们架构师是为多个APP提供技术架构支撑的,所以工作经验对于我们还是蛮重要的,也算是一个考察的门槛吧。而我们公司作为母婴行业的老大,依然在高速发展,现在对技术的要求胜过任何时候,为能让技术支撑业务的发展,所以技术能力是我们最看中的能力,所以占比达到50%。
架构师的胜任力等级
架构师应该是技术细分领域的专家了,那还有像工程师的初中高级吗?我认为是没必要的,如果一个架构师还被成为初级架构师,感觉是对架构师的侮辱,比较架构师至少应该是资深开发工程师的成长来的,但根据能力表现的成熟度,可以分为架构师和资深架构师,这样划分的依据主要体现架构能力的熟练和深入程度上。
iOS架构师胜任力模型对照表
iOS架构师岗位胜任力模型 | |||||
---|---|---|---|---|---|
考察维度 | 细分项 | 考察点 | 考核占比 | 胜任 | 超越 |
工作经验 | 从事开发工作年限、iOS开发的工作年限、架构的工作年限 | 0.1 | 5年以上开发经验,3年以上iOS开发经验,1年架构设计经验 | 10年以上开发经验,5年以上iOS架构设计经验 | |
技术能力 | 1. iOS架构基本能力 | 考察对OC、swfit语言特性有深入理解 | 0.05 | 能清晰的表达出OC的这些特性的至少3点。 | 能清晰表达这5个OC的特性 |
1.清楚block的特性和使用场景 | |||||
2.清楚OC的Category设计目和使用场景 | |||||
3..OC的内存管理机制 | |||||
4.OC的动态性5.OC的书写规范 | |||||
考察对cocoa中的框架有深入使用情况 | 0.05 | 能清楚表达这4点知识细节的至少3点 | 能清晰表达4点所有的知识细节 | ||
1.掌握runtime框架并能描述runtime在项目中的使用场景、能解决的问题 | |||||
2.掌握多线程编程,对GCD、NSOperation、NSTread等有深入了解 | |||||
3.掌握iOS性能优化 、 LLDB断点调试 | |||||
4.其他框架,如foundation、Core Animation、Core Text等框架掌握可以作为加分项 | |||||
考试对iOS业界的主要框架和架构方案是否掌握 | 0.1 | 有深入学习过至少3个iOS业界的相关问题的架构设计、并清楚业界方案能解决的问题、存在的缺陷,以及使用场景局限等 | 有深入学习过至少5个iOS业界的相关问题的架构设计、并清楚业界方案能解决的问题、存在的缺陷,以及使用场景局限等 | ||
1.网络层的架构方案和框架设计 | |||||
2.数据持久化的架构方案和框架设计 | |||||
3.埋点架构方案和框架设计 | |||||
4.动态化方案和框架设计 | |||||
5.组件化方案和框架设计 | |||||
5.监控方案框架设计 | |||||
5.性能优化方案和框架设计 | |||||
6.其他架构方案和设计 | |||||
2.架构方案制定和设计实现能力 | 1.熟练掌握23种设计模式、算法和数据结构知识 | 0.15 | 基本掌握这三方面能力,能架构设计并让设计方案落地 | 精通这些能力,能设计优秀的架构方案,并在项目中顺利实施 | |
2.结合具体项目能提出并在需要时实现最佳架构方案、选择最合理的技术、确保扩展性和通用型 | |||||
3.在熟练使用架构设计工具和文档编写工具、其他生产力工具、脚本工具基础上,让大的设计方案,通过最小的实施路径使架构设计落地。 | |||||
3.技术把控能力 | 1.平衡团队技术能力和架构方案 | 0.15 | 能较好的平衡以上4点,能让项目架构方案在中远期在较少调整下支撑业务发展 | 能很好的平衡这4点,让项目架构方案能在中远期最小调整下支撑业务发展 | |
2.平衡项目发展阶段和技术远景 | |||||
3.清楚架构的方案的使用条件和限制的边界 | |||||
4.平衡开发难度、可维护性、可扩展性、易用性、稳定性、可读性等架构要点 | |||||
业务能力 | 1.快速掌握公司业务知识能力 | 0.1 | 能较为准确落地业务需求在iOS端架构的实现。 | 能准确落地业务需求在iOS端架构的实现。并帮助业务发展 | |
2.具备准确清楚业务需求的识别和拆分的能力 | |||||
3.具备业务需求实现在iOS端架构准确落地实现的能力 | |||||
沟通能力 | 能对业务、对业务工程师、leader等对象,通过倾听、清晰表达、各种沟通反馈技能、清晰传递架构、实现iOS项目最大化业务发展能力 | 0.1 | 能比较好和团队合作,让架构得以在周围同事支持的环境下落地,支撑业务发展 | 能很好地和团队合作,让架构得以在周围同事支持的环境下落地,支撑业务发展 | |
学习能力 | 1.关注iOS系统发展的最新动态 | 0.1 | 能较为充分地掌握iOS的发展、并根据业务需要调整架构实现、帮助团队了解iOS知识 | 充分地掌握iOS的发展、并根据业务需要调整架构实现、帮助团队掌握iOS最新和底层知识 | |
2.参与iOS业界的架构方面的讨论 | |||||
3.挖掘iOS底层知识和架构实现技术 | |||||
工作态度、目标、团队合作 | 1.与他人配合、利用不同的技能和经验完成工作任务的能力 | 0.1 | 能较为出色地处理好工作、目标和团队的关系 | 能很好的处理好工作、目标、团队的关系 | |
2.有较为清楚的个人职业发展规划并很好的和公司发展规划结合 | |||||
3.能自觉地付出、并顺利甚至超前完成工作、自觉地发现工作中问题并解决和优化工作,提高工作业绩和效率 |
网友评论