给所有想从事软件研发的年轻工程师的忠告与建议(一)
一.我为什么写这篇文章:
这几天,在CSDN论坛的软件培训与认证栏目中,众多的评论,看到了很多处于迷惑之中的人们,也看到了许多大家普遍感到困惑的问题,写此文章的目的,是想将我这些年在软件行业从业的一些经验和体会将给大家听,并对大家普遍关心也普遍困惑的问题进行一些指导,我将尽我最大的可能告诉大家我所理解的事实真相,同时也衷心希望大家能够理智而清晰的看待自己的方向,前途,发展策略等问题,避开自己发展的误区。
我目前在国内一家大型软件公司里做软件开发总监,由于本文中涉及了我个人对一些公司和机构的评论,有好的方面,也有坏的方面,所以我不方便透露太多关于我个人的一些信息;另外由于本人写的比较仓促,加之工作忙碌,也就没有在文字上以及文章结构与逻辑等方面做一些整理,所以可能有些地方看起来有些乱。我想乱与不乱都是次要的,关键是,我希望我的这篇文章能够让大家将一些事情看透,从而防止自己在软件行业内走入误区,以便能够在软件行业取得更大的发展与进步。
二.该怎样规划自己的技术发展方向以及人生发展的总体思路?
1) 要永远相信“物以稀为贵”,我这些年的经历发现,现实中有很多软件工程师存在严重的“跟风”行为,也就是:只要市场上或者媒体上对某个领域或潮流进行“吵作”就无形中引导着这些工程师的学习方向与学习行为。如果我们纯粹以发展前景与“钱景”作为个人技术发展方向的衡量标准的话,则一个普遍的规律是:跟上最流行的技术并不一定拿到高薪;大家可以看到,同样是用C++编程语言开发软件,在Windows平台下的VC工程师,要比Unix平台下的C++工程师明显薪水低一档,为什么?原因就是一个公司可以在人才市场上很容易找到会VC的工程师,但找到有Unix平台下的C++软件系统开发经验的工程师相对要难找的多;
2) 中国软件市场是典型的内需驱动型的市场,所以中国的软件公司需要不同领域的软件开发工程师,而且不同领域的软件开发工程师在薪水方面有很大的差别,在个人职业方展过程中应“随需应变”
3) 不要局限于技术,一个人在自己事业上的成功或者说狭隘的说是个人财富的积累是一个人的“资源整合能力”的综合结果,而绝对不是一个人的技术能力单方面决定着的;在过去的经历中,我遇到了太多的“头脑聪明,技术高超”年轻工程师,他们在技术领域很聪明,但是缺乏在公司具体的人际关系环境下生存的“基本人际关系网络”管理能力,而变成了一个典型的“愤世嫉俗”的人。技术与个人智商高或者乃至上学时期的学习成绩好绝对不意味着一个人更容易通向财务自由与事业成功之路。年轻阶段有一定的技术积累是非常必要的,但如果彻底沉迷于技术,而不是着眼于个人5到10年以后你个人的事业成功所必须依赖的核心能力,行业背景和人际关系网络等因素,迟早有一天会陷入人生的被动局面里面去。
4) 不要抱怨自己所处的公司环境的复杂性并抵触之,其实无论是到管理水平很高的跨国公司还是管理很混乱的一些民营企业,只要存在人的地方,而起这些人之间只要在工作内容与职责上存在相互以来的关系的话,就不可避免有各中形式的人事斗争,在这种公司环境中,有些人善于分析公司内部环境与权力动态,并知道如何恰当发展自己并保护自己的利益免受伤害,他们锻炼了一种在复杂环境下的“领导能力”,而有一些人却在这种复杂的环境下变得“愤世嫉俗”或“冷眼处之”
5) 个人的职业历程的发展模式是:随着个人在职业生涯的年数的增加,你在职场里有效开展工作,并应得工作业绩和个人收益的核心能力就尽可能少的以来技术本省的东西,而是个人的管理与领导能力还有在行业内的关系网络以及这些因素所必须以来的一个人人际关系能力与人际交往素质
6) 不要按常理“出牌”,大多数人平凡的生活着,就是因为大多数人的思维被模式华,所以他们做事情并没有真正用自己的大脑深入的钻研事实的真相并作出自己的选择与判断