现在的位置: 首页 > 综合 > 正文

2013年10月13日 ⁄ 综合 ⁄ 共 2464字 ⁄ 字号 评论关闭

一篇写了许多教科中常写的东西,这一篇写一些教科书中不太写,但是在某些国家已经成为了标准的东西。搞技术,人生无非是如下的五条出路:一、做技术
专家,做到李政道、钱伟长或者Linus Torvalds的水平;二、技术管理,瞄准Ray
Ozzie那样的角色,当公司的高管;三、自己创业;四、技术市场、技术营销:虽然不搞技术了,但是懂得如何推销技术;五、改行。

 


达到这些位置之前,咱们要经历上一篇所列的形形色色的角色。

 

本篇就是要仔细挖掘一下,一个嵌入式软件的从业者所需要
的技术和技能,看看应该从什么样的角度来建立“一技之长”。

 

我们先抛开个人素质和商业素养,以后找机会谈。

 


为一名技术人员,应该怎样选择“技术专长”的成长之路?非常容易迷惑,这是一个事实。发达国家把它做为一项国家工程,各自研究了一套技能体系,并结合资格
认定,引导工程师自我成长。就我所知道的范围来说,英国、美国、日本等国政府都有一套体系(参考:1,2,3,4,5)。这里我想把这些国家现有的分类体
系,结合我自己的体会,介绍给大家。

 

首先,我们可以把技术分成三大类:

 

一、开
发技术

二、领域技术

三、管理技术

 

在这里先罗列一下这三大类的分法。

 


发技术指的是完成一个大规模的软件开发工程所必备的技术,比如系统需求分析、系统设计、软件需求分析、软件模式设计、软件详细设计、代码编写与测试、代码
集成(Integration)、软件检验(Validation)、系统集成、系统检验等各个环节所需要的工具、模式、流程和知识。

 


理技术指的是项目管理和流程管理所必备的技术,比如分工管理、时间管理、成本管理、质量管理、沟通管理、采购管理、风险管理、人员与组织管理等等属于项目
管理技术;而变更管理、配置管理、开发环境管理、开发流程选定、知识产权管理等等则属于流程管理的范畴。

 

领域技术指
的是平台技术、界面技术、通信技术、多媒体技术、存储技术、传感与控制技术、信息处理技术、应用技术等等。

 

从这样的
分法我们得到的启发是,不管自己将来要成为专家还是高管,开发技术和管理技术大部分都是必须掌握的。“我”的“不可替代性”一定是在领域技术中去找的。如
果某一项领域技术在公司里能够做到数一数二,咱们在那个公司才是不可替代,因为把握替代掉要花更大的代价。如果咱某项技术能够在行业中能够做到数一数二,
那么你就具备了成为“Ray Ozzie”的基本条件。

 

能够做到数一数二的,做到不可替代,一个公司里就那么多。如
果退而求其次,就是做个“牛人”。上一篇罗列了不同角色,咱们可以成为这些角色的“牛人”。成为各种“牛人”分别需要在哪些方面牛呢?以后有机会再写吧。

 


天先把领域技术分解一下:

 

一、平台技术包括

   1.
特定的处理器,比如对ARM处理器、TI的DSP或者NVidia的GPU等等的全面掌握   

   2.
特定的操作系统,比如对Nucleus,Rex OS, Linux等等内核的掌控。

   3. 特定的软件框架,比如Java
VM等VM,特定的应用框架比如GNOME、KDE的掌控(太大了 :-(  )

 

二、界面技术

  
1.输入处理:通过人类的动作产生的输入处理比如按键、触屏、气味、声波、G-Sensor、

              
GPS信号等等信息输入的处理技术。

   2.输出处理:显示、声音、振动、气味、光亮

  
由于GUI通常涉及到输入输出,我们把GUI技术划在界面技术当中,比如透彻掌控X-Windows,GTK+, Match box,
mini-GUI等等。严格讲的,界面技术指的是针对一个特定的功能,用软件去设计、实现一整套操作、反馈流程,使用户既容易学、又容易记。从这种意义上
看,GUI应该属于平台技术,因为GUI是实现用户操作流程的平台。

 

三、通信技术

  1. ISO
1~7 层通信模型某几个层面的设计、实现和维护。

     由于无线通信涉及物理层到网络层的变化,通常分有线、无线通信技术。

  
  GSM协议栈、TCP/IP协议栈、TD-SCDMA协议栈都是通信技术范畴。

  2. 无线广播技术:DVB-T/H,
T-DMB, CMMB等等都是无线广播技术

  3. 互联网技术:这里指的是TCP层以上通信协议,比如HTTP, IMAP,
POP3, SMTP,FTP等等技术。

 

四、多媒体技术

  1. 声音压缩与解压缩技术:MP3,
AAC, AMR等等

  2. 图片压缩与解压缩技术: PNG, GIF, JPEG等等

  3.
影视压缩与解压缩技术:H.263, H.264, MPEG4等等

 

五、存储技术

  1.文件系
统:FAT32, EXT3,JFFS等等

  2.媒体技术:内存、闪存、磁盘等等物理媒体特性的掌控

  3.存储接口技
术:热插拔、冷插拔设备的接口技术

 

六、传感与控制技术

  1.物理化学量输入技术:电位、电流、振
动、光、压力等物理化学量的计量技术

  2.物理化学量输出与控制技术:电磁、光、热、速度、振动、坐标等物理化学量输出技术

 

七、
信息处理技术

  1. 信息输入技术:数据输入、声音输入等等信息输入技术

  2. 信息安全技术:加密、解密技术

  3.
数据处理技术:数据压缩与解压缩技术、嵌入式数据库技术

  4.
信息输出技术:Postscript语言,XML语言,SVG等等通用信息格式输出技术

 

八、应用技术,特定目的的应
用软件的实现,它们往往是如上七类技术的综合应用,比如

  1. 浏览器

  2. 消息类应用:e-mail, IMPS,
MMS, SMS等等

  3. VoIP应用

  4. 视频通话

  5. 媒体播放器

 


上八大方面,每一个方面都够咱们干一辈子的。罗列了这么多,希望能够给还在大学有志于加入嵌入式软件开发的朋友,大学毕业后刚刚走上社会的朋友,毕业后做
了许多年软件觉得不知道自己该怎么发展的朋友,或者自以为软件就那么回事的朋友,提供一个思考的线索。参考这个分类,理出自己发展的路子。

 


学毕业后五年内,我们通常是“干一行爱一行”。

大学毕业五年以后,希望自己能够做到“爱一行干一行”。

 


己到底爱什么呢,在整理思绪的过程中,希望本篇具有一点参考价值。

抱歉!评论已关闭.