写点什么

是时候开始招募移动架构师了

  • 2015-12-08
  • 本文字数:2662 字

    阅读完需:约 9 分钟

短短几年时间,我们已经走进了一个“移动应用决定一切”的时代。移动应用的创意、功能、质量的好坏,决定着用户口碑、留存率等关键指标,能够左右创业公司的成败,也对行业竞争和营销效果有着重大影响。

在这种情况下,移动开发变得至关重要,每一个公司都希望招到更多更好的移动开发者,它们需要一个更好的职位来吸引和留住真正的资深人士。另外,移动开发领域技术更新换代很快,随着设备能力的提升,技术也越来越复杂,需要整体的掌控者来决定移动客户端的架构和技术选型,市场呼唤着新的工种降临,而我们将它称为移动架构师。

为什么要有移动架构师

从开发年限的角度来看,iPhone 初代发布至今已经超过 8 年时间,即使不算功能机时代,我们也有超过 5 年经验的移动开发者,已经满足了大部分设有架构师的开发领域的年限要求。当然,这只是必要而非充分条件,要回答为什么要有移动架构师,我们可以从两个角度来看,一个是移动开发的发展,另一个是移动开发者。

越趋复杂的移动开发

如果你今天要开发一个移动应用,相关的技术选择会让你眼花缭乱:开发 iOS 应用,从语言上就有 Objective-C 和 Swift 可以选择;开发 Android 应用,使用 MVC 还是 MVVM;如果同时开发两个平台,是否要尝试 React Native;甚至到底有没有必要开发原生应用,还是用 HTML5 技术解决?

这些只是移动开发技术选型很表面的一部分,深入到细节,你会发现需要做更多的选择,需要了解更多的技术。要掌握它们,需要长时间的学习和实践。

之所以出现这种情况,是因为随着移动设备能力的提高,以前很多无法使用的技术现在有了用武之地,而苹果和谷歌在很多地方并没有标准化,反而在推出更多的技术,比如 Swift,比如近来的 Flutter (前 Sky 框架),开发者可以灵活使用多种开发手段来实现想法。但对于开发团队来说,过于灵活有时候反而是有害的,团队成员需要遵循相同的规范,谨慎的选择技术,才能进行高效的协同开发。

对于这种情况,目前有些团队采用模块式开发,除了一些规范以外,自行决定、或者经过商讨决定各自负责的部分该使用何种技术。这在一定程度上能解决问题,但是这种模式会遇到单点问题,一旦某个模块由于意外无法及时更新,会拖慢整个项目的速度。因此,移动开发团队需要有确定整个架构的技术决策者。

无处安放的移动开发者

移动开发人员越来越吃香,初出茅庐的新手就能够获得不错的薪酬,而有 2-3 年经验的移动开发者更是抢手的香饽饽,其薪酬直逼其它开发领域的中高端水平。但有一部分移动开发者却很焦虑,他们是那些拥有超过 4、5 年经验的资深开发者。

他们焦虑的来源,来自于移动技术的快速演变和后辈开发者的追赶:如 Swift 的出现,将 iOS 开发者拉到了同一起跑线,开发者的经验虽然仍然有用,但也大大贬值;90 后、甚至 95 后也开始进入移动开发领域,他们的精力更加旺盛,对于新技术接受更快,面对优秀的年轻开发者,自然会涌起落伍的恐慌和焦虑。

面对这种情况,有的资深移动开发者转向其它领域,比如后端开发,因为这是一个经验可以更好发挥价值的领域;有的去钻研 Android 源码、Objective-C Runtime,希望对技术了解得更深入从而让自己难以替代;还有的干脆转向技术管理,从此渐渐挥别技术,走上另外一条职业路线。

资深的开发者,有家庭、房贷等的拖累,却还要和年轻人比谁的代码写得更多更快,这是很悲哀的事情,也难怪他们做出这样的选择。给他们一个更好的职位,打消他们的不安,让他们的经验更好的发挥价值,是公司的管理团队必须做的事情。

移动架构师能带来什么

移动架构师并不是笔者生造出来的,在国外,Mobile Architect 是一个受认可的职位,在国内,阿里系设有移动端架构师,手机百度也设有类似的系统架构师,不过相比于国外中小型公司招募移动架构师,国内的中小型公司还没有这个意识。

类比其它领域的架构师,架构师首先要做的两件事是架构设计和技术选型,如果从时间维度来考虑则是:

  • 设计当前架构。包括新技术方案的制定或 review。
  • 改进过去架构。根据业务的发展或者技术债务的原因,重构当前技术方案并且推进实施。
  • 前瞻未来架构。技术方案调研和分析,随时准备好对新技术的使用。

除此之外,移动架构师能为公司和团队带来的价值还有:

  • 知识传承和分享。架构师需要让团队成员理解自己的架构设计,了解各自需要负责的部分,这可以帮助团队更加快速的成长,同时将知识沉淀起来,降低团队减员带来的伤害。
  • 技术方案的协调和推进。架构师要保证自己设计的方案能顺利执行,因此需要对此进行关注。
  • 人员招聘。架构师需要将技术方案划分到岗位,如果没有相应的人来做,那么需要招募到合适的人。
  • 解决技术难题。这条应该是技术专家的职责,但在移动开发里,资深开发者多半会深入钻研某一个领域,成为技术专家的可能性很大。

除了对公司带来的价值,移动架构师对开发者本人来说,可以从重复编码的体力劳动中抽离出来,从更高的层面来思考技术,对于他的技术能力提升也很有帮助。另外,这也是他除了转其它开发岗、转管理的另一条职业晋升路线。这条路线将是技术路线,可以贯穿终身。

比如 Delphi、C#之父 Anders Hejlsberg 现在的职位就是 C#和 TypeScript 的首席架构师,对于终身编程的他来说,这是一个非常适合的头衔。

技术负责人还是移动架构师

有人也许会说,已经有移动技术负责人了,还要移动架构师做什么。在小团队里面,也许技术负责人不仅要管团队、带新人,还是主力编码人员,在这种团队也许并不需要架构师,但如果他们能招到另一位资深的移动开发者,让他来担任架构师,不仅能让他安顿下来,相信也能大大减轻技术负责人身上的重担。

另外,技术负责人的晋升路线是移动技术负责人 - 移动研发总监 / 技术经理 - 项目经理的一条管理路线,即使在当前仍然需要和代码打交道,在未来也必然会越来越减少这方面的工作,所以,技术负责人和移动架构师从长期来看并不冲突。技术负责人一般只有一个,架构师可以关注不同的领域,在大型团队里可以有多个。

所以,无论是大公司还是中小团队,如果有余力,还是需要招募移动架构师。

未能解决的问题

当然,由于笔者调研所限,并不能完整的讲清楚移动架构师的方方面面,比如下面的问题:

  • 移动架构师有没有一个公认的职位描述?
  • 移动架构师是否还要日常编码,如果需要,比例是多少?
  • 移动架构师的成长路线是什么样的?
  • 移动架构师是否需要学习前端、后端开发技术?
  • 移动架构师是否需要设计整个 C/S 架构……

对于这些问题,以及文章没有提到的问题,欢迎读者在下方评论或来信探讨,另外,我们也将在 ArchSummit 北京 2015 全球架构师峰会上举行移动架构师闭门会议,邀请国内资深的一线移动开发者,来共同探讨这些问题。

2015-12-08 01:394775
用户头像

发布了 164 篇内容, 共 118.5 次阅读, 收获喜欢 392 次。

关注

评论

发布
暂无评论
发现更多内容

区块链系统面临哪些风险以及有哪些防范措施

CECBC

区块链

云上看警博会黑科技,得益于华为云打造的“云之盾”

脑极体

【经验分享】打破CMDB认知误区,掌握建设关键!

嘉为蓝鲸

运维 运维自动化 数据可视化 CMDB 配置信息

优秀商业可视化大屏(BI)设计演示

Marilyn

UI 商业智能

阿里技术专家熬夜一个月肛出内部“微服务学习笔记”,太完美了

小Q

Java 学习 编程 面试 微服务

架构师训练营 - 第 10 周课后作业(1 期)

Pudding

基于区块链的区域股权市场创新试点

CECBC

区块链

写在日更之前,持续书写,见证文字的力量

boshi

随笔 随笔杂谈

架构师训练营第一期-第十周课后作业

卖猪肉的大叔

极客大学架构师训练营

anyRTC 11月SDK更新

anyRTC开发者

flutter uni-app WebRTC RTC sdk

京东成立探索研究院,打造产业数智化首个源头性科技高地; AI 论文:让机器像人类一样感知三维真实世界

京东科技开发者

人工智能 云计算

架构师训练营 - 第 11 周课后作业(1 期)

Pudding

软件架构指南

码界行者

软件架构

盘点c++几种常见的设计模式及具体实现

linux大本营

c++ Linux 后台开发

一个神奇的bug:OOM?优雅终止线程?系统内存占用较高?

华为云开发者联盟

sql jdk OOM

面试官问我:Object o = new Object() 占用了多少个字节?

moon聊技术

JVM Java虚拟机 JVM虚拟机原理

1. 揭秘Spring类型转换 - 框架设计的基石

YourBatman

Spring Framework 类型转换 Converter

完了!这57道面试题(美团、BAT、携程),我咋一个都不会?

比伯

Java 程序员 架构 面试 计算机

京东11.11大促背后,那些系统架构经历了些什么?

京东科技开发者

数据库 云计算 云服务

阿里云在应用扩缩容下遇到的挑战与选型思考

阿里巴巴云原生

阿里云 Kubernetes 容器 云原生

划重点!DWS开发的五大要点

华为云开发者联盟

数据库 sql DWS

LeetCode题解:455. 分发饼干,贪心for循环,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

金融科技带来套利?专家认为监管应关注平台垄断、权力滥用等问题

CECBC

金融科技

40 张图带你搞懂 TCP 和 UDP

编程 程序员 大前端 后端 网络

消防物联网,为逆行英雄守住第一道生命线

华为云开发者联盟

物联网 控制 消防

架构训练营 - 第10周课后作业 - 学习总结

Pudding

shell脚本的使用该熟练起来了,你说呢?(篇二)

良知犹存

Shell

小白也能看懂!教你如何快速搭建实用的爬虫管理平台

华为云开发者联盟

Python Docker jenkins

Jenkins使用ansible时出现!unreachable错误

Griffenliu

架构师训练营第一期-第十周学习总结

卖猪肉的大叔

极客大学架构师训练营

【Linux开发】编写属于你的第一个Linux内核模块

程序员小灰

c++ Linux 后台开发 架构师 服务器开发

是时候开始招募移动架构师了_移动_徐川_InfoQ精选文章