写点什么

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

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

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

关注

评论

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

美团二面:聊聊ConcurrentHashMap的存储流程

Java你猿哥

Java 源码 ssm ConcurrentHashMap 红黑树

斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

股市老人

Turbo Boost Switcher Pro for mac(cpu温度监测工具) 2.10.2

真大的脸盆

Mac Mac 软件 CPU温度监测工具

5个编写高效Makefile文件的最佳实践

小万哥

c++ Linux 程序员 面试 后端

Cloud Studio 高阶玩家:强大的 YAML 模板

CODING DevOps

Midjourney|文心一格 Prompt:完整参数列表、风格汇总、文生图词典合集

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

内部消息!阿里首次10亿级并发系统设计文档,Github都为之低头?

Java你猿哥

架构 ssm 高并发 并发系统设计 并发系统

阿里P8整理的《百亿级并发系统设计》实战手册,实在是太香了

程序知音

Java 高并发 java架构 Java进阶 后端技术

从源码分析可重入锁(ReentrantLock)

做梦都在改BUG

Java 源码 多线程 ReentrantLock

低代码实现探索(五十八)低代码平台

零道云-混合式低代码平台

由斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

西柚子

双模齐下,提质增效:CODING 携手知微共创 BizDevOps 体系新篇章

CODING DevOps

HashMap 底层是如何实现的?

做梦都在改BUG

Java hashmap

求爷爷告奶奶,阿里大佬才甩出这份Spark+Hadoop+中台实战pdf

程序知音

大数据 hadoop spark 后端技术

如何让 300 万程序员爱上 CODING?

CODING DevOps

Python潮流周刊#2:Rust 让 Python 再次伟大

Python猫

Python

Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数、各版本差异、官方提供常见问题

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

真香!阿里最新出品Java面试核心讲(终极版),Github已星标50K

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

小白白也能学会的 PyQt 教程 —— 图像类及图像相关基础类介绍

繁依Fanyi

Python PyQt

深入理解 ThreadLocal:原理及源码解读

Java你猿哥

Java 源码 多线程 ssm ThreadLocal

熬了一个月肝出这份32W字Java面试手册,在Github标星31K+

程序知音

Java java面试 后端技术 Java八股文 Java面试题

专精特新 ︱ 腾讯云 CODING 助力消费电子类企业高速发展期的研运一体化

CODING DevOps

硬核!阿里出品2023版Java架构师面试指南,涵盖Java所有核心技能

做梦都在改BUG

Java java面试 Java八股文 Java面试题 Java面试八股文

AIGC背后的技术分析 | 机器学习中的卷积神经网络

TiAmo

卷积神经网络 AIGC

太猛了!Github大佬那白嫖的分布式进阶宝典,啃完感觉能吊锤面试官

Java你猿哥

Java 架构 软件开发 ssm 架构设计

文心一言 VS 讯飞星火 VS chatgpt (19)-- go语言的slice和rust语言的Vec的扩容流程是什么?

福大大架构师每日一题

福大大 文心一言 讯飞星火

使用Go语言实现工厂模式的三种方式

Jack

吃透阿里2023版Java性能优化小册后,我让公司系统性能提升了200%

做梦都在改BUG

Java 性能优化 性能调优

Django笔记三十三之缓存操作

Hunter熊

Python redis django 缓存

2023-05-20:go语言的slice和rust语言的Vec的扩容流程是什么?

福大大架构师每日一题

golang rust 福大大

由斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

鳄鱼视界

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