一位36岁程序员的困惑(转)
今天特郁闷,经理找我谈话,我被炒了。以前自信的感觉完全不在,取而代之的是职业生涯的困惑,不知道向何处去。
想当初,为了学习更 多知识的我到了一家软件公司,后来一直没有离开软件行业。而我的好哥们毕业后直接进入税务局,银行,以为他们只是浪费青春,学不到什么知识,可是他们却顺 势识时务、会搞关系,擅长腐败而成功转型,都成副处或处长了。上次同学聚会上,虽然大家比较客气友好,但从内心来讲,我觉得自己已经和这些曾经最好的朋友 有了很大的差距。会吹、会喝、会将社会现象编成故事逗笑的本事我一样不会。心里想,好在自己编程还是比老同学要强吧,不过好象大家不看中这一点。
重点大学计算机专业毕业,70年生,30多岁,在其他行业都是黄金时代,可是我却现在陷入困境。
虽然经理找我谈话,绕了很多圈子,但我知道情况不是很妙,因为最近比我小五岁的经理对我太客气了。
我在很多软件公司工作过,炒过金蝶、用友的鱿鱼,做过ERP,CRM,车载电话等的开发,对COM,C++,Dephi等传统技术应用自如(当然对Java一直没有研究),在DOS下编写C语言的硬工夫绝对比现在的小年轻强很多倍,到hugoal.com上看了我的report,各项技能在我之下的 人都在95%以上,看起来年龄已成为我的劣势。
从来都是我炒别人,现在却是别人炒我了,真有点接受不了,有时候觉得自己选错了行业,这些年自己变得不善言辞,很多东西也懒得去争取,个人问题至今还没有解决,连见女孩子的激情都没有了,觉得很孤独。
到中华英才网,前程无忧发过自己的简历,当然有很多公司邀请我去面试,但是没有一点收到通知而激动、兴奋的感觉,找到一份工作又能如何了,非常担忧自己的前途。
网友评论:
(1)从你的经历我感觉到中国软件开发人员的浪费。一个程序员,大学毕业就 23~24岁了,工作的前三年看起来是在解决问题,实际上是在制造BUG,这样经过三四年的煅练,总算成了个真正的程序员了。人都28了。真正写程序写得 好的时候又要转行,唉!其实36岁正当壮年,写程序黄金时期。
(2)做技术永远都是一颗棋子,能象华为那几个人一样做到现在这么大的产业的永远都是我们的偶像,希望楼主能够振作起来,难道中国真的只有像你的同学一样钻荣谋利,投机取巧才能发展?
(3)很多老板都不懂,40岁才是程序员的黄金周期,看看别人国外的就知道,50 多岁的程序员才是高手,20多岁的是年轻,工作效率高,但写出来的代码不够稳重,而40岁的人以前都不是搞程序的(电脑在国内就流行的10几年),所以一 般会有错觉认为40岁搞编程的人都不行了
(4)说实在的,你只能算是技术主义的先驱者。看了你的经历,感觉你懂的东西确实 很多。“做过ERP,CRM,车载电话等的开发,对COM,C++,Dephi等传统技术应用自如”,但你的技术门槛不高,你会的东西,别人通过努力也可 以学会。 你虽然以高手自称,但你的技术既不可能有专利,也不会有什么版权,你只是掌握了别人规定的一个体系而已,你无法制造有独创性的技术。由于门槛低,你做的东 西别人(数量众多)也能做,于是,你的价值就在这种恶性竞争中,慢慢地贬值!你的失败其实来源于自视甚高的技术主义。
(5)我在IT业干了十年,在政府机关里混。技术马马虎虎。不过不敢出去,也不敢 碰软件。中国人的思维习惯不好。看得见的才是钱。看不见的代码不值钱。服务不值钱。最值钱的是关系。中国软件业一直不咋地就是这个原因。我这也混得烦。想 出去又不敢出去。电脑城里干我这行刚毕业的大学生也就几百块一个月。想着就没意思。还是做点其它的生意吧。卖菜也比这行赚钱!实话!
(6)仔细看了你的文章,写的很实在也很真实,总结如下:
第一,作者在技术上有一定造诣,但恃技术傲公司,可惜,信息技术“经验无法积累”的特性势必导致从业者最终被技术淘汰。
第二,唯技术论,以为只要有技术就能驰骋职场,很多人都有这样天真的想法,认为只要自身有本事就能闯天下,可惜,天下不是想象的那么简单那么容易闯的。
第三,看不起没本事特别是本事不如你但又混的比你好的人,诚如你的同学,其实根本不必去看不起,如此好的人际资源应该大大利用才行,说不定等你落了难你的处长同学还能帮你一把。
第四,作者对这份职业的前景是不是有点太乐观了,以致于做了十几年都不去自我改变,不去适应社会新的发展。
第五,作者最大的一个缺失也是最致命的一个,那就是完全没有认识到“人脉”的重要性!
顺便说一下,我也是念计算机做信息技术的,但后来主动转去MBA,到现在我还记得上人力资源管理时我们老师的第一句开场白,她说:“同学们,要记住,人际关系就是第一生产力!”
(7)所谓过了30岁不能当程序,是个非常大的谬误,30岁程序员的上升期,我的很多老外同事都是30,40多岁,这个年龄才是经验有一定积累,真正出成果的时候.在中国,把所谓的研发都交给刚毕业出校门的学生,中国的软件能不落后么? 中国的公司能不落后么?
(8)一个程序员,如果干了十几年都是当螺丝钉的,都是在大的软件公司做代码,不 被炒掉才是怪事!公司用这样的人,还不如用刚出校门的大学生!楼主也不反省反省,为什么搞了十几年程序,还是一个程序员?履历看上去很美,又是Erp,又 是Crm,又是车载电话的。请问哪一样楼主可以自己独立做出来?如果可以独立做出来或者几个朋友自己完成,楼主还会失业?恐怕是早就创业了!做软件好比盖 房子,楼主干了十几年,仍然做不了建筑师,反倒成了卖油翁一类的熟练建筑工人,不炒你炒谁?
(9)实话实说,作者那样都不行。ERP或者CRM?这种东西架构为先,J2EE 或者.NET没个5年苦功根本别说熟悉,还要加上对业务流程和需求建模,这些都是软件工程的必修课。程序员分两种,Coder和 Programmer。。。作者一看就是十多年的Coder,估计连重构、模式、设计这些都没了解过,更谈不上建模、分析、业务逻辑这些ERP的深层技术 了。车载电话属于嵌入式,C或者C++是主流,还要熟悉嵌入式底层。真正精通的可以转向DSP或者FPGA的设计,也是很深的一门学问。软件行业是个水很 深的行业,任何一项技术精通了都是牛人,一辈子永远不求上进,对软件系统没有深刻认识,更谈不上钻研的,永远是一辈子Coder,随时被新人替换。至于那 些想搞网游搞关系,靠脑子活胆子大赚钱的,奉劝一句,天上不会掉馅饼,你以为马云或者陈天桥是靠脑子活胆子大做成今天的事业的?搞笑。。。。。老老实实做 技术,不至于饿死。吹牛填不饱肚子的。
(10)我绝对不怀疑楼主的技术能力,但是,楼主,是不是除了技术能力,也没有什么其他的能力了?
36 岁了,那你做程序员也该有10多年了,一个程序员,正常情况下,5年以内,成为项目经理,再有5年,成部门经理.从你的描述来看,做了10年了,仍然没有 成为一个领导者,这应该是你的失败之所在你的同学做了这长,那长的,去掉一些干扰来看,他们毕竟都是成功的,能做领导,并不完全是靠关系的,他们必然有他 们做的好的一面我想,只重技术,而没有学习怎么样管理,那再做10年,还是难免被炒的命运!
(11)作者的技术生涯其实还不足一半,千万不要放弃。中国的计算机技术的发展总 的来说是浮躁的,很多技术青年,干了两三年的编码,就想着当管理,不去Coding了,自以为提高了一个档次,实际上这种人差着十一万八千里。当今的IT 公司,如果看到在宣扬自己“单位平均年龄小,富有青春活力......”这种话,那十有八九是个累傻小子,留不住人才的破烂公司,建议不要考虑。在下比作 者小几岁,这是我这几年工作总结出的一点点社会经验。
(12)你的那家公司也差不多倒闭了吧,你的同事也是你的下一个下场,如果他们是 菜鸟,唯一的出路就是趁现在年轻在里面学多点东西,跳到一些福利和人事完善的企业,如果是大侠,现在就跳槽(科网联就是这样的企业,员工不满跳槽走向没落 的)我们这些做技术的醒目一点,靠榨取血汗的企业就会没市场的,市场的优胜劣汰,会把具有良好生态效应的企业保存下来,那些唯资本为是的企业就去见鬼,后 来者就会越来越好哈哈,小弟是做java和linux内核与驱动方面的开发,这方面的老员工不会被看不起,像delphi,windows程序开 发,.net开发,本生不能接触底层,当平台被淘汰了或者走向没落了,你也就被淘汰了
(13)有时候我也觉得很茫然,本来本科读的是化工工艺,毕业以后2年多开始进入 软件开发。第一家公司被炒了,那是自己有点怠工了,因为那时就是贱卖自己了,一个不到2000,合同又要毁约金,所以选择了下下策。今年炒了家公司,现在 又找了一家,不知道自己会作多久或者说自己能作多久,还是个问题,我不想一天9个小时甚至更多时间面对个14寸的显示器。眼睛好疼。作完项目估计我又要走 了。不能对不起自己的身体。找工作期间收到了华为n多的电话,没去。不想自己太累。项目负责人也做过了,不要以为manager会比coder轻松,实际 上manager比coder要累要苦得多,项目从头到尾都得站在前线,而coder不一样,只有编码期间累。有时一个项目还在验收,另一个项目又来了, 设计+测试同时进行,的就不是人干的。
(14)因为你只知道怎么从a到z,而不知道怎么从z到a,绝不是简单的倒数回来 为什么bill gates已经50多了,仍然能当微软no.1软件设计师,因为没有人比他更知道怎么从z到a。不是年龄问题,而是素质问题。这不是你那些能拿来自豪的经 验能弥补的。鸡永远飞不了鹰那么高。
(15)花点时间规划一下自己的未来,在慢慢的走,我的经历和你差不多,做技术也 7-8年,后被抄,花了一年的时间思考自己问题(包括到别的地方旅游散心),之后制定一个目标(也不用太详细了,大体目标就行),虽然还是做技术行业,不 过不那么死了,要学会适应社会,就象一个兵能在任何环境生存才是好兵,在这几年时间里做了很多职务(技术、主管、技术总监),现在是分公司副总间技术总 监,给你个忠告,坚持自己目标,不要觉得这个行业没有发展就要改行,没个行业都有每个行业生存的地方,金子到哪都会发亮的,学会适应社会,才是出路,如果 有机会可以到外企工作一段时间,好的外企不会考虑你的年龄等等,只要能完成任务就OK,还有找女朋友不用急,只要你有能力有money,什么样的找不到 呀!
(16)感觉作者就是太自信了,别总抱着过去的经验不放,计算机最忌讳就是这一 点,你说DOS下编C,比很多小年青强。有用吗?C现在不过是当基础学学,熟练语法罢了,现在C的使用比例还能占多少?当年从过程编程到面向对象,淘汰了 一大批人,就是因循守旧不肯向前看的。你自己也说了Java不行,很多小年青可是玩的很溜呢,你这可比不上人家了吧?我也不喜欢Java,不喜欢搞网站什 么的,但是这就是一种流行的技术。老实说Java都那么久了,你居然还说一直没有研究,就算你不靠它吃饭,作为IT中人,时刻关注技术动向总是必须的吧? 以Java现在在编程语言中的地位,花点业余时间把它熟练绝对是应该的。这么说对于更新的.NET,C#,老兄看来也是同样陌生了。作为吃IT饭的,每次 技术的变迁固然痛苦,但是如果总想着以前的辉煌故步自封,不肯接受新技术,被淘汰也是自然的事。好像现在你再去跟人说你DOS玩的多溜,但是XP不怎么会 用,会有人把你当高手看吗?顶多当你是个过时的老鸟罢了。作者既然是想学技术而进入IT业,就应该时刻保持谦虚学习的心态,敢于放弃旧有的成就从头来过, 才能做这一行中的常青树。
(17)为什么很多人会强调5年做到**经理,十年**经理?为什么要求楼主反思 没有做到经理?如果一个学生学习成绩始终名列前茅,但他却一直没有做上班长、团支书的位置,会有人要这个学生反思吗?Coding强人为什么一定要做到 Manager才能继续自己的职业生涯呢?楼主Coding经验丰富,对于C语言等已经不流行的技术很了解,正是其优势所在,怎么就成了工作的绊脚石?如 果让姚明身处足球队,姚明也是会感觉无法适从的。让每个人意识到并且充分发掘自身潜力才是一个企业的伟大之处,也是一个人职业生涯的最终目标。据说,在微 软,有很多40岁以上的程序员,他们的薪水远远超过他们Team的Manager。Coding是他们工作的兴趣所在。其实,楼主可能要为自己的失意而反 思,但需要反思的,绝对不只是楼主。楼主需要反思的是,自己下一步想做什么,需要怎样做;而很多人需要想想,“20岁程序员——25岁Tech Leader/Project Manager——30岁 Team Manager——40岁***Manager or 失业”这样的职业规划究竟是否算的上是规划。往更深了一步想,这样的想法是不是本身就有问题呢?我的看法,中国的软件业现阶段本质上还是属于“劳动密集 型”,所以才会有大龄程序员觉得举步维艰。想想当前,男人最怕上年纪的行业主要为:建筑工地的体力劳动者,加工制造业的外来劳工,做鸭,还有就是做软件的 了。做软件的,基本都是女人当男人用,男人当牲畜用。其背后是中国软件业集体的缺钙造成的。中国软件业对外依赖太大,自主产品太少,国内软件意识缺乏。这 不是软件人的错,而是决策者的失误。很多企业靠的是做外包而生存,还有一部分的企业做的是CRM,ERP这类东西。大家就跟造冰箱,造彩电一样,拼死了比 谁卖的产品更便宜。做来做去还是被国外的大公司拖着鼻子走。这样的软件企业里,没人会关注员工的未来,甚至员工也没时间想自己的未来。很多人只能按照已有 的成长模式来规划自己的职涯。上边所说的模式,在软件企业快速成长的过程中,是很容易就能做到的,因为在中国官本位的思想已经深入人心,以为 Manager就是管人的人。而大家对软件工程的理解也停留在很浅的层次上,把架构设计、流程管理、质量管理、需求变更等所有事情都交给了Manager 来做。其实,Manager也是有不同的关注面的,而不应该承担起所有的管理工作。在中国,Manager是被当作“官”来看的,Coder是被当作“平 民”看的,人人以当“官”为荣,以当“民”为耻。我认为楼主的遭遇是中国软件业众多问题的冰山一角。在软件业一片欣欣向荣、一路凯歌高奏的环境下,很多问 题还需要我们每一软件人和决策者反思!
(18)让编程人员30岁就转行,这样的软件行业中的企业,基本没多大出息。NT 核心、Notes核心的作者,开发那些牛X东东时,全都超过30岁,王选作华光排版时,年龄已超过40岁,照样一行一行的写底层代码。MS、IBM,年龄 超过40的“精灵级”开发人员多的是。编程语言不过工具。只要你C熟练,C++很快就能掌握,根本不是问题。C++掌握,Java根本不是问题。编程的核 心是思想,算法就是思想的体现,语言不过是更直接表述而已。问题是,经历这么多年,你是否真正掌握了这种思想。真掌握了这种思想,不光干编程,干别的一样 能快速收效。
(19)评价一门语言好坏的标准是什么?用的人多的就是好?主流的就是好?我告诉 你,比主流还要好的,是专业的。C和汇编用的人少,但是这些人,都是在专业的领域。而那些占大多数在主流的领域,会随着主流的不断更替而逐渐淘汰,就像 VB,ASP。C和汇编用了这么多年,都还在用,C的工程师,会越老越吃香。因为在这一行,其经验最重要。“C现在不过是当基础学学,熟练语法罢了,现在 C的使用比例还能占多少?”我不知道具体的C程序开发员比例,但我可以告诉你,未来的移动通信3G的平台,都是用C写的,所有我们在用的手机,除了日本 (Java)和用Windows平台Smart phone,其他的绝大多数手机,都是C写出来的。本人就是手机软件工程师,工作了4年,其他的都不会或者都不怎么会,只会C。做手机的软件工程师,编成 语言只需要C.一般工作满1年,薪水在4000-5000,满2年,6000左右,表现出色的就可以到8万10万/年。而且这样的公司,大多在全国一,二 类或者发达的城市,如北京,上海,深圳,南京,苏州,杭州。在公司30岁或者30多的工程师,简直是宝贝级别的人物。未来的电子产品,都会有一个电子的" 心",而不可能为这些心都去装一个Windows,Unix,所以C(高端和应用)和汇编(低端和驱动),才是最好的血液。简单的说,嵌入式。嵌入式领域 有多大?我告诉你,除了里面放入一个通用的计算机,可以直接安装Windows或者Unix以及通用系统或者软件的地方,如果这个地方需要软件控制,都可 以说是嵌入式。这个领域并不小,而且随着科技的发展,这个领域会越来越大。尤其提醒的是:嵌入式系统不仅是小系统,同时包括比常规PC大的系统。嵌入式和 常规PC的差别,就像物理和化学一样:物理从微观的量子到宏观的宇宙,而化学只是中间的分子领域。C本身是面向过程的语言,但我告诉你,Win98的代 码,90%用C写的。在嵌入式系统领域,尤其高阶设备,其思想的先进程度和知识面以及复杂程度,比一般的通用的高阶语言,要强多了。在C高手的眼中,他们 不仅知道某个高阶语言的某个类,组件有什么用,他们甚至知道这些东西的内部实现。计算机编程在这些人眼中,将变得更加透明和清晰,将更有机会写出更稳定和 有效率的程序。C的劲敌是J2ME,但是J2ME效率相对C低,同时KVM本身的对存储设备的需求,必须要求更高的硬件设备,而且基于成本考量的授权费 用,显然J2ME在手持式设备占弱势。而且KVM只是一个壳,它必须运行在C的OS之上,其本身当然也是C写出来的。尤其在嵌入式系统领域,Java的可 移植性这一很重要的优势,要大打折扣。因为嵌入式的硬件系统的差异性太大了。目前,还没有出现其他任何语言,可以取代C在嵌入式系统的霸主地位。C不是主 流,但专业。C本身简单,但它可以做出所有的东西,且是很多高级语言、操作系统的血液、母亲或者祖母!
(20)搞软件开发,还是得去大公司,小公司水太浅,象楼主这样就是到了天花板 了.用友,金蝶虽然是大公司,不过方向是J2EE和.Net和楼主不一样国内几家对于做C++有前途的公司(C++方向的)华为,微软,中兴,金山这些公 司方向广,高手多,适合愿意长期搞开发方向的人想发展好还得长久留在公司,不要一两年就跳槽
(21)这位老兄真郁闷,其实这是重短期效益不重积累的表现,还要压制成本。有什 么好说的,人家觉得用一个新兵蛋子就够用了。然而你的技术始终摆在那里,水也冲不掉。其实有些人不善于交流,喜欢搞技术,在技术型公司还是有发展前途的。 然而对于技术要求低的公司,情商比智商更重要,人际关系往往能决定一切。成功=50%技术+50%关系。就是这样,不得不认识清楚啊。转行做销售?或许不 是一个好的办法,销售需要适应环境、拉人际关系,性格内向的人不太适合,另外销售必须面对销售指标的压力。我个人认为你有两个办法:
1。去外企,或者国内的技术型公司。外企管理严格,但是普遍重视技术积累。国内的如华为、中兴也可以一试,做不了主管,搞个SE当当还是可以的。
2。创业,这个难度大了点,因为不是纯粹技术就能保证成功,但是考虑成熟也可以一试。
对用什么编程语言根本不需要讨论优劣,它们各有所长,只是用于不同领域而已。.NET JAVA适合做上层,做面向用户的应用,C/C++适合做驱动,汇编适合直接控制硬件。越基层的语言执行速度越快,越灵活,开发界面越不友好,上层语言刚好相反。
本文转自:http://blog.163.com/prevBlogPerma.do?host=zhuairlunjj&srl=80050945201121531418536&mode=prev
因不喜csdn灰色的转载标志故改为原创。