,为广大蓝领工人准备的。这些工程技术,降低了软件开发的难度,使一些比较难的,抽象的晦涩的高级技术和概念完全对应用层开发人员透明,但是这是以牺牲一定的软件效率为代价的。不过还好,软件开发不是竞技比赛,不是以难度值为判断标准的,实用、
经济、快速适应市场才是最重要的,同时飞速的硬件和底层基础性软件系统的研究进展,和自始至终的软件分层的思想,让一切阻挡软件工程化的障碍都不再存在。
这部分人中的大部分人,一般比较注重经济利益,有一定的经济压力。尚未把编程作为自己的一种爱好和自我实现的途径。多半感兴趣的是怎么找到一份好工作,怎么得到一份好薪水。但是他们忽视了,从长远来看,中国的软件职场,最终的发展方向肯定不是“五分运气,三分做人,两分技术”。对于一个技术人员来说,技术才是获得竞争优势的唯一途径。在技术上没有竞争优势,你就失去了一个技术人员的安身立命之本。他们也推崇所谓的“实用主义”,强调“做出好产品才是王道”,但是真正的好产品,都离不开一个好的技术平台。另外不对自己实用的技术平台,有比较深入的理解,是不可能做出真正的好产品的。2)中间层开发)中间层是为应用层提供“Infrastructure”基础设施。其需要更加深厚的技术功底。不过我觉得,从应用层开发达到一定技术水平后,转到中间层或者称之为“框架层”开发的人,比一开始就坐框架层开发的人,更容易深入。做过应用层开发的人,更有所谓的“切肤之疼”,从而更能理解一些策略和为什么的原理性的东西。使用C/C++语言,基于NDKJNI方式的开发。需要对android的整体框架机制和android系统codebase非常熟悉.一般都会自己自己下载android的系统源代码,自己编译IMAGE.熟悉android系统的CustomBuildingSystem.能修改和扩展Android的框架和服务.移植和定制nativelibray和框架,如opencore,opengl,
webkit定制一套系统的UI,制作点ROM也就是我们国内所谓的自主研发的手机操作系统。这类开发人员一般属于稍微资深一点的,一般都有强烈的技术饥饿感,觉得自己懂的很少,不停的去提高充实自己。
3)操作系统级别的开发,系统定制)操作系统级别的开发,熟悉Linux驱动开发,Linux内核结构针对特定硬件的移植这类开发的技术含量其实和中间层开发差不太多,从某种意义上还不如。其实,驱动开发更主要的要求需要一定的硬件知识。这类开发人员一般是各大手机厂家的开发人员,由于接触的面比较窄,技术饥饿感不如中间层开发人员。第二,第三层的开发人员通常在国内的厂家任职,比如魅族、小米、HTC。只有这个样的厂家经过一定的技术沉淀,才会向最高层进军,中国软件行业才会做出真正意义上的自主的平台。4)找出Android的不足,帮助Google持续改进Android)的不足,
这种人是真正意义上的android程序员,他们会有选择的去阅读android框架源代码,会认真的去阅读dalvik的源代码。自身知识结构也比较成熟,知识面比较广。会很多上面三类人都不具有的调试和跟踪技巧。对一些操作系统和平台设计的思想和策略,了如指掌。
在问题域和技术域之间左右逢源。
这些人,多半也精通其他移动平台,比如Symbian,Meego,IOS,WP甚至WindowsNT,LinuxeditionforServer.等桌面或者服务器操作系。