挨踢部落故事汇(20):Android程序员的十大转型之路

玖哥是一个来自东北的Android攻城狮,如今定居被誉为“大湖名城,创(chuan)新(xiao)高地”的合肥。知识面极广,不只普遍涉猎IT相关知识,还热爱文学,性格幽默,被誉为“会搞Android的段子手”。他仍是一个藏书人士,拥有汗牛充栋的IT书籍,并且每本书都认真阅读过,从不拿书当摆设。程序员

玖哥Android攻城狮

玖哥·Android攻城狮小程序

先说说Android程序员不可能转型的几个方向,如下四个不靠谱方向的靠谱性递减:微信小程序

  • 首先不会转型iOS,iOS和Android工程师的工做内容都是大同小异的。安全

  • 其次不会转型Windows Phone,好多Andr oid程序员就是受不了产品经理唠叨:“像QQ客户端那样作成和iOS同样”才转型的,怎么会转型比Android还难作成和iOS同样的WP?服务器

  • 再次不会转型Windows和MacOS等桌面软件,桌面开发周期长、难度大、升级不易,这是一个已经接近穷途末路的夕阳产业。微信

  • 最后不会开JavaME或者Symbian的历史倒车,除非他有本事让每一个用户都买(就一个“买”字,同时包含“想买”和“买获得”的意思)停产多年的机型。app

玖哥观察现在的技术形势,并亲身探索了一个Android程序员转型的十个技术方向的可行性:框架

一、Android病毒和恶意应用运维

最近肆虐全世界的WannaCry让安全成了IT圈最热的话题,开发腻了善意应用的Android工程师最便捷的转型方向就是开发Android病毒和恶意应用。在4.x时代对Android对敏感权限还不是很敏感的时候,玖哥就研究过给肉鸡伪造短信记录和让肉鸡给通信录里全部(或特定)联系人发送短信的病毒。去年还研究过窃取友商App推送内容、强杀友商App进程、卸载友商App甚至让友商App被卸载后就不再能在这台肉鸡上安装的恶意应用(或应用里的恶意功能)。ide

转型建议:此外锁定肉鸡里的重要文件勒索用户(Android上的WannaCry?)和窃取肉鸡用户的支付密码的实如今技术上也像强奸8岁女童同样简单,只不过过后逍遥法外很难。这个转型方向只适合拿本身的手机当肉鸡玩玩,千万不要用这些技术赚钱。

Android病毒和恶意应用

二、SDK

开发SDK本质上仍然在为Android应用开发软件,只是不直接开发Android应用。

每一个Android程序员工做几年后都积累了属于本身的或大或小的类库,好比封装好的LogUtils和ToastUtils等;也都或多或少研究过经常使用开源框架的底层原理,好比了解Picasso和EventBus等;还应该对不开源的第三方服务有本身简单的二次封装,好比玖哥就封装了一键实现支付宝和微信支付的moudle(免费的Ping++?)。

转型建议:尽管看见本身的连接出如今无数Android应用的Gradle文件的compile后面,开发了无数软件的一部分的成就感不会比开发完整的软件差。可是几乎没有老板会为了支持你开发开源软件发你工资。

三、JavaEE

Android程序员转型Java在基础知识方面是没什么难度的,毕竟语言相通,特性类似。同时每一个Android程序员在大学时J2EE课程学得都不会不好,不过有些知识是该忘掉的,好比Hibernate已经落后于时代了,SpringMVC的全面使用才是Java后台的大势所趋。

转型建议:建议不想天天改UI的刚入行不久的Android工程师转型,玖哥有好几个学弟就是参加工做后从Android转型Java的,他们过得都不错。不少工做年限较长的Android工程师原本就是JavaEE转型来的,就别转回去了。

四、手游

首先考虑不放弃Java语言和Android开发习惯的状况:最合适的就是能把游戏view直接插入普通layout里的AndEngine,前几年大红大紫的Flappy Bird就是用它开发的。AndEngine的开发方式和Android别无二致,且有丰富的开源demo。不过AndEngine没有官方文档,理论学习上有必定难度。玖哥用AndEngine开发了毕业设计,参加工做后也用AndEngine得到了几个奖,他珍藏着一本AndEngine的非官方文档《Android游戏开发实践指南》(全新未拆封),期待着有一天能回到2014年把它送给那个买不起它的毕业生。

Android游戏开发

提到了AndEngine就不得不提国产AndEngine——OGEngine,它是基于AndEngine衍生的游戏引擎,有详细的纯中文文档和说汉语的技术支持杨城(笔名:小城),极适合开发Android TV游戏。OGEngine目前已中止更新,这个国产游戏引擎的悲剧在于推出时间太早,但愿Android TV普及的时候卷土重来的OGEngine能让中国在游戏引擎方面领跑全世界。

LibGDX是一个跨平台的游戏开发框架,一样使用Java做为开发语言,前文所说的AndEngine就是基于LiBGDX实现的。LibGDX最大的优势就是极强的兼容性,不只兼容Android和iOS,还兼容Windows、Linux、Max OS X等桌面系统。极强的兼容性还为开发提供了便利——没必要打开Android模拟器,直接用电脑debug你的应用。在LibGDX和Android之间相互转型都很容易,知名的Android专家宋志辉、吴佳俊等都是从LibGDX转型Android的。

若是不要Java语言,那就有Cosos2d-x可供选择。《Cocos2d-x游戏开发实战精解》的做者欧桐桐(笔名:OTT)认为Android程序员通常对面向对象的知识掌握的比较全面,上手Cosos2d-x比较容易,而且Cosos2d-x是中国人维护的,文档全、资源多、教程多。OTT在得知玖哥是和他同样的藏书人士后还特意赠送一本他的大做鼓励玖哥。

Cocos2d-x游戏开发实战精解

转型建议:作好心理准备,国内手游行业比普通的移动互联网行业加班更疯狂,建议刚入行没多久的Android工程师为了加班费转型,不建议30岁以上的Android工程师转型。

五、HTML5

HTML5也是Android工程师改行的好方向,HTML5在移动互联网领域应用很是普遍,好比混合开发、手机站、小游戏、微信公众号、微信小程序等。简单的手机站和对性能要求不高小游戏直接用从懒人模板(http://www.lanrenmb.com/)上找到的资源稍微修改一下便可,这里只说说混合开发应用和小游戏怎么开发。

最著名的HTML5移动开发框架当属Facebook发布于2015年的React Native,这是一套跨平台、动态更新的 JavaScript 框架,口号是“Learn once, write anywhere”。与之相似有同属舶来的PhoneGap等。

国产的HTML5开发框架在国内也百家争鸣,常见的有HBuilder和AppCan,两者共同特色是都为了便于新手入门制做了专用的编译器。2016年,在Qcon大会上宣布开源的Weex也异军突起,来自阿里的它由于开发的软件与原生App别无二致受到不少人的青睐。

开发对性能要求比较高的HTML5游戏,靠模板是不行的。2014年2月创立于北京的Egret是一套完整的HTML5游戏开发解决方案,其核心产品白鹭引擎(Egret Engine)凭借上手简便、性能强大已占据国内超七成的手机页游引擎市场份额。

Egret布道师徐聪(笔名:臭臭打不死人)还送了玖哥Egret官方教程《Egret——HTML5游戏开发指南》和Egret吉祥物。

Egret——HTML5游戏开发指南

转型建议:通常来讲,除非手机页游或商场,大多数用HTML5开发的Android应用就是胡闹。这条路线几乎是专为电商和小游戏行业准备的,若是公司有这方面的需求,Android程序员能够凭借平时自学的这方面技术完成任务。

六、VR

2015年末游戏外设王者雷蛇推出了VR游戏头显,2016年各大游戏厂商和小工做室争先恐后开发VR游戏争夺市场,开启了“中国VR元年”。虽然目前VR主要用在娱乐领域,被不少人视为玩具,可是VR所具备的价值却远远超出“玩具”的范畴。

前文讨论游戏引擎的时候没说Unity-3d不是疏漏,而是要把Unity-3d放在这儿谈。Unity-3d 是Unity公司开发的一个3D游戏开发工具,近年来的新版本不断增强对VR硬件系统的支持。Android程序员转型VR不只能够实现本身从小就想让游戏跳出四角方框的梦想,还有Unity-3d所用的C#语言原本就是嚷着“我不是Java语言”的Java语言的学习优点。

转型建议:VR如今正是一片蓝海,只要自学能力够强,转型VR就像2015年在合肥买房同样明智。固然前提是你能找到愿意出钱的老板或投资人。

七、大数据

移动互联网时代是一个科技发达,信息流通的时代,大数据就是这个高科技时代的产物。马云曾在演讲中提到:将来的时代将不是IT时代,而是DT的时代。DT就是Data Technology(数据科技)的缩写,大数据的合理利用与否成了不少行业成败的关键。

移动互联网通过这些年的发展,拿O2O和当噱头已经唬不住投资人了。Hadoop也就天然而然受到了青睐,不少每4个月“生产”一批“两年经验”的“程序员”的培训机构也问过玖哥:“Android和iOS如今不吃香了,你能帮我介绍几个Hadoop讲师吗?”

转型建议:与转型Java后台同样,Android程序员转型Hadoop也具有语言相通,特性类似的优点。目前各大培训机构已经如蝇逐臭争相批量生产Hadoop程序员,若是你是由于陷入了他们培训的Android程序员形成的红海才转型的话,建议你不要转型,提高本身的竞争力才是王道。

八、人工智能和深度学习

前一阵子AlphaGo打败了人类世界的围棋世界冠军柯洁,轰动了全世界。柯洁认为AlphaGo是可以战胜一切的围棋上帝,这个说法玖哥不敢苟同,毕竟它没有和“天”对弈过,但存在能“胜天半子”的人类——祁同伟。即便AlphaGo不能战胜一切,也没有人有理由认为人工智能和深度学习不能成为IT届的重要发展方向。

TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,具有极佳的灵活性和可延展性,在和人工智能相关的领域都有普遍的应用。TensorFlow是开源的,会大大下降深度学习在各个行业中的应用难度,有远大的发展前景。

转型建议:尽管玖哥坚信未来会T(ensor)F(low)的boys受女性欢迎程度不亚于TFboys,但TensorFlow暂时很不成熟,这个“未来”距今多久仍是未知数。

九、Android系统

Linux做为目前大多数服务器的操做系统,学习Linux的大多数人的目的是作一个运维。然而把脑洞再开大一点的话,Android程序员精通了Linux以后能够开发一套属于本身的Android系统。《Linux大棚命令百篇》的做者吴鹏冲(笔名:Roc,和玖哥同样也是水浒迷)和《按部就班Linux》的做者高俊峰都送了一本本身的做品鼓励他开发属于本身的Android ORM。

按部就班Linux

这张照片摄于2016年3月30日玖哥拿着《按部就班Linux(第二版)》回到母校的自习室里攻读想成为像高老师同样能定制本身的Android系统的Linux专家的路上(双关)。

转型建议:若是Android程序员准备跳槽到生产手机等搭载Android系统的硬件厂商的话,学习Linux再合适不过了,不然就只能本身刷机玩了。

十、产品经理

每一个人均可能变成本身最讨厌的人,玖哥也不例外。他从《人人都是产品经理》中学到了产品经理的情怀,还从《从点子到产品》中学到了产品经理的技术。还有幸遇上了今年3月《从点子到产品》的做者刘飞收徒。关于玖哥转型产品经理失败的状况是一个发生在他和刘飞之间的“挖隋炀帝坟墓的开发商名叫杨勇”的故事:

2016年初,玖哥带新人,没有收刘飞(同名学弟)为徒

2017年初,刘飞带新人,不愿收玖哥为徒

转型建议:产品经理也是技术岗位,只不过写的是给人看的需求文档。若是一个Android程序员写的代码只能让电脑看懂而不能让负责维护的程序员看懂,那么就不要转型产品经理。

【写在最后】

Android程序员转型机会虽然多,但不要由于看招聘网站上某个职业平均工资高就转型,随波逐流的弄潮儿必然会在浪潮之巅摔得好惨。培训机构常说“Android不吃香了,移动互联网的寒冬来了”来吸引人报名学习速成的Hadoop和TensorFlow,其实遭遇寒冬的不是某个行业,而是某些基础很差的人。

若是你也愿意分享你的故事,请加51CTO开发者QQ交流群 312724475联系群主小官,期待你精彩的故事!

51CTO开发者交流群②群 312724475

相关文章
相关标签/搜索