对程序员职业的一些建议

对程序员职业的一些建议

自从四年前被CSDN采访后(“职业规化就像软件工程”),经常会有网友(尤其是刚毕业的)写邮件来问我一些程序员职业生涯的一些问题,至到今天。比如,国企还是外企的选择,一直编程有没有前途等等问题。面对这样的邮件,我感到有很大的压力,因为如果我的回复很有可能会误人一生,但我另一方面又很想帮助这些人。所以,我基本上还是会尝试回一下这样的邮件。昨天,我又回了一封。但是我心里还是有点忐忑不安。害怕说错了什么。

今天,我想把我的一些思路和建议写在这里,一方面供大家参考,另一方面也想听听大家对我的评判,这样不但对更多的人有帮助,同时对我自己也是一个帮助。

下面是某网友前天给我发来的邮件:

我是一个刚刚毕业的大学生,我觉得自己对于程序员这个行业感到很迷惘,所以发邮件打扰您一下,麻烦了。

我今年正在找工作,我现在有几家国企的offer,百度的offer还在等待,我觉得第一份工作对我来说很重要,因为第一份基本决定了近几年或者一辈子你在哪个行业发展。家里人都是希望我签国企,但是我自己对技术很感兴趣,一直希望能在技术上面走下去,签国企虽然很轻松但是我总觉得在技术上学不到什么有用的东西,所以我个人倾向是去百度。

我现在很迷惘的是,如果我一直在程序员这个行业上走下去,以后的出路应该是什么呢?还是一直到高级工程师,还是项目管理这种程度吗?

我现在听很多人在说程序员必需要转行,因为一辈子在编写代码,没有什么好的出路,对于这点,您有什么看法吗?我现在才刚刚从学校毕业,对IT这个行业也不是非常了解,但是我觉得自己自学能力很强,而且确实很想学些东西,你对于一个刚刚毕业的计算机学生有什么建议吗?

信件的内容我没有改变,我相信很多人都有相似的问题。我昨天给这们朋友回复了邮件,下面是我回复内容的一个整理。欢迎大家讨论。

首先,我想说的是,这些东西只是我根据我的经历给出的建议,仅仅供大家去参考你的路你的人生要你自己决定,不要轻易的让人帮你决定,那怕是你的家人

如果我们把所的问题一起谈,那怎么说也说不清楚,所以,请允许我“关键点分离原则”来分开说说。

一、对技术的热情

如果我们喜爱编程,喜爱技术的话,那么,我们就会投入热情,自己会去专研很多东西。就像你以前对某个东西痴迷一样,你可以在工作之余还在学习和专研这些东西,你会经常和人讨论这些东西。不知道你是否会和我一样有一种感觉,如果你不学习技术,你不去专研,你就怕被淘汰,你就会感到不舒服。

所以,我们一定要问我们自己一下,我们自己喜欢技术吗?喜欢技术到什么程度。只是感兴趣还是喜欢?这两个不一样。兴趣能让你开始让你执着,但只有喜爱才会投入热情,只有投入热情才可能会出成绩。这个问题你要问问自己。

  1. 你有多大的热情在这个事业上?
  2. 你对你自己的自我价值的实现的诉求有多大?

如果你很有热情,可能到了有些痴迷的程度的话,比如,你会因为专研某个问题,学习某个东西,尝试某个东西,达到废寝忘食的程度,而且以些为乐,那么我非常建议你走技术的路线。

二、对技术的能力

有兴趣,有热情,并不代表你就一定行。你需要很清楚地认识到,你还需要有能力(我在《再谈“我是怎么招聘程序员”》一文中说了程序员的四个事,操作技能,知识,经验,和能力,大家可以去看看我对“能力”的定义)。你需要反思和重审一下自己是否有能力,你的学习能力怎么样,是经常需要问人,还是可以自己专研?你的思路怎么样,是否能被有经验的人认可,还是能够影响别人?

兴趣和热情只能让你很执着,但并不一定能让你走好这条路,只有你的能力和你的强项才能让你走好这条路。希望大家能够清楚地认识到这其中的差别。

所以,你一定要对自己做出一个判断,要学会反思,如果你是有能力的适合走技术路线的人,那以我非常建议你走技术路线。

我也尝试创过业,但我觉得我这种人是“谋士”,不是能攻城拔寨的“将军”,创业更需要的是“将军”,我目前只能是一个辅佐他们的“谋士”,所以,我也只能尽力能成为一个级别高点的“谋士”。

三、再说说工作的事

我比较同意的”第一份基本决定了近几年或者一辈子你在哪个行业发展”,但又有一点点不是很同意。因为我毕业的时候,在银行混了两年,然后又去一个国企业呆了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 ,请勿用于任何商业用途)

好烂啊有点差凑合看看还不错很精彩 (71 人打了分,平均分: 4.69 )
Loading...

对程序员职业的一些建议》的相关评论

  1. 我也希望能一直做技术,我想我坚持10年一定会有一些竞争力的。 不过我这么考虑,仅仅是为了谋生。我发现不了我自己的特长,也没有很大的热情。 因为,我没上过大学,通过自学去年底进入一家小IT公司, 在工作中我觉得自己的知识,能力都很欠缺。不过看了楼主的文字,对我有很大的激励。

  2. 我也经常思考这些问题,楼主做了很细致的分析和比较,真的很感谢。
    不过我觉得职位,薪水,福利应该是和能力,经历平行的概念。一个人的待遇基本等同于他的能力。能者多得的道理是很浅显的。不能说待遇什么的是附属品。量变到质变之前的阶段就是待遇相对较低的阶段。呵呵 我世俗的观点,楼主见笑了

  3. 我的情况也许比较特殊,大学不是计算机专业,毕业后做了3年QA,然后又做了3年手机应用软件开发,最近又想转到嵌入式驱动开发。其实也挺迷茫,不知道路走得对不对以及自己能不能坚持下去。但心中总有一个幼稚的梦想,梦想自己有一天对计算机了如指掌,知道程序运行的每一个细节。。我经常会问自己,如果不做这件事以后会不会后悔,如果回答了是的话,我就会尝试去做,趁现在没有太多顾虑,趁理想还没有屈从于现实的时候。

    1. 我顶你这句——我经常会问自己,如果不做这件事以后会不会后悔,如果回答了是的话,我就会尝试去做,趁现在没有太多顾虑,趁理想还没有屈从于现实的时候。我也经常问我会不会后悔这个问题,我也会经常问我理想这个问题。

  4. 我也是一个马上要毕业的大四学生,我也曾经很迷茫,不知道自己的选择是不是对的,尤其是家人期望我考研或者进入国企的压力,曾一度让我很很难抉择。最后我还是选择了我自己的理想,坚持做技术,也成功获得了华为研发的Offer,我相信只要坚持自己的道路,就算是遇到坎坷,也不会后悔。对于职位和待遇,我认为只要努力,只要拼搏,总是能够得到相应的待遇的,这也许是我未经社会的理想化的想法,但是只要坚信,我觉得没有什么不可以的!

  5. 大学毕业有一年了,想起一年前毕业时也拿到了同界毕业生中较好的金山的Offer,总有种抱负在IT界中实现技术职业理想,但现实的残酷不得不让人退让与无奈,不久前我离开了金山,走进了一家小公司,职业规划进入了恍惚迷茫期。
    是不是曾经青春的棱角就会这样一点点被磨平了?活在现实生活中苟延残喘,只为了谋生而混着混着,最终锐化得越来越平庸。

  6. 兄弟,你的文章一直写得很好。

    其实很多人选择空间不大,因为能力一般,或者在入学时就已经是选错的了,我们的教育体制决定了这点,大多数人都不太自我,不知该如何选。走着走着,就越走越远,没得选了。

    其实无论是哪条路,只要你愿意钻下去,都肯定能做好的,别以为编程是年轻人的吃饭,编程不只是耍几点小聪明而已,国外好多牛人都是老年人了。

  7. 不是对楼主的打击。。。只是楼主的结论有一个前提,就是你的得到是以你的付出作为度量的,俗话就是说一分耕耘一分收获。。。但是在中国社会,真的不是这个样子,,,,毕业后你就会和你的同学比较,然后想为什么自己的能力比他们高但是获得确没多多少甚至还不如(那些人大多就是垄断国企的)~~~~

  8. @霜天
    1)我有点同意你。所以,我在文章中说了一下,体制内和体制外在大城市和小城市的情况。在小城市,我还是建议大家进国企(垄断企业)或事业单位。
    2)就我身边的案例看来,拿我身边同学来比较,大多数人的能力和收获还是成正比的。
    3)我的经历并不一定就是大家的经历,我的这篇文章有我个人经历的局限。
    4)如果你觉得去北京上海物价太高,那不妨考虑出国,对于现在的国情,出国还是比较好的选择。

  9. // 千万别去一些不起眼的小公司

    这也许是大部分没有在崇尚技术的小公司呆过的人们的普遍观点,我更愿意相信只是大家的臆测,而不是身在大公司的优越感。从我在大小公司的感受,想要快速地提升自己的能力、经验、知识、技能,小公司比大公司更合适你,当然压力也更大,工作中的噪音也更多,但是想出来创业的雄心勃勃的同学们,不见过风浪怎么能在暴风雨中存活下来呢?
    我觉得第一份工作能尽量进大公司的确是有好处的,能够帮你建立起一套规范的、成熟的工作习惯了思维方式,经过一两年(在激情还没被磨灭之前)再挑一个靠谱的、能赌上自己前途的小公司(比如同事朋友等推荐过去的或是他们联合创立的)一起成长一遍,无论公司的成败,对个人来说,那都是成功了

  10. 根据中国的现在国情来看,如果你有自我价值的诉求,你要去大城市,去好的公司,走体制外的路线,如果你又不想来大城市 ,只想呆在地方的话,那么,我个人非常建议你走体制内的路线,在地方,只有体制内的路线是最好的。

    千万别去一些没有前途的小公司(要去小公司你得看看这个公司的人和业务),很多不起眼的小公司现在都变大了,能和一个公司一起成长是相当难得的(我现在就特别想要这方面的经历),现在这个社会,与其去那些很难成长为大公司的小的很不规范的公司,还不如自己创业。

    这两段给了我很多帮助,谢谢博主。

  11. 我真得很想说两句。在大学的时候,寝室的哥们和我说,他什么爱好都没有,不知道自己以后要干什么。后来我慢慢的发现,好多人都是如此,没有爱好。我想这才是主因。国外的geek都是一群技术爱好者。所以我毕业的时候,就打算走这样得道路:用一生去尝试,自己喜欢什么。所以现在只要我想作什么,就毅然的去作,什么都不管(自然,不违法哈)。这也和我的家庭环境有关系,家里我不论作什么都支持我。所以真的应当把自己过的快乐作为最重要的考虑因素,而不是别的什么。

    如果你选择了一份你喜欢的工作,那么你从早上8点到晚上6点是开心的。如果你找了一个你爱的老婆,那么晚上6点到第二天早上8点是开心的。生活就是这么简单,不是么?

  12. @xingfinal
    如果你选择了一份你喜欢的工作,那么你从早上8点到晚上6点是开心的。如果你找了一个你爱的老婆,那么晚上6点到第二天早上8点是开心的。生活就是这么简单,不是么?

    这句话写的很好

  13. 当面对这类问题的时候,问自己:
    知道自己是谁、知道自己可以是谁、知道自己希望是谁
    当在一份工作上的时候,每天晚上睡觉前,问自己,假如明天就辞职了:
    雇主会怎么样、我会怎么样、为什么要辞职

  14. 我是研三的学生,很早就签了华为,之前也觉得自己对事业有比较明确的想法,但是去深圳考察了一下又很犹豫,因为看我那些在华为工作的同学的生活,觉得除了工作就是工作,似乎很难有什么幸福感而言,而且我师兄推荐我去一个研究所,有编制,待遇还不错,但是我知道其实在研究所里就是论资排辈,很难很高效的学到什么,看了这篇文章,我要好好思考一下

  15. 博主写的还是很诚恳的,特别是第四节技术可以做多长,如果技术能让我踏实的话,我会义无反顾的.这世界上根本没有容易的东西,说编程不好做的,到了其他行业也会不好做,还是看人.
    李笑来说有人常把兴趣和努力的顺序搞反了,他的意思是只要你学的足够好了,比其他人都好,兴趣自然就来了.
    技术之外还有生活,如果这个职业能给我带来稳定宽裕的收入和再多点的工作之外的时间,我就满足了

  16. 我是软件工程的大学生,本科,这篇日志给了我很多思考。现在大二,其实说来对未来根本没有什么思考,考研,公务员……很多条路摆在面前。其实感兴趣跟喜欢这样的感觉,在我进大学以来,对于编程、开发,已经有了改变了。楼主的日志给了我很大的鼓舞,我能在这条路上越走越好的。

  17. 看了帖子很有感触。我从小喜欢计算机和编程,各种竞赛也得过奖。只不过高考填报志愿失败,被调剂到大学学的化学,期间还是把大部分时间给了计算机。后来毕业了工作找的也是计算机,不过是软件测试,再后来跑来瑞典上生物计算的硕士,没有了周围人的“教导”,加上接受周围欧洲人的世界观影响,决定放弃学业。现在在瑞典一家公司做自动化测试,每天都很开心,不用只在业余时间写代码了。有时候也会提交一些补丁。虽然自己浪费了6年时间,但是总比一辈子强。很羡慕你一开始就有机会学计算机。

    只是搞不懂国内为什么这么多人觉得做技术不能做一辈子。这里有十几年的经验的开发人员绝对比一个十几年管理经验的人员要吃香,当然也更难找。当然,每个人合适的工作不同,如果你有这方面兴趣,总会有机会出现的。

  18. 我今年毕业,也在找工作,同样面临抉择问题,有Offer的那份不需要太多编程的东西,可是我个人比较喜欢,希望能在工作进一步锻炼自己,可是自己喜欢的工作,还在等待中

  19. 【虽然我今天是经理了,但是我还是喜欢编程。我以前也听到过别人说的——做技术太辛苦,没前途。我并不这样觉得,因为我觉得技术是实实在在的东西,很实在,这让我很踏实,踏实的感觉得好】
    辛苦和踏实不互斥。做技术不辛苦,是因为你已经是经理了。一个公司、全中国程序员里,能做经理的有多少比例呢?不要说“你也去做经理啊”。
    我写程序22年了,从总工、经理都做过。。。。。。现在只是一个不用加班的程序员

  20. 【比如你的职位,薪水,福利,等,我从来都不是很关心这些东西,这些都是次要的(其次重要的),最重要的是你的能力和经历,是那些可以写在你简历上的,让你引以自豪的经历和能力】
    只有xx不成问题时,才会觉得xx是次要的、不是很关心。xx=职位,薪水,福利。。。。。。
    而这个社会,大多数人达不到这个经济水平,而社会又是攀比、势利的。
    哪怕你可以不在乎,你岳母可能会在乎,你小孩的老师也可能会在乎

  21. Zhe :看了帖子很有感触。我从小喜欢计算机和编程,各种竞赛也得过奖。只不过高考填报志愿失败,被调剂到大学学的化学,期间还是把大部分时间给了计算机。后来毕业了工作找的也是计算机,不过是软件测试,再后来跑来瑞典上生物计算的硕士,没有了周围人的“教导”,加上接受周围欧洲人的世界观影响,决定放弃学业。现在在瑞典一家公司做自动化测试,每天都很开心,不用只在业余时间写代码了。有时候也会提交一些补丁。虽然自己浪费了6年时间,但是总比一辈子强。很羡慕你一开始就有机会学计算机。
    只是搞不懂国内为什么这么多人觉得做技术不能做一辈子。这里有十几年的经验的开发人员绝对比一个十几年管理经验的人员要吃香,当然也更难找。当然,每个人合适的工作不同,如果你有这方面兴趣,总会有机会出现的。

    国内环境恶劣很多,40岁的人,还想做程序员,老板也不愿要了
    不要说“是牛人,老板请都请不到”,1、多数人是成不了牛人的;2、国内企业,技术真不是最关键的,能赶时间(不怕加班再多)、待遇低(青年想不到养老、健康保险),就行了

  22. @Zhe
    我想知道下,你如何从国内的软件测试行业然后跳到瑞典读硕士呢,能说下你的经历吗?

  23. 感谢陈大哥,文章非常好,对即将工作的和已经工作几年的人都很有启发,也是很好的提醒。
    不过对于你举的QA同事的例子,我有些不同的看法,本人做QA有几年时间了,对这个工作也有了一些认识。我并不认为转Dev是QA的所谓的努力的方向,那是部分人的目标。软件测试作为整个软件开发中重要的环节和工作,本身也有很多的发展的方向,如我最近一篇blog提到的。所以问题不是在做了这个方向,而是在于这个人他自己,有没有努力去发展。当然,因为各个组织的状况不同,测试人员的发展的待遇也很不一样,但是比较大的公司都是很重视的,而且待遇等方面和开发是一样的。

    1. 谢谢你的认可。你可能误解了我的原文了。我没有建议她转Dev,是她自己本来就想做Dev,但是因为想去大公司就先委屈求全做了QA,她自己一直都想转Dev,所以,我给了她很多建议,但是4年来没有什么进展,现在她很难转Dev了。 我想说的不是Dev和QA最好最不好,我想说的是,你的头4年做的事,会影响到你的职业生涯

  24. 程序员,,,偶毫无压力地拒绝了百度的Offer,然后选择去了南方电网,,,

    在中国,,,很多事情很难用常理来解释的,比如职业这样的选择,很难说这样比较好或者那样比较好,真正的选择都是在最后一刻才会决定的。

    总之就是很难解释的事情,,,

  25. 我也是今年本科毕业,考研了。想法同陈皓先生的差不多。我觉得所谓对技术的执着和热情就是在面对世俗的金钱、权利、地位或者更具体些房子、财产和朋友家属之间的攀比时,你是否还能淡泊,还能坚持自己的执着保持自己的热情,是否还能从中获得内心的满足和快乐。陈皓先生的第二点”技术能力”,一方面是天赋,另一方面还是受限于自己的“执着”程度,你越执着越有热情,那么技术能力的影响就越小。最核心的还是要认识自己。
    现在的我担心的不再是工作的事,而是几年之后是否还会有现在的热情,人一辈子最好能有一个可以为之废寝忘食的又可以养活自己的本领,我要继续的培养自己的热情。再次谢谢陈皓先生的博文给了我一些共鸣和启发。

  26. @Ricky

    有人对QA也许有误解,个人认为要成为一个好的QA,需要很强的综合素质,需要精通业务,还要懂技术,同时还有非常强的沟通能力,包括技术和业务。而不是说技术不够好的DEV可以退而求其次去做QA,本质工作都做不好的人再换神马工作估计也不行。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注