对程序员职业的一些建议
自从四年前被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 无删改 仅以此纪念陈皓(左耳朵耗子)
自从我发布了“Scrum为什么不行”,并被CSDN推成首页头条后,我在我的新浪微博上就经常被敏粉们@去讨论他们的一些话题。他们似乎想要从我这里听到一些不同的声音,我很喜欢他们的…
写了一个虚拟币的价格监控程序,有异动的时候就邮箱提醒,发件地址是 [email protected] 。 晚上刚开始跑的时候正常,发了信就能接收到通知,设置的发件人姓…
想更新下笔记本,主要就是上班写代码用,就开下 vscode, chrome, xshell 就够了。不打游戏,不怎么用来看视频电影。所以感觉核显就够了。希望内存,ssd 大点,…