对程序员职业的一些建议
自从四年前被CSDN采访后(“ 职业规化就像软件工程 ”),经常会有网友(尤其是刚毕业的)写邮件来问我一些程序员职业生涯的一些问题,至到今天。比如,国企还是外企的选择,一直编程有没有前途等等问题。面对这样的邮件,我感到有很大的压力,因为如果我的回复很有可能会误人一生,但我另一方面又很想帮助这些人。所以,我基本上还是会尝试回一下这样的邮件。昨天,我又回了一封。但是我心里还是有点忐忑不安。害怕说错了什么。
今天,我想把我的一些思路和建议写在这里,一方面供大家参考,另一方面也想听听大家对我的评判,这样不但对更多的人有帮助,同时对我自己也是一个帮助。
下面是某网友前天给我发来的邮件:
我是一个刚刚毕业的大学生,我觉得自己对于程序员这个行业感到很迷惘,所以发邮件打扰您一下,麻烦了。
我今年正在找工作,我现在有几家国企的offer,百度的offer还在等待,我觉得第一份工作对我来说很重要,因为第一份基本决定了近几年或者一辈子你在哪个行业发展。家里人都是希望我签国企,但是我自己对技术很感兴趣,一直希望能在技术上面走下去,签国企虽然很轻松但是我总觉得在技术上学不到什么有用的东西,所以我个人倾向是去百度。
我现在很迷惘的是,如果我一直在程序员这个行业上走下去,以后的出路应该是什么呢?还是一直到高级工程师,还是项目管理这种程度吗?
我现在听很多人在说程序员必需要转行,因为一辈子在编写代码,没有什么好的出路,对于这点,您有什么看法吗?我现在才刚刚从学校毕业,对IT这个行业也不是非常了解,但是我觉得自己自学能力很强,而且确实很想学些东西,你对于一个刚刚毕业的计算机学生有什么建议吗?
信件的内容我没有改变,我相信很多人都有相似的问题。我昨天给这们朋友回复了邮件,下面是我回复内容的一个整理。欢迎大家讨论。
首先,我想说的是, 这些东西只是我根据我的经历给出的建议,仅仅供大家去参考 , 你的路你的人生要你自己决定,不要轻易的让人帮你决定,那怕是你的家人 。
如果我们把所的问题一起谈,那怎么说也说不清楚,所以,请允许我“ 关键点分离原则 ”来分开说说。
目录
一、对技术的热情
如果我们喜爱编程,喜爱技术的话,那么,我们就会投入热情,自己会去专研很多东西。就像你以前对某个东西痴迷一样,你可以在工作之余还在学习和专研这些东西,你会经常和人讨论这些东西。不知道你是否会和我一样有一种感觉,如果你不学习技术,你不去专研,你就怕被淘汰,你就会感到不舒服。
所以,我们一定要问我们自己一下,我们自己喜欢技术吗?喜欢技术到什么程度。只是感兴趣还是喜欢?这两个不一样。 兴趣能让你开始让你执着,但只有喜爱才会投入热情,只有投入热情才可能会出成绩 。这个问题你要问问自己。
- 你有多大的热情在这个事业上?
- 你对你自己的自我价值的实现的诉求有多大?
如果你很有热情,可能到了有些痴迷的程度的话,比如,你会因为专研某个问题,学习某个东西,尝试某个东西,达到废寝忘食的程度,而且以些为乐,那么我非常建议你走技术的路线。
二、对技术的能力
有兴趣,有热情,并不代表你就一定行。你需要很清楚地认识到,你还需要有能力(我在《 再谈“我是怎么招聘程序员” 》一文中说了程序员的四个事,操作技能,知识,经验,和能力,大家可以去看看我对“能力”的定义)。你需要反思和重审一下自己是否有能力,你的学习能力怎么样,是经常需要问人,还是可以自己专研?你的思路怎么样,是否能被有经验的人认可,还是能够影响别人?
兴趣和热情只能让你很执着,但并不一定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路 。希望大家能够清楚地认识到这其中的差别。
所以,你一定要对自己做出一个判断,要学会反思,如果你是有能力的适合走技术路线的人,那以我非常建议你走技术路线。
我也尝试创过业,但我觉得我这种人是“谋士”,不是能攻城拔寨的“将军”,创业更需要的是“将军”,我目前只能是一个辅佐他们的“谋士”,所以,我也只能尽力能成为一个级别高点的“谋士”。
三、再说说工作的事
我比较同意的”第一份基本决定了近几年或者一辈子你在哪个行业发展”,但又有一点点不是很同意。因为我毕业的时候,在银行混了两年,然后又去一个国企业呆了2年。所以,第一份工作并没有影响我的职业。但是,我必需承认——当我从银行出来的时候,我落后了,落后了还很多,我花了近5-6年的时候才把这个差距追了回来。
所以,我有几个观点想告诉大家:
-
第一份工作并不决定你的人生
。因为你可以在2年内换工作。但是你头四年的做的事会对你的职业有影响。这里,我有两个案例分享一下。(我不用说太多了,相信大家自己能体会)
- 一个是我的同学70后,他以前是程序员,干了5/6年后不想干了,想转行,结果转不了,因为他的工作经历让他很难转行了,他问了一下自己是否愿意和那些刚毕业的80后拿一样的工作一起竞争,最后他自己都不愿意。后来,他去读了MBA,现在还做IT,现在做一些业务咨询方面的工作。不能算失败,但是时间浪费了。
- 还有一个是我的同事,她CS专业毕业想做程序员,但最后为了进一个好的公司只能做QA,现在4年多了,她很想很想做dev,但是却抱怨工作没有给她这样的机会,4年多的QA经验让她很难成为Dev了。我从她做QA一年的时候就在和她说,如果你想做Dev,你就要有技术储备,多和dev在一起工作,QA又怎么样,如果我能读Dev的代码,我总有一天会成为Dev的。事实证明,她对技术并没有太多热情。现在也只能得过且过了。
- 如果你觉得自己在技术有自信有热情,而且已经有一些成绩了,我强烈建议你去IT公司中锻炼,越尊重技术的的IT公司越好。就像打球一样,只有和比你厉害的人一起玩,你才会得提高。
- 如果你对技术的热情一般,也没有太多的自我价值的追求,也不想拼搏,而且对吃大锅饭不反感,对没有激情的工作不反感的话,那么,你应该去事业单位,当个公务员,走走常规则的人生,养养老也不错。这里,我多说一句,根据中国的现在国情来看,如果你有自我价值的诉求,你要去大城市,去好的公司,走体制外的路线,如果你又不想来大城市 ,只想呆在地方的话,那么,我个人非常建议你走体制内的路线,在地方,只有体制内的路线是最好的。
- 千万别去一些没有前途的小公司(要去小公司你得看看这个公司的人和业务),很多不起眼的小公司现在都变大了,能和一个公司一起成长是相当难得的(我现在就特别想要这方面的经历),现在这个社会,与其去那些很难成长为大公司的小的很不规范的公司,还不如自己创业。( 更新2011/4/26 : @islet8 回复中的观点可能比我的更好——“我觉得第一份工作能尽量进大公司的确是有好处的,能够帮你建立起一套规范的、成熟的工作习惯了思维方式,经过一两年(在激情还没被磨灭之前)再挑一个靠谱的、能赌上自己前途的小公司(比如同事朋友等推荐过去的或是他们联合创立的)一起成长一遍,无论公司的成败,对个人来说,那都是成功了”)
四,技术可以做多长
在这里,我用我自己经历做个例子,我在软件编程上有14年了(加上大学里的项目就有16年了),虽然我今天是经理了,但是我还是喜欢编程。我以前也听到过别人说的——做技术太辛苦,没前途。我并不这样觉得,因为我觉得技术是实实在在的东西,很实在,这让我很踏实,踏实的感觉得好。因为,
- 我个人觉得真正的稳定是,今天我离开 这个公司,我明天就能找到相应的工作。
- 如果我的工作不成问题了,那么我就可以从谋生上升到事业的层次来。
- 只有到了事业这个层次,我才能有所建树。
另外,我觉得说出来的那些话的人要么就是“小猫钓鱼”的那些人,要么就是短视的人,你可以问问他们,哪个非技术的行业有前途,然后你去问问从事那个行业的人怎么样看?我15年来都在编程,虽然走了一些弯路,但是我很感谢那些中途退缩者,是他们让我这15年变得更有价值。15年从事同一个件事,这让我很有竞争力。有了竞争力,我的工作才不会是一个问题,我才能上升上事业的层次上来。
当然,如果你发现你不适合,你无法坚持,那么我建议你还是想清楚,别的行业你能坚持吗? 我们不害怕转行,害怕的是自己对自己缺乏认识,害怕的是小猫钓鱼,害怕的是一山望比一山高 。
五,待遇和职位
比如你的职位,薪水,福利,等,我从来都不是很关心这些东西,这些都是次要的(其次重要的),最重要的是你的能力和经历,是那些可以写在你简历上的,让你引以自豪的经历和能力。(一定要自己引以自豪)。 而你的职位,薪水,只不过是你能力和经历的附属品 。
把自己对待遇和职位的那个目标放在心里,踏踏实实做好今天的事,炼好自己的内功,注重经验的积累和总结,等待一个能让你量变引发质变的机会,用你的能力抓住它不要放手,你会发现你的路就在前方,通往这条路的门不知不觉已经开了。功到自然成,水到渠成。
以上是我的一些建议,不一定对,其可能因为我的个人经历有局限,还希望听道大家的讨论和指点。
(请勿用于商业用途,转载时请注明作者和出处)
(转载本站文章请注明作者和出处 酷 壳 – CoolShell ,请勿用于任何商业用途)
《 对程序员职业的一些建议 》的相关评论
最近比较纠结,特地来coolshell.cn找找跟职业规划有关的博文。本人刚被某校MSE录取,读这个的原因本来很简单,无非是想毕业后有个不错的收入。这两天参加入学教育,无论是校长院长都把我这个理想狠狠鄙视了一把….今天下午副院长提了下理想跟职业规划的事,我觉得有必要在学习之前好好想想了。感谢博主。
顶。
我以前也听到过别人说的——做技术太辛苦,没前途。我并不这样觉得,因为我觉得技术是实实在在的东西,很实在,这让我很踏实,踏实的感觉得好。
排这一层
前辈说的很好,收益了。
首先你要明白,天朝是个工程型的国家,不是研究型的国家。所以,技术永远是次要的,用技术去解决问题才是主要的,你要瞄准的是问题本身,而不是技术本身。研发技术的根本也是为了解决某种问题,抛开需求谈技术没有任何意义。
不过我觉得职位,薪水,福利应该是和能力,经历平行的概念。一个人的待遇基本等同于他的能力。能者多得的道理是很浅显的。不能说待遇什么的是附属品。
我经常会问自己,如果不做这件事以后会不会后悔,如果回答了是的话,我就会尝试去做,趁现在没有太多顾虑,趁理想还没有屈从于现实的时候。
天朝是个工程型的国家,不是研究型的国家。所以,技术永远是次要的,用技术去解决问题才是主要的,你要瞄准的是问题本身,而不是技术本身。研发技术的根本也是为了解决某种问题
知道自己是谁、知道自己可以是谁、知道自己希望是谁
当在一份工作上的时候,每天晚上睡觉前,问自己,假如明天就辞职了:
雇主会怎么样、我会怎么样、为什么要辞职
楼主好,我是一名25岁的新人程序员,有3年编程经验,对技术也有热情,目前在一家设备公司,弄工业控制软件,没有正规的流程,只是单独一人一个项目摸索,学多学少都考自己。但是不用加班,不用赶KPI,很自由,想学什么学什么,但是一人成长有限,求楼主给建议···我是跳槽还是继续一个人学。注:已经一年一跳了,跳槽太频繁对这行是不是影响很大。