AI 时代下组织如何快速变革?如何提升全员 AI 技能?戳> 了解详情
写点什么

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

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

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

关注

评论

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

微信小程序的自动化测试框架

陈磊@Criss

Docker的Image

陈磊@Criss

Python的Twisted事件驱动的网络引擎框架

陈磊@Criss

Java的Override和Overload

陈磊@Criss

聊聊微前端的原理和实践

vivo互联网技术

大前端

企业微信群消息机器人发送开源项目

陈磊@Criss

如何选择一个性能测试工具(LoadRunner和Locust的一次对比)

陈磊@Criss

国内程序员最容易发音错误的单词集合

程序员生活志

程序员 经验总结

一文道尽“表驱动法”

架构精进之路

编码 表驱动法

Git删除仓库中的文件和文件夹

陈磊@Criss

优质单元测试的十大标准,你有遵循吗?

禅道项目管理

项目管理 单元测试 自动化测试

分布式定时任务调度框架实践

vivo互联网技术

大数据 分布式 框架

最受欢迎的男友职业排行榜Top10

程序员生活志

程序员

好玩又好用,一款轻松就可以实现音视频的Demo

anyRTC开发者

音视频 移动互联网 RTC anyRTC Demo

华章25周年活动——《迁移学习》限量5折!

华章IT

PIP的报错Could not fetch URL https://pypi.org/

陈磊@Criss

人人都可以掌握的正交试验设计测试用例方法

陈磊@Criss

告别下载速度慢!Docker配置阿里云镜像仓库

程序员的时光

Docker 阿里云

Kafka实战宝典:一文带解决Kafka常见故障处理

数据社

kafka 监控

你还应该知道的哈希冲突解决策略

vivo互联网技术

哈希冲突

Git使用教程:最详细、最傻瓜、最浅显、真正手把手教!

程序员生活志

git

jmeter 执行python脚本

陈磊@Criss

pipreqs:生成python项目的requirements

陈磊@Criss

Docker 容器连接

陈磊@Criss

Nginx的容器部署

陈磊@Criss

Docker的Image

陈磊@Criss

该了解一波了!零基础入门Nginx

程序员的时光

nginx Docker

DockerFile 详解

陈磊@Criss

快速掌握的测试用例优先级划分方法

陈磊@Criss

Kafka实战宝典:如何跨机房传输数据

数据社

大数据 kafka 跨机房

国家央行数字货币的优势与挑战

CECBC

数字货币 央行 商业银行

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