NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

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

  • 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:394177
用户头像

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

关注

评论

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

微服务架构

不在调上

低代码平台会让程序员失业?测评了5个工具,谁能让效率提高N倍?

代码制造者

编程 编程语言 低代码 零代码 测评

当我们谈注册中心时谈什么?

捉虫大师

zookeeper nacos 注册中心

week 10

Geek_2e7dd7

十二张图搞懂浏览器安全——(同源策略、XSS、CSRF、跨域、HTTPS、安全沙箱等知识点)

执鸢者

https 浏览器安全 同源策略 XSS 跨域

为什么 90 后一言不合就跳槽?

非著名程序员

程序员 个人成长 职业成长 延迟满足感 即时反馈

9个常用ES6特性归纳(一般用这些就够了)

华为云开发者联盟

Java 程序员 编程语言 ES6 编程效率

【漫画】最近,老王又双叒get了CDN的新技能—可编程化敏捷开发

阿里云Edge Plus

CDN

煌煌中原 化鲲为鹏

脑极体

你是否真的懂数组?

架构师修行之路

数组 数据结构与算法

【权限系统设计】ACL, DAC, MAC, RBAC, ABAC模型的不同应用场景

小隐乐乐

腾讯SaaS千帆对渠道的态度——合作共赢的诚意

人称T客

主权投资基金或有助于实现可持续发展目标

CECBC

联盟链落地与激励机制

CECBC

贵州:“区块链+”促经济转型产业升级

CECBC

超英文邮件50%!Flink 中文邮件列表必须有姓名

Apache Flink

flink

英特尔推出“OpenVINO领航者联盟”,携手DFRobot推进AI商业落地新探

最新动态

计算机网络基础(十七)---传输层-TCP的可靠传输

书旅

TCP 计算机网络 网络协议 计算机基础 TCP/IP

F5G的星光闪烁,为工业而明,向未来而歌

脑极体

论做AI芯片的正确姿势

flow

Github+docsify零成本轻松打造在线文档网站

Java全栈封神

Java GitHub 全栈 文档 docsigy

支持 100 种语言的 Canva 是怎么做本地化管理的?

葛仲君

产品经理 本地化 产品本地化 国际化

LeetCode题解:21. 合并两个有序链表,迭代(优化),JavaScript,详细注释

Lee Chen

大前端 LeetCode

week 10

Geek_2e7dd7

2.2.2 类反射场景与使用 -《SSM深入解析与项目实战》

谙忆

数据库外键

will

数据库 性能 外键

MySQL“被动”性能优化汇总!

王磊

MySQL

LeetCode题解:21. 合并两个有序链表,递归,JavaScript,详细注释

Lee Chen

大前端 LeetCode

libuv 异步网络编程之 TCP helloworld

Huayra

网络编程 libuv

十五张图带你彻底搞懂从URL到页面展示发生的故事

执鸢者

大前端 浏览器 页面展示

DT时代释放金融数据价值,驱动金融商业裂变

华为云开发者联盟

金融科技 华为云 modelarts 数据价值 用户细分

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