规划自己的职业道路,以及人生道路是,我们已经不必再来讨论他的重要性,只有谨慎对待。规划更要根据个人的理想,从实际出发。那么怎么才算实际呢?所谓的实际应当包含以往的经验、现有掌握的技术、教育背景、现实的工作环境、以及一些其他因素。如:婚姻、年龄、学习能力。花一些时间来思考这些问题,不能总是跟个感觉走,也不能总是太理想主义。
1、经验对一个人来说是绝对重要的,频繁的跳槽无疑是职业生涯的最大忌讳。如果是为了一点点工资而转移阵地那更不值得。所以不管当初是因为兴趣、还是因为无所选择而介入这个行业,这么多年的体会也绝对是一笔财富。如何运用我们的经验以及如何掌握更多才是值得考虑的。
2、衡量一下现有掌握的技术,要不要在学习新的技术。这一点也相当重要,就这个行业来说你不学习就势必落后。但新技术太多了,很多朋友还在感慨XXXX还没用熟,XXXX又出来了。在这一点上,我对新技术的定义是,你未知的技术都是新技术,也许它已经出来好多年了,但他很好用。我们的目的是在于解决问题。所以在学习新技术也就带有了一定的选择性,不能一味的追求,什么东西比较绚,什么东西强,永远从提高生产力和时间成本上考虑。总结这一点就是,要不断的学习,从而增强自己解决问题的能力,这样就永远不会out。(但如果你是绝对新手,还是多学点新技术好)
3、我的学历很低,要去自学考一个证吗?这个可以从成本和收益上考虑。考虑一下你现在的工作一年的收益是多少。如果考到一个证书,一年的机会收入是多少。继续受教育所花费的时间、以及其他成本是多少。还要考虑其他的影响因素。我的建议是,这个证书真正有用,让你能达到一个比别人更高的起点;你的志向中学历有最基本的要求,如果有这两点当中的任一点,你就应该去考取文凭。
4、如果现实的工作环境还不错,那在好不过了。每个人都应该珍惜自己的这份工作,首先是要干好自己本职的工作。希望能根据公司的制度的到晋升。现实当中可能并不会这么尽如人意,好多人努力工作不一定能得到回报。但大多数情况,你的努力领导会看在眼里,你应当在适当的时候向领导提一下。如果你的老板不太抠门,我想10有89还是能成功的。如果实在是不行,也不能怠慢工作,你应该在工作中得到更多的行业应验、提高综合素质。如果你的所做的工作,或者是你自身已经对公司来说具足轻重的时候,我想钱不是问题。
5、还得考虑一些现实的问题,你得花一些时间来找女朋友、陪老婆逛街。还有很多事情需要考虑。
以上是在做职业规划之前需要考虑的一些实际的问题。接下来具体的分析如何实现,在最后你可以根据自身情况给出一套合理的解决方案。以下是一个帮助个人分析发展、学习的导图。其中你看得出有很强个人色彩,很多的地方都只是提到了微软的技术方案,而忽略了其他的,你也可以再此基础上加以补充。
一、在工作中寻求提升
我给出了3类程序员可能发展的方向。其中最强调的就是在工作中得到提升。在工作中提成,一般对程序员说来有2个目标。一个是做架构设计-将来可以做产品的规划,或者项目规划和指导。另一个往管理发展,将来可能涉及的不知是单纯的技术。以下的步骤只是一些常规的做法。
目标 | 第一步 | 第二步 | 第三步 | 第四步 | 第五步 |
架构方向 | 1、基础必备:至少看过2本语言基础书和一本领域技术书。 2、部分参与项目1-2个。 所需时间:3-12个月 |
1、行业知识领悟、扩展相关应用知识。 2、完整参与项目1-2个。 3、可以指导新人完成工作。 所需时间:6-12个月 |
1、深刻理解面对对象知识。熟悉常用架构,对公司采用的架构能提出改善意见。 2、参与需求讨论并能提出简化方案。 3、能为决策提出一些建议。 |
1、能够对整体需求方案做出精确描述。 2、运用一种架构对项目、产品进行设计。 3、评估项目风险、以及预留方案。 4、实现核心组件、技术难关。 5、行业技术指导。 |
艺术领域 |
管理方向 | 1、学习常用项目管理工具。 2、学会人际交往、协助项目管理。 3、和三教九流交朋友学会喝酒。 |
1、熟练运用一种项目管理工具。 2、能采用非技术手段实现需求(不用写代码的) 3、了解行业动向。 |
上表中第一步、第二步是基础阶段,都可以在制定的时间内明确的达到目标。当你进入第三步的时候,应该就有点主要开发人员或管理助理的意思。等到第四步的时候就应该上位,如果一直不上位也很难发展。至于怎么上位,也许还得学习一些其他方面的知识。后两步都跟具体的成长环境和个人领悟相关,更多地是需要你学习本行业的知识,然后运用你所学到的技能将他用软件的形式表述,具体的做法也只有到自己领悟了。到了最后就达到了艺术的领域。我的上图给出的一些知识点,关于企业级应用开发说的比较多一点。这些也最多只能让你达到第3步,如果和你所从事的领域一点不沾边,你需要针对自己所从事的行业,列出能解决自己行业需求的技能,划出主次,针对不同的步骤,找出重点学习的知识点。
和人相处、与人沟通是当中隐含的,但非常重要的一个因素,只有掌握了这一点,才有可能达到艺术的领域。
最后还是强调那句话,能够解决问题才是王道。
二、树立自己的品牌形象
这一点必须是在你经历了一定的磨练之后再能够进展,至少你应该在原先的企业内已经完成了前三步的目标。已经积累了很多的行业经验。
如果你从开始就考虑要自己干,就要从上述表格第一步的时候开始准备。要将自己本身就看做是一个品牌。在和客户、和同行、和老板沟通的时候要处处注意维护你的形象。即使你没有任何产品,你的名字就是最好的产品,把自己推销出去。很多时候客户买你的产品不是因为你们的产品有多么的好,而是认可你的公司,或者是认可你们老板,或者单纯的喜欢你。所以一定要培养自己的行业名气,最重要的是合作机会。说不定就因为某个客户的一个单子,你就起来了。
一旦你树立了自己的形象,你还需要一个属于你自己的团队。得要有一些人愿意跟着你干。你需要一个很强的可以搞业务的伙伴,也后可能你从此再没机会写代码了。有更重要的事情等着你去做。
不能总是在等待时机,永远没有100%的把握!一定要自己为自己创造条件。要闯出自己的事业,就不要彷徨、不要犹豫。
具体的做什么,我觉得行业软件还是最有利可图的。至于开源项目、自己做控件、或者开发个什么小众软件、以及轮子工具,都似乎有些不靠谱,结合自己的经验做跟行业,企业打交道的产品。
三、其他道路
好多人在感慨,程序员路在何方。路永远就在脚下,看我们怎么走。鲁迅说的,踩也要,踩他一条路出来。
当你有了一定的项目经验,并积累了一定数量的代码,不妨可以在网上找找有什么外包项目。但是我个人觉得私活很难做,通常你能够接到手的项目都是一些很小的不够塞牙的项目,即使有大点项目也一定是别人都挑剩下的,有的可能是二手、三手的项目。在这这种项目,你的利润又有多大,多半的利润是被一层层的拨掉了。即使有,你还是否还需要一个小小的团队。另外,你可以上英文网站上看看,很有可能能找见不错的项目。
行业顾问是个不错的营生,在实际中,行业顾问还是兼职的好,因为只有你真正在这个行业里从业,人家觉得你才更可信。一般来说,这需要的不仅仅是行业知识,而且需要你有很好的人缘,不管是从客户方,还是你的委托方。你都是熟人,那就要办事了。有时候委托方需要的不是一个顾问,而是一个和他的客户协调关系的人,而正好你和双方都很熟,那你就不顾而问了。
很多高手都写书,也书不仅能成就自己,而且能帮助他人,是非常好的一件事。对于写书来说,我觉得现在很缺关于行业内解决方案的书。也许是因为业务太过繁杂,没有统一规范吧。新手的书最多,因为需求最大。从一个读者的角度出发,我希望看到这样的书。1、经验类的如:《asp.net 2.0 编程珠玑》、《走出软件作坊》。2、对于某种技术的整体介绍如:《Expert C# 2005 Business Objects中文版》这本就是作者为自己的开源框架CSLA所写的介绍。3、领域领导者的高手书:象Martin_Fowler、Jeffrey_Richter 的书。我不喜欢的书是这样的:1、伪文档书,一般书上千页,就是官方帮助的翻版。2、故弄玄虚:名字挺花,一看才知道都是被人写滥了的东西。3、教课书:这是比喻的说法,意思是作者的口吻太僵硬、学术化,即使作者的水平再高,我希望作者写作的口气能活泼一点,口语话一点。最后说的事,不一定我不喜欢的就赚不了钱。写书也需要名气和口碑,再加上一点宣传,就差不多了。有写书计划可与博客园联系。
路肯定不止这些,这些也只是为你的职业计划所提出的一点点的建议。
FQA:
1、如何成为高手。
答:把手放在头上,你就是高手了。
2、先就业还是先择业。
答:如果你有明确的目标,已经对这个行业有了一定的了解,一定要慎重选择。一定要高起点,一步走错,以后不好回头了。如果你什么都不知道,那随便选择个工作,看看形势吧。
3、我现在从事的工作不是我的兴趣。
答:明确目标,如果你的工作能促进你目标的达成,忘掉你的兴趣吧。(呵呵,我的兴趣是游戏开发,可是我做企业应用的)
4、我想换工作了。
答:1)为钱?
别换。
2)离家远:
想好是不是要回家的,还是决定在这个城市发展。早点决定。
3)我现在的公司没发展:
小公司也是很有发展前途的,你能很快的进入更高一级目标。
4)公司环境不好,人都很垃圾:
先学好跟人相处吧,那的人都差不多。
5)得罪了老板、老板对我有成见:
这混不下去了,早点撤。
6)领导水平一般,我学不了东西:
自己学了,不要老乞求别人帮你。
7)其他原因:
辞吧,你去意已决。
5、C# or Java
答:C#.
6、要学Silverlight /HTML5吗
答:这个现在火,你工作要是能用到,就学吧。如果你靠这个找工作,也学吧。
7、英语?
答:这个永远放到第一。
8、怎样推销自己。
答:学会喝酒,加入微软社区精英计划。
9、黑客、破解有搞头吗?
答:有、耐得住寂寞再说。
10、经常看博客能增长知识吗?
答:悄悄告诉你,经常看博客是浪费时间,读好的书和实践才是王道。博客是扩展你的知识面,一般时效性比较高,如果没有相应的书,可以从博客中找到一些资料,如果想系统的学习一门技术,还是找本好书吧。
11、我技术水平高工资低。
答:逐渐克服自己的心里弱点和性格缺陷!多疑,敏感,天真(贬义,并不可爱),犹豫不决,胆怯,多虑,脸皮太薄,心不够黑,教条式思维。。。只在床上想一想当然不可能,去帮朋友守一个月地摊,包准有效果,去实践,而不要只想!不克服这些缺点,一切不可能,甚至连项目经理都当不好--尽管你可能技术不错!
12、要学的东西太多了,不知道从何开始。
答:针对目标,划一条主线上面是必须要掌握的知识和工作中最需要的知识,先学。然后向两边扩充。