我从事移动开发始于2011年春节后。这一年iOS和Android正式登上舞台,使得塞班和WinPhone进入了维护阶段,而Java预装系统则直接萎缩。身在移动开发最前线,直观的感受就是这5个平台的开发团队人数变化,而到了2013年,就只剩下iOS和Android了。

2012年Q4我开始了写博客,也正好在2013年的博文里提到,iOS和Android程序员终会像Windows程序员那样像个“标配”般“平凡”。就让我姑且认为大厂们取消大小周加班算是个标志吧,这一天来了。

虽然我很早就渗透去了非客户端开发甚至非程序员领域,但毕竟是自己经历过的最大浪潮,一直还关注着移动开发动态。稍微总结一下,以便今后更好地造浪吧。

最早那会,“所有人都是半路出家的”,iOS和Android程序员真是供不应求。那时候官方文档都来不及翻译,Objective-C的学习资料只有英文的官方文档。英语厉害的人,有非常大的优势,很容易拔尖。这都是时代给予的机会,而后继者是H5、云计算、大数据、AI、区块链等。

移动开发技术的发展,由硬件、产品设计、商业模式推动,经历了几个主题阶段:

  1. 应用更多的硬件和系统功能。触屏——会说话的汤姆猫;GPS——各种LBS服务;陀螺仪——神庙逃亡、赛车;通讯录——微信。
  2. 动画框架的使用,炫酷的UI。确实有一小段时间,只要UI交互设计有创意就能上应用商店榜单。
  3. H5结合,跨平台。由此延伸了PhoneGap/Codorva、React Native/Weex,而小程序是最大赢家。由于不少Windows的程序员转行,加上安全的考虑,C++至今仍是Model层跨平台的首选。
  4. 平台化,组件化,依赖管理的工具化。大平台的商业爆发极大地加速了代码量的膨胀,架构设计成为突出的问题,组件化成了救星。
  5. 服务化,跨应用调用接口化。社交分享、移动支付是最典型的例子。
  6. 性能优化,降低崩溃率。更多人使用反编译了解iOS系统底层以及学习Android系统源码。针对开发者的平台大量涌现。
  7. 多媒体应用:美颜,音视频,直播
  8. AR/VR技术的应用
  9. 新编程语言的应用和成熟,Swift和Kotlin。还有Flutter依赖的Dart。

移动开发程序员的鼎盛时代,我觉得从2012年起只持续了5年,随着移动互联网红利消失而结束了。这个过程的途中,开源社区的兴起使得移动互联网比传统互联网更快踏入成熟阶段。大数据和AI的介入,使得移动开发能数据驱动,也减少了人的参与。市场的自动调节能力,以及反加班、拒绝底层搬砖等风潮,使不热爱这个职业的人开始转岗转行。衍生岗位,如销售、运营、市场调研等有很多,也分流了毕业生选择成为程序员的意向。移动开发者群体进入低速增长期后,水平和待遇也开始拉大差距,大厂对有经验的优秀人才开价极高。这一现象的根源是很少高速增长的项目锻炼机会了,只有从零开始一起攀向顶峰的人最能把知识技能融会贯通。

2017年后入行的程序员,如何创富?首先要知道,走技术路线的话已经没有捷径了。深到系统原理,宽到掌握50%以上的框架。然后跨平台,搞全栈,提升工程效率。如果求知欲强,能促使你去了解一项技术的更多内幕和细节,那就尽量去做吧。磨刀不误砍柴工,当你能把一种技术掌握透设计思想,对别的技术栈肯定都很容易理解并掌握。多学几门技能后同样能融会贯通,最后你会发现所有的技术栈是连成一片的,量变引起的质量会产生一种开启新世界大门的感觉。这种成就感会很幸福。如果写代码能让你进入心流,大可不必盯着财富而工作。

“用输出倒逼输入”是一种高效的学习方法,做内部培训讲师、写博客或视频授课都行。用新时代的话语再阐述一遍技术原理,不等于重新发明轮子。时代背景不同之下,教学方式和内容都要顺应改变。然后,在职业生涯内切换几次大公司和小公司,更能理解“学习是为了应用”。掌握的知识量越多,越不想为了学而学。因为不断实践才是成就感和财富的来源。如果能持续实践,一直有收获而没遇到瓶颈,以致没有时间做总结,那才是最令人喜闻乐见的。时代的浪潮会使得技术重点不一样,持续学习来等待硬件的变更和使用硬件的创意产生,这是最可能“飞黄腾达”的途径。

当移动开发者的“实践”想法足够强烈,很可能会想转岗产品经理,然后成为业务负责人,最后就是CEO。(后端开发者比较容易转大数据和分析师,贴近运营。)毕竟代码是死的,人是活的。活用技术,应用创意,才让程序员有发挥的空间,这个恰好就是让程序员又爱又恨的产品经理的职责。技术是为需求服务的。需求来自于业务。技术的价值体现在应用于什么领域。移动互联网改变世界最突出的点是信息传播的媒介,所以这场信息革命都围绕着“交流和传播”。有趣图文、LBS、熟人社交、微博、音视频数字化、陌生人社交、弹幕、信息流、阅读观影、点评、团购、共享经济、短视频、算法推荐、直播、知识付费等等,这十年来这么多围绕着信息内容方向的创新在持续面世,我也同样相信一句话:未来CEO的核心角色是CCO,信息泛滥的时代又会回归讲究个性化。当然,虽然是要和信息打交道,但有些关键信息的传播媒介是人,所以如果你不喜欢跟人打交道,那么转岗产品或多或少会陷入被动。

信息的易获取性,壮大了互联网用户群体,使得无论是纯线上还是线下行业触网,在今天依然存在互联网创业机会。我以前一直很好奇做Windows开发的前辈们后来在干嘛。现在我知道,toB业务还有大量使用Windows的地方,对性能要求高的系统依然需要C++。而且没转行转岗的还有往海外事业发展这个选项。中国的互联网已经走向世界,移动开发还有长路要走,期待一同见证星辰大海~

总结移动开发入行十周年相关推荐

  1. wps 模拟分析 规划求解_入行十年,我是如何解决模流分析准确性问题的

    代代相传的困惑 越来越多的供应商在新项目招标时就要求提供完整的模流分析结果,同时我在和业内同行进行技术交流的时候,不少人表示模流分析确实可以提升模具设计能力.但从周围听到的更多声音是:我对自己做的模流 ...

  2. java开发入行真功夫pdf_Java开发入行真功夫

    本书当前实时库存为: 本 书名:JAVA开发入行真功夫 ISBN:9787121082191 出版社:电子工业出版社 作者:陈冈 陈智洁 宋泽源 页数:521 出版日期:2009年03月 参考重量:1 ...

  3. PHP开发入行真功夫(含DVD光盘1张)

    查看书籍详细信息: PHP开发入行真功夫(含DVD光盘1张) 编辑推荐 囊括10余种技术的企业面试题库,8项数十种实用资料组成的求职指南,实训演练.习题解答与完整实例代码. 专家在线指导.实时答疑,面 ...

  4. 面试官谈游戏开发入行--选择

    恩,选了个颇"标题"的题目,和以往的正常写写文章不太一样,这个系列确实希望可以让更多的有意去开发游戏学生看见. 笔者在腾讯北极光工作室群工作,也做客户端通道面试有段时间了,上个月刚 ...

  5. 面试官谈游戏开发入行--技术准备

    [前言:笔者在腾讯北极光工作室群工作,也做客户端通道面试有段时间了,希望写一些能够帮助有志于开发游戏的同学能够更好地入行.] 接上一篇文章,当我们选择进入行业,并尽早开始去做,接下来是一系列的准备. ...

  6. 《PHP开发入行真功夫》

    这是一本完全适合PHP初级入门并提高的参考资料.全书由浅入深.循序渐进,系统全面地介绍了PHP 5的基础知识点,以及其在Web应用程序开发方面的相关技术.通过每章细致的理论讲解及大量的配套实例,使读者 ...

  7. 入行十年,总结出了数据仓库、数据集市、数据库的精华,你一定不能错过

    阅读本文前,请先回答下面两个问题: 1. 数据库和数据仓库有什么区别? 2. 某大公司Hadoop Hive里的关系表不完全满足完整/参照性约束,也不完全满足范式要求,甚至第一范式都不满足,这种情况正 ...

  8. 用MFC上位机开发入行经历

      原来严格来说是干杂活的,会点PLC.单片机.C语言.CAD制图,流水线装配工人,就是小公司里干杂活.但是我接触的种类比较多什么西门子.三菱欧姆龙.施耐德略有接触,AT89C51\STC89C52\ ...

  9. 开发转测试没人要_入行或转行软件测试(测试开发)要怎么学

    在2008年刚刚进入这个行业时,我对于要学什么东西,是迷茫的.记得我在08年的时候,入职的公司给我们这批新人做了培训.培训中介绍了很多概念,告诉我们质量很重要,软件测试前景很好,还教了我们很多软件测试 ...

  10. InfoQ十周年:不忘初心,继续前行

    我们都知道:软件正在改变世界,也已经看到了在加快这种变化时,于软件世界中我们的影响力.在这种热情下,10年前我们带着一些不寻常的信念与情怀创建了InfoQ: \\ \\t 我们相信:这个社区需要的内容 ...

最新文章

  1. DataGridView的DataGridViewComboBoxColumn列点击一次
  2. 高精度乘法 c语言,很大的数相乘怎么办?
  3. PurchaseOrder创建成功,然而...
  4. java调用一个方法后怎么继续执行不等待该方法的返回_Java面试题大全2020版(二)...
  5. Linux学习笔记-最基础的常用shell命令
  6. fiddler汉化版可以改成英文吗_可以把推拉门改成平开窗吗?推拉门和平开窗哪个更好?...
  7. 体系结构方案 -ETL 中间件
  8. Google 视频编码格式 VP9 究竟厉害在哪里
  9. Tplink客户端设置
  10. android动态加载assets,从android_assets文件夹动态加载dll
  11. CRNN论文翻译——中文版
  12. 【密码学基础】01 密码学基本概念
  13. 如何在线重装win7系统,一起来看看
  14. Django中的Model(字段) - 第五轻柔的code - 博客园
  15. Apache安装和配置详细
  16. cin和cout的使用
  17. flink 执行计划、数据传输策略
  18. 域名访问和ip访问区别
  19. ECMWF气象数据(ERA Interim和ERA 5)下载(1)
  20. Qt中QColor用法

热门文章

  1. 上海软件工程师工资待遇调查
  2. 修改bios密码 服务器,为BIOS设置密码让我们的系统更加安全
  3. 怎么查看电脑开关机时间记录
  4. 335游戏C/S登录器,补丁更新、自动登录、信息手册
  5. php pcre 什么用,PHP—PCRE正则表达式性能 - pcre
  6. 用Python从《诗经》中取平仄相对的名字
  7. apache mediawiki 安装_mediawiki安装使用
  8. Diverse Team(暴力)
  9. 双机互联攻略之超强、完全篇!
  10. PS制作logo图片