写在前面——论几种关系
n 专注与规划
俗话说,“行行出状元”,说的是无论什么行业,干一行爱一行,总能做出成绩。又有一说:“男怕入错行,女怕嫁错郎”,说的是要慎重选择行业,因为行业决定发展方向,甚至影响个人命运。两者均是经验之谈,看似矛盾,实则相辅相成。前者强调专注精神,后者强调的是职业规划。在职业规划的基础上多点专注精神,这才是成功之道!
n 择校(企)与择业
尤其对于技术人员,专注精神必不可少,职业规划也是相当的重要。谈到职业规划,面临一个矛盾。高中升学时,专业与学校之争由来已久。是优先考虑热门专业,还是选择名校,没有定论!同样,在就业时,是选择一个好的行业,还是为了进名企而挤破头,这也是个问题!在名校,在名企,看重的是丰富的资源,深厚的文化氛围,优秀的人脉关系,以及品牌效应,这些都让人终生受益。行业之间,薪资水平差异明显,发展机会有多有寡,而且行业往往决定了很长一段时间内的发展方向,转行是件痛苦的事情。所以,弃名校名企,而择行业的也是大有人在。这两种观点虽然也能统一,那就是名校名企,热门专业兼而有之,这当然再好不过。但是更多的情况是两者只能选其一,这时的抉择就很关键!
n 泛与精
软件行业是个大环境,是为软件这个行业实在太大,其中又有很多的分支领域。绝大多数人穷其一生也只能了解某一分支中的某些知识。面面俱到是不可能的,选择一个(或几个)感兴趣的,前景好的,适合自己的领域重点发展,这是必然之路。尤其是对技术人员,专注于某个领域这点很重要。另一方面,分支领域之间也是相互关联的,从而产生一些交叉学科,新的应用点。广泛的了解多领域知识,全面化知识体系结构,有利于培养IT职业素养。站得高,见别人之不所见,这是管理者,创业者需要的素质。所谓泛与精,并非完全矛盾,也是可以调和的。专注于某一领域,广泛了解各相关领域,做到通百艺而专一长。
技术之路该如何走?
n 职业发展道路
通常,软件技术人员的职业发展有几个选择:专注于技术,成为技术专家;转型,到技术型销售,技术支持等;随着技术成长,从技术性管理到高级管理。如图。这是大家都看得清楚的方向,也都在向这些方向的金字塔尖努力。
归根结底,技术是基础。在扎实的技术基础上(高级软件工程师),如果有着比较强的抽象设计能力,又打算专注于技术开发,系统架构师是个好的选择;如果性格更适合做管理,沟通表达能力突出,技术型管理应该是下一步的方向。
n 层次不同,难度不一样
软件开发也是有层次的区别的,比如,按层次从高到低可分为:
- 专业开发:如网络安全,游戏,人工智能开发
- 应用开发:如MIS,BI系统开发
- 简单开发:如网站、简单查询系统开发
不同的层次,难度系数不一样,技术要求,个人素质要求也不一样。要成为系统开发者、专业开发者、高级应用开发者,需要很高的专业知识和很强的逻辑、抽象、空间思维能力,这就要求具有很好的基础,同时具有较大的提升潜力。而要成为简单开发者和初级应用开发者相对容易,正是这样,使很多人走上了软件开发的道路。所以,要根据个人基本素质,技术能力选择开发层次,由低到高,逐步发展。
n 做行业里的技术专家
无论什么技术,都离不开行业应用。技术只是工具,如何发挥这个工具的价值,跟行业环境密切相关。技术好的是技术专家,行业知识丰富的是行业专家,而技术知识与行业知识结合起来才是行业里的技术专家。这才是技术发展的王道!
面象对象的编程思想,编程语言(C++/C#/JAVA等),基础的数据结构知识,开发环境(VS.NET等),这些就是工具。将工具运用在某个行业,就需要相应的行业知识。如在企业级应用开发,不同行业(电信/银行/零售等)里有不同的业务规则。在网络游戏行业,网络安全行业,更都需要不同的专业知识。这些才是核心知识。
小结
- 有良好的职业规划
- 多点专注精神
- 根据自身素质,技术实力等,定位开发层次,由浅入深
- 专注于某一领域,广泛了解各相关领域,做到通百艺而专一长
- 做某个行业里的技术专家
行业分析
做IT职业规划,选择并专注于某个行业领域。行业的选择是关键,需要清楚这个行业的现状以及发展估计,有哪些技术要求,招聘哪些技术职位,有哪些主要公司等。软件行业分支领域非常多,这里只是根据本人所接触到的某些领域进行分析。有以下分类:
- 虚拟现实
- 网络游戏
- 网络安全
- 呼叫中心产品
- 企业级应用开发
- 无线网络移动开发
- 电子商务
- 嵌入式开发
虚拟现实
n 行业状况
目前国内专注虚拟现实的公司不多,且多进行基于VR软件(如Virtools等)的建模绘制工作,基本没有研发能力。仅有一些研究机构(大学)进行VR的研究,包括软件体系结构,网络通信,建模绘制等。北京航空航天大学和浙江大学走在国内研究的前列。
n 技术知识结构
综合利用计算机图形学,网络技术,仿真技术,传感器技术,显示技术等多种技术学科。
一级分类 | 二级分类 | 三级分类 | 四级分类 |
虚拟现实设备 | 接口设备 | 位置传感器 |
|
视觉显示 |
| ||
听觉显示 |
| ||
力觉触觉显示 |
| ||
计算机系统 | 体系结构 |
| |
软件系统 |
| ||
网络和通信 |
| ||
虚拟现实方法 | 建模 | 几何建模 |
|
物理建模 |
| ||
仿真 | 绘制 |
| |
动画 |
| ||
|
|
|
|
n 虚拟现实的应用
- 医疗和康复
- 娱乐,艺术和教育
- 军事和航天
- 商业应用
- 机器人和制造
- 信息可视化
n 主要公司
三维全景软件、虚拟现实软件技术提供商——上海杰图软件
E360(龙安互动),三维全景可视化多媒体技术提供商
http://www.e360.cn/index.asp
虚拟现实仿真中心|虚拟现实&视景仿真———北京黎明公司
http://www.pcvr.com.cn/
网络游戏
n 行业状况
技术门槛较高,行业前景较好
n 技术知识结构
技术分类 | 知识要求 |
Ø 知识准备 | |
编程语言 | C/C++ C# / JAVA 汇编 |
数学基础 | 线性代数,微积分,概率论 |
开发接口 | DirectX 3D OpenGL |
Ø 专业知识 | |
体系结构 - 3D引擎 - 网络引擎 | OGRE |
图形图像 - 图形变换 - 纹理贴图 - 光照与着色 - 裁剪 - 碰撞检测 | 计算机图形学 |
特效 - 粒子系统 - 物理运动,力反馈 | 游戏开发物理学 |
网络通信 | 计算机网络基础 Socket编程 |
交互控制
| VRPN |
人工智能 | 人工智能基础 |
音乐音效 | 多媒体 - 波形文件回放 - 音频设备控制 - 视频图像的解码及播放 |
数据管理 | 压缩,加密
|
系统优化 | 硬件优化 汇编语言 |
|
|
n 行业职位(技术开发类)
职位 | 技术要求 |
客户端软件工程师 | 1、精通C/C++ 2、熟悉win32API,熟悉常用数据结构和算法; 3、熟悉DirectX/OpenGL,有游戏客户端图形编程经验; |
服务器端软件工程师 | 1、精通C++编程 2、Windows或Linux开发经验; 3、精通TCP/IP协议及Socket网络编程 4、熟悉常用数据结构和算法 5、有大型在线系统开发经验 6、熟悉数据库开发 |
图形开发工程师 | 1、精通C++编程 2、精通DirectX编程 3、具有图形开发所必须的数学基础 4、了解OpenGL编程 5、Shader编程 6、有3DSMax或者Maya插件开发经验,或3D地图编辑器开发经验 7、有3D渲染引擎开发经验 |
n 主要公司
- EA(中国)
- UbiSoft 育碧
- 盛大网络
- 腾讯
信息安全
n 行业状况
专业技术要求,技术门槛较高
n 技术知识结构
技术分类 | 知识要求 |
加密技术
|
|
防火墙技术
|
|
入侵检测与安全审计 |
|
VPN技术 |
|
网络病毒防范 |
|
网络信息过滤 |
|
安全隔离技术 |
|
n 行业职位
职位 | 技术要求 |
防火墙开发 | 熟悉tcp/ip协议 熟悉linux开发 |
VPN开发 | 熟悉tcp/ip协议,IPSecec协议 熟悉PKI 熟悉linux开发或windows下的网络开发。 |
|
|
n 主要产品及公司
- 赛门铁克·Symantec
http://www.symantec.com/zh/cn/index.jsp
- McAfee 安网(上海)软件有限公司
- 趋势科技—网络安全软件及服务领域的全球领导者
- 金山
- 瑞星
- 复旦光华
呼叫中心
n 行业状况
服务外包型行业,运营企业软件开发任务轻,技术含量不高。
n 主要技术
技术分类 | 知识要求 |
CTI |
|
PBX ACD |
|
IVR |
|
CRM |
|
Data Mining |
|
|
|
|
|
n 主要公司
运营商
- SYKES
- PCW
设备提供商
- AVAYA
- 华为
企业级应用
n 行业状况
知识更新快,业务逻辑紧密,以客户需求为重点
n 主要技术
技术分类 | 知识要求 |
VS.NET 平台 | |
|
|
|
|
|
|
JAVA | |
|
|
|
|
SAP | |
|
|
无线网络
电子商务
嵌入式