Android开发的技术层次

来源:互联网 发布:js href target 编辑:程序博客网 时间:2024/04/29 23:06

中国实现“软件强国”之路,长路漫漫兮,任重而道远!

(中国是软件大国,“大”体现在有“海量”的"人山人海“的Null级和菜鸟级技术人员)


请点击如下参考文章:

成为编程巨星的唯一秘诀



Full Understanding                                              透彻理解


任何一种移动开发生态系统其技术人员都是呈现金字塔式分布的。


我借此也说说Developer和Programmer的区别。


Programmer是真正意义上的程序员,写程序的。灵魂级
Developer是码农,搬砖的,砌代码,体力活。肉体级


做Developer的感觉就仿佛行尸走肉,被工作绑架,被代码绑架,而不是驾驭代码。

如果每天,你感觉自己仿佛就是一坨肉,每天把自己运到公司,灵魂出窍式,条件反射式地CODING,然后下班又运回家,回到家你才真正解脱,真正找到自我。 富士康的小弟小妹们也有同样感觉。

那恭喜你,你就是一名“Developer”。


应该说,广义程序员范围内,99%都是Developer,只有1%才能称之为真正意义上的狭义的Programmer。

软件行业也越来越变成,不需要每个人都具备创造力,而只需要大量软件蓝领的行业。

而Programmer也正是让软件行业保持持续创造力的灵魂力量。

其实,真正让软件行业不断往前发展,进步的应该是那些或许根本不会编程的计算机科学家,这个暂时不在这篇文章探讨的范畴。


未来软件发展的趋势,就是让Programmer驾驭Developer


普遍意义上现在中国软件行业的工程师分为以下几种


1)地板级,NULL级别:               同事驱动型,这种纯粹是“鸟笼型”公司用来凑人头的,“坐台型选手”,不懂什么是抽象。


兴趣爱好:喜欢看《快乐大本营》之类的节目。

职场规划:基本没什么想法,觉得搞IT还不错,比一些小学同学混得好。

名人崇拜:晓得盖茨是IT首富。


2)菜鸟级:                                   Google驱动型                  类库王子,API王子,浮躁型选手,  一般没有网络就无法工作,,极度容易陷入比较模式,喜欢在论坛和QQ聊天群里面装自己的B扯别个的蛋,又极度敏感,工作中擅长CPM模式(copy+paste+modify)。忽悠型技术人才,运气好的时候,能混到一份不错的工作。地板级和菜鸟级形成了中国程序员的主流人群,其他级别的在中国都可以称之为“非主流程序员”,大脑基本不抽象思考。


兴趣爱好:喜欢看一些成功学的书和名人自传,相信 《我的成功可以复制》,要《作最好的自己》

职场规划:有搞管理的迫切愿望。

名人崇拜:喜欢李开复、马云。


3)大哥级:                                    官方文档驱动型                 开始意识到独立思维和抽象思维的重要性强迫自己去抽象思维,感慨虚度了大学时光,开始喜欢写博客,有一定的抽象归纳概括能力,,能独立写程序,身边有一定数量的技术小弟。英语方面已经能初步有能力实现无障碍阅读。


兴趣爱好:开始关注一些如《大道至简》和《人月神话》之类的技术管理类书籍。

职场规划:想做技术和管理兼顾型人才。

名人崇拜:了解约翰。卡马克之类的人,开始知道高德纳、迪科斯彻之类的人。


4)大侠级:                                   理论驱动型                        开始对理论书籍有独特的钟爱,什么都喜欢上升到理论高度。能无障碍阅读大型开源项目的源代码,并理解其设计理念。开始写一些简单的框架和库。抽象思维能力已达到“习惯级”。


兴趣爱好:开始关注一些哲学方面入门级的读物。开始喜欢写一些心情随记。

职场规划:做好了做中国第二批技术老人的准备。

名人崇拜:了解高德纳、迪科斯彻之类人,并知道的更多的关于ACM获奖人员的情况及钻研领域的情况。



5)大牛级:                                    论文驱动型                         喜欢阅读论文,并随时关注前沿动态,能很容易地开发一些大型项目原型。代码水平已经达到游刃有余的框架级,抽象思维能力已达到“本能级”。


兴趣爱好:开始阅读一些哲学方面提高级的读物,并对人文领域产生浓厚兴趣,会阅读一些小说和散文,有写散文的习惯。

职场规划:已经是技术老人了。

名人崇拜:对ACM获奖人的情况及钻研领域了如指掌,并已经开始把个人崇拜转移到其他领域。



6)大师级:                                    直接写出对别人有实际意义的论文, 在大陆属“稀有濒危物种”。


兴趣爱好: unknown

职场规划: unknown

名人崇拜: unknown






Android系统也是一样,在庞大的Android开发人员群体中,我认为可以由低到高分为以下四个层次:


1)应用层开发


使用java语言,基于android的框架和类库,进行应用层程序的开发。

这类开发一般依赖于短期记忆,也就是我们所说的类库王子、API王子。

这类人员,只要会UI布局,熟悉常用的widget,写几个消息回调函数,鼓捣一下网络类,简单的数据库操作,会读写保存点配置信息,调用一下播放器,发一下短消息。

再用一哈比如Gallery这样外行看起来表面上比较炫的类。


这类开发人员一般自我感觉良好,比较自大,认为android开发也不过如此。

这类技术门槛很低,这类开发人员中的真正的熟手和高手,是充分熟悉官方文档的,已经过了什么都去Google的阶段,达到了查什么都直接去查

http://developer.android.com/reference/packages.html  的地步。

而且在大脑中已经形成了一个官方文档的索引,查什么都能达到时间复杂度为常数的地步。


充分利用好官方文档,全部类库在大脑中有比较有条路的记忆,告别了杂乱无章的短期记忆。

成为了一个高级的“类库王子”。


虽然依然知其然不知其所以然,但是已经从“码农”升级为一个“高级码农”。


所有的框架和高级语言技术(特别是虚拟机技术),其实都是为了实现软件的工程化,为广大蓝领工人准备的。这些工程技术,降低了软件开发的难度,使一些比较难的,抽象的晦涩的高级技术和概念完全对应用层开发人员透明,但是这是以牺牲一定的软件效率为代价的。


不过还好,软件开发不是竞技比赛,不是以难度值为判断标准的,实用、经济、快速适应市场才是最重要的,同时飞速的硬件和底层基础性软件系统的研究进展,和自始至终的软件分层的思想,让一切阻挡软件工程化的障碍都不再存在。


这部分人中的大部分人,一般比较注重经济利益,有一定的经济压力。尚未把编程作为自己的一种爱好和自我实现的途径。多半感兴趣的是怎么找到一份好工作,怎么得到一份好薪水。但是他们忽视了,从长远来看,中国的软件职场,最终的发展方向肯定不是“五分运气,三分做人,两分技术”。对于一个技术人员来说,技术才是获得竞争优势的唯一途径。在技术上没有竞争优势,你就失去了一个技术人员的安身立命之本


他们

盲目崇拜所谓的“创新和创意”,误以为那是不用刻苦钻研技术而又改变自己命运的捷径!

轻信那些所谓的”创富神话“,殊不知如果离开了扎实的技术功底而追逐那些“快餐技术”,而去妄谈创富只不过是误入了“你方唱罢我登场”的众多“技术生态圈的公关陷阱”。成为技术沙场上“一将功成万骨枯”的牺牲品。


他们也推崇所谓的“实用主义”,强调“做出好产品才是王道”,但是真正的好产品,都离不开一个好的技术平台。另外不对自己实用的技术平台,有比较深入的理解,是不可能做出真正的好产品的。



2)中间层开发


中间层是为应用层提供  “Infrastructure”  基础设施。 其需要更加深厚的技术功底。

不过我觉得,从应用层开发达到一定技术水平后,转到中间层或者称之为“框架层”开发的人,比一开始就坐框架层开发的人,更容易深入。

做过应用层开发的人,更有所谓的“切肤之疼”,从而更能理解一些策略和为什么的原理性的东西。


使用C/C++语言,基于NDK JNI方式的开发。

需要对android的整体框架机制和android系统codebase非常熟悉.

一般都会自己自己下载android的系统源代码,自己编译IMAGE.

熟悉android系统的Custom Building System.

能修改和扩展Android的框架和 服务.

移植和定制nativelibray 和框架 ,如opencore,opengl,webkit

定制一套系统的UI,制作点ROM

也就是我们国内所谓的自主研发的手机操作系统。


这类开发人员一般属于稍微资深一点的,一般都有强烈的技术饥饿感,觉得自己懂的很少,不停的去提高充实自己。


3)操作系统级别的开发,系统定制

熟悉Linux驱动开发,Linux内核结构

针对特定硬件的移植

这类开发的技术含量其实和中间层开发差不太多,从某种意义上还不如。

其实,驱动开发更主要的要求需要一定的硬件知识。

这类开发人员一般是各大手机厂家的开发人员,由于接触的面比较窄,技术饥饿感不如中间层开发人员。


第二,第三层的开发人员通常在国内的厂家任职,比如魅族、小米、HTC。

只有这个样的厂家经过一定的技术沉淀,才会向最高层进军,中国软件行业才会做出真正意义上的自主的平台。



4)找出Android的不足,帮助Google持续改进Android

这种人是真正意义上的android程序员,他们会有选择的去阅读android框架源代码,会认真的去阅读dalvik的源代码。

自身知识结构也比较成熟,知识面比较广。

会很多上面三类人都不具有的调试和跟踪技巧。

对一些操作系统和平台设计的思想和策略,了如指掌。


在问题域和技术域之间左右逢源。


这些人,多半也精通其他移动平台,比如Symbian,Meego,IOS,WP

甚至Windows NT, Linux  edition for Server.等桌面或者服务器操作系统。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 淘宝给客户退款后还给差评怎么办 淘宝账号处于下单保护状态怎么办 淘宝卖家物流单号写错了怎么办 有个人给我发直播消息怎么办 网贷申请多了现在秒拒怎么办 顺丰快递寄的瓜果坏了怎么办 淘宝退货快递公司填错了怎么办 不小心把淘宝账号注销了怎么办 腾讯视频会员开通一个月贵怎么办 微交易买美国指数输了四千块怎么办 淘宝地址中包含了违禁词怎么办 微信支付失败但是钱扣了怎么办 支付宝向别人收款交易关闭了怎么办 从淘宝充的晋江币充值异常怎么办 接手转让店铺会员要求退卡怎么办 转转买手机卖家拒绝退款怎么办 淘宝买的东西电话号码留错了怎么办 平板电脑没电关机没保存文件怎么办 恢复出厂设置需要谷歌账号怎么办 华为手机云端里照片删除了怎么办 客户退货卖家一直没收到货怎么办 在淘宝买到假货投诉不管用怎么办 差评不接电话不回旺旺不要钱怎么办 饿了么同行恶意差评怎么办 苹果手机更新后淘宝用不了怎么办 淘宝网快递丢件了买家怎么办 评价后忘了截图五星好评怎么办 在淘宝被骗了好评返现怎么办 苹果4s微信版本过低怎么办 微信版本太低无法登录怎么办 苹果4微信版本低登录不了怎么办 安卓手机微信版本低登录不了怎么办 苹果微信版本低登录不了怎么办 安装包与当前版本不兼容怎么办 游戏与苹果手机系统不兼容怎么办 闲鱼买家申请退款不退货怎么办 在淘宝买的战地1登录不了怎么办 支付宝转账到注销的账号怎么办 支付宝用户支付密码被锁定怎么办 淘宝提现需要的手机宝令怎么办 手机换号码了支付宝账号怎么办