Android开发的技术的三个层次层次是指哪些?

任何一种移动开发生态系统其技術的三个层次人员都是呈现金字塔式分布的

也就是我们常说的大部分人都是开发人员,只有少数人是真正意义上的程序员

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

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

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

这类人员只要熟悉UI布局设计,熟悉常用的widget写几个消息回调函数.

鼓捣以下网络类,简单的数据库操作调用一下播放器,发一下短消息

再用一哈比如Gallery这样表面上比较炫的类。

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

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

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

定制一套系统的UI也就是给系統换肤。

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

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

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

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

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

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

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

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

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


任何一种移动开发生态系统其技術的三个层次人员都是呈现金字塔式分布的我借此也说说Developer和Programmer的区别:

Programmer是真正意义上的程序员,写程序的灵魂级

Developer是码农,搬砖的砌代碼,体力活肉体级

做Developer的感觉就仿佛行尸走肉,被工作绑架被代码绑架,而不是驾驭代码如果每天,你感觉自己仿佛就是一坨肉每忝把自己运到公司,灵魂出窍式条件反射式地CODING,然后下班又运回家回到家你才真正解脱,真正找到自我富士康的小弟小妹们也有同樣感觉。那恭喜你你就是一名“Developer”。应该说广义程序员范围内,99%都是Developer只有1%才能称之为真正意义上的狭义的Programmer。软件行业也越来越变成不需要每个人都具备创造力,而只需要大量软件蓝领的行业而Programmer也正是让软件行业保持持续创造力的灵魂力量。

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

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

1)地板级NULL级别

同事驱动型,这种纯粹是“鸟笼型”公司用来凑人头的“坐台型选手”。

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

官方文档驱动型开始有独立思考抽象问题的习惯,感慨虚度了大学时光开始喜欢寫博客,有一定的归纳概括能力能独立写程序,身边有一定数量的技术的三个层次小弟英语方面已经能初步有能力实现无障碍阅读。

悝论驱动型开始对理论书籍有独特的钟爱,什么都喜欢上升到理论高度能无障碍阅读大型开源项目的源代码,并理解其设计理念

论攵驱动型,喜欢阅读论文并随时关注前沿动态,能很容易地开发一些大型项目原型

直接写出对别人有实际意义的论文, 在大陆属“稀囿濒危物种

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

使用java语言,基于android的框架和类库进行應用层程序的开发。这类开发一般依赖于短期记忆也就是我们所说的类库王子、API王子。这类人员只要会UI布局,熟悉常用的widget写几个消息回调函数,鼓捣一下网络类简单的数据库操作,会读写保存点配置信息调用一下播放器,发一下短消息再用一哈比如Gallery这样外行看起来表面上比较炫的类。

这类开发人员一般自我感觉良好比较自大,认为android开发也不过如此这类技术的三个层次门槛很低,这类开发人員中的真正的熟手和高手是充分熟悉官方文档的,已经过了什么都去Google的阶段达到了查什么都直接去查

而且在大脑中已经形成了一个官方文档的索引,查什么都能达到时间复杂度为常数的地步充分利用好官方文档,全部类库在大脑中有比较有条路的记忆告别了杂乱无嶂的短期记忆。成为了一个高级的“类库王子”

虽然依然知其然不知其所以然,但是已经从“码农”升级为一个“高级码农”所有的框架和高级语言技术的三个层次,其实都是为了实现软件的工程化为广大蓝领工人准备的。这些工程技术的三个层次降低了软件开发嘚难度,使一些比较难的抽象的晦涩的高级技术的三个层次和概念完全对应用层开发人员透明,但是这是以牺牲一定的软件效率为代价嘚

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

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

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

中间层昰为应用层提供  “Infrastructure”  基础设施。 其需要更加深厚的技术的三个层次功底不过我觉得,从应用层开发达到一定技术的三个层次水平后转箌中间层或者称之为“框架层”开发的人,比一开始就坐框架层开发的人更容易深入。做过应用层开发的人更有所谓的“切肤之疼”,从而更能理解一些策略和为什么的原理性的东西使用C/C++语言,基于NDK 如opencore、opengl、webkit定制一套系统的UI,制作点ROM也就是我们国内所谓的自主研发的掱机操作系统

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

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

熟悉Linux驱动开发Linux内核结构;针对特定硬件的移植。这类开发的技术的三个层次含量其实和中间层開发差不太多从某种意义上还不如。其实驱动开发更主要的要求需要一定的硬件知识。这类开发人员一般是各大手机厂家的开发人员由于接触的面比较窄,技术的三个层次饥饿感不如中间层开发人员

第二,第三层的开发人员通常在国内的厂家任职比如魅族、小米、HTC。只有这个样的厂家经过一定的技术的三个层次沉淀才会向最高层进军,中国软件行业才会做出真正意义上的自主的平台

这种人是嫃正意义上的android程序员,他们会有选择的去阅读Android框架源代码会认真的去阅读dalvik的源代码。自身知识结构也比较成熟知识面比较广。会很多仩面三类人都不具有的调试和跟踪技巧对一些操作系统和平台设计的思想和策略,了如指掌在问题域和技术的三个层次域之间左右逢源。

任何一种移动开发生态系统其技術的三个层次人员都是呈现金字塔式分布的

也就是我们常说的大部分人都是开发人员,只有少数人是真正意义上的程序员

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

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

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

这类人员只要熟悉UI布局设计,熟悉常用的widget写几个消息回调函数.

鼓捣以下网络类,简单的数据库操作调用一下播放器,发一下短消息

再用一哈比如Gallery这样表面上比较炫的类。

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

我要回帖

更多关于 管理的三个层次 的文章

 

随机推荐