硬核干货——《中小企业 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:394651
用户头像

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

关注

评论

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

SSH远程连接命令执行没反应不报错问题解决(-bash: fork: retry: Resource temporarily unavailable.[资源暂时不可用])

山河已无恙

SSH Linxu 2月月更

专访 OpenKruise 负责人:现在的云原生应用自动化发展到什么程度了?

阿里巴巴云原生

阿里云 开源 云原生

给面试加点硬菜:延迟任务场景,该如何提高吞吐量和时效性!

小傅哥

小傅哥 架构设计 Redis 6.0 任务系统

教程直播第8期|一文详解 OceanBase 社区版生态工具 ODP & OCP

OceanBase 数据库

数据库 分布式 直播 OceanBase 开源

详细讲解mybatis的执行流程

编程江湖

mybatis

流量录制与回放在vivo的落地实践

vivo互联网技术

测试工具 回归测试 流量回放

大数据培训:在 flink 中使用 hive udf的原因分析

@零度

flink 大数据开发

DGIOT 工业物联网开源平台简介

dgiot

物联网 2月月更 2月日更 dgiot dgiot物联网

甜言蜜语生成器、定时问候邮件机…开源程序员为这个情人节付出太多

腾源会

开源

人人都是 Serverless 架构师 | 现代化 Web 应用开发实战

阿里巴巴云原生

阿里云 Serverless 云原生

计算机网络面试知识点

yuexin_tech

面试 计算机网络

剑指Offer——企业级项目中分层的含义与依据及多态的优势

No Silver Bullet

封装 offer 继承 多态 2月月更

Kotlin语法手册(三)

寻找生命中的美好

android kotlin 安卓

平安保险基于 SPI 机制的 RocketMQ 定制化应用

阿里巴巴云原生

阿里云 云原生 消息队列 开源云工具

美团动态线程池实践思路,开源了

yanhom

Java 线程池 动态调整线程池参数 动态线程池 美团线程池

阿里云容器服务差异化 SLO 混部技术实践

阿里巴巴云原生

阿里云 Kubernetes 云原生 混部技术

如何快速构建服务发现的高可用能力

阿里巴巴云原生

阿里云 开源 微服务 云原生

Spring Boot Serverless 实战系列 | 性能调优

阿里巴巴云原生

阿里云 Serverless 架构 云原生

为什么start方法不能重复调用?而run方法却可以?

王磊

Java 面试

虎啸春来!丰树电子与中联重科签署战略合作协议

联营汇聚

云原生落地大爆发,企业和开发者如何把握先机?

阿里巴巴云原生

阿里云 云原生 ACK ACK Anywhere

企业为什么要做应用多活?

阿里巴巴云原生

阿里云 云原生 容灾

《MySQL入门很轻松》第4章:数据表中能存放的数据类型

乌龟哥哥

数据库 2月月更

Linux系统编程-进程间通信(mmap内存映射)

DS小龙哥

2月月更 mmap内存映射

微信朋友圈高性能架构方案

Geek_36cc7c

DevOps进阶(三)走近 DevOps 工程师

No Silver Bullet

DevOps 敏捷 jenkins 2月月更

还没有表白神器?情人节来喽,快为心爱的她送上一份专属的礼物吧~

是Dream呀

Python 2月月更

花灯照 人笑颜|OceanBase祝大家工作生活都和元宵一样甜

OceanBase 数据库

数据库 分布式 开发者 OceanBase 开源 元宵

独家下载!阿里云云原生携 10+ 技术专家带来《云原生与云未来的新可能》

阿里巴巴云原生

阿里云 Kubernetes 云原生 电子书

国内唯一!阿里云容器服务进入 Forrester 领导者象限

阿里巴巴云原生

阿里云 云原生 容器平台

Go 语言Web开发很简单:使用模板将视图与逻辑分离

宇宙之一粟

Go 语言 Web应用开发 2月月更

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