程序员生存定律-六个程序员的故事(1)
程序员生存定律这系列的目录在这里:程序员生存定律--目录
喜欢从头瞄的,可以移步。
-------------------------------------------------------------------------------
此前的章节基本上是在分析并试图建立一种成长的模型,为免这种分析和模型离开现实,下面将考查一些具体的,程序员的故事,看的话最好把这六个故事都看完,否则容易片面。
很多人更喜欢看名人的故事,比如李开复老师的故事。这必然是有帮助的,但可参照意义往往并没有想象的那么高。因为大部分人往往即走不进哥伦比亚大学,也走不进卡内基梅隆,这就导致了名人和一般人的起点非常不同。此外美国处在整个IT产业链的高端,各种游戏规则也与国内不同,这就导致了李老师的人生路径很难被一般人所复制。
在国内这个情形也同样存在,排名前五的大学往往会在起点上就与大多数不同。很多公司的招聘,大致是按照某种学校的排名来设定招聘范围的。
我曾经很客观的评估了下自己,结论是即使再给我一次机会,进很好的高中,自己也努力学习,我也考不进清华,但即使如此我也要做IT,我也要谋求发展。相信大部分人的经历更类似于我,而非是李开复老师,因此下面收集了几个普通程序员的成长故事来给大家做些参考。有的留下了名字,有的则隐去了真实姓名,但不管怎样,这里的故事很草根,它其实就在你我身边,相信参照意义也会更强一些。
一个40岁程序员的无奈
1 佚名老程序员的故事
老A有点莫名其妙的就混进了程序员的队伍,稀里糊涂做了几年之后,猛一抬头发现自己快40岁了。老A出身名门,是中国顶级学校的毕业生,毕业后跑到英国留学七年,得了两个硕士学位,按理讲奋斗个英国绿卡应该并不是很难,不过老A还是选择了回国。
老A自身智商是不缺的,否则也考不进顶级学校,但却不太考虑自己的事情,反倒对如何解决台湾问题,如何解决和印度的关系思考颇多,让大家印象非常深刻的一个观点是:国家应该使劲鼓励往澳大利亚这类地方移民,改变它的选民构成,这样他自然就变成亲中的。
这类小事糊涂体现在,他归国后并没太多的考虑自己的发展,而是随便找了一个苏州的做打印机驱动的公司。
公司当时刚刚开始起步,需要同不同文化背景的人做大量沟通,并处理与设备相关的极多的各种细节。
老A的背景和性格都不太适合做这类工作,沟通的时候太以自我为中心,但实际上食物链下端的公司是处在弱势地位上的,更要扮演倾听者的角色;再加上人又有点疏阔,细节问题不大处理的来,因此虽然一开始被给予厚望,但成绩却一直平平。老A在这家公司坚持三年之后在看不到任何前景的情况下选择了离开。
离开后老A加入了一家纯粹做外包的公司,并被派去日本。这时候,工作范围一下扩的很开,什么野村证券的金融系统,某个网站的前端开发等等都一一做过。每当换一家公司,都要从头学点东西。
这些工作本质上和上一家公司差别并不太大,但总是很繁琐,和以前一样老A完成的比较一般。这样再加上日本的经济实在不景气,很快老A派不出去了,无奈之下,老A又回到了国内。可是时间不等人,一来二去老A已经差不多40岁了。
从日本回国之后,由于前面几年积累不多,老A只好回到离家乡比较近的一个城市,继续在对日外包行业里摸爬滚打。
感悟程序人生
老A的路其实走错了。考入等级学校并能出国留学可以讲是给自己挣得了不错的选择权。但就像再多的遗产也经不起子女挥霍一样,基础再好也经不起错误的选择。几次相对比较不好的选择之后,选择权就消失殆尽,而时间不等人,价值没提升年龄却提升的同时,人生也就开始有点困顿。
我们可以用这本书里提到的各个维度来观察一下老A的人生。
价值 x 实现程度(表达力,稀缺性,公司平台)= 职场成就
老A在几乎所有项目上做错了选择。
从增值的角度看,首先是大方向上过于糊涂。以老A的履历,如果走纯技术路线,那就要到一家技术含量高的公司,否则就要迅速向管理职转型。老A却选择在一家技术路径不长的公司里做技术。
即使单纯是从做技术的角度看,老A也还是做错了。我们在前面曾经提到,要持续增值,不要失去焦点,你不能学的是嵌入式底层开发,回头做前端开发。老A又恰巧选择了一个自己完全陌生的领域---打印机驱动程序。这类工作对他以及对其他毕业生是同样的陌生,难度又不高,在这类工作面前,他的学历背景等等完全没有优势,等于主动的为自己做了重置,也等于人生的增值失去了焦点。
既然做错了选择,本来就应该赶紧在“表达力”这项上调整自己,迅速适应当前情境,这样依赖于在公司起步阶段进入公司这一优势,也可以谋求一定发展。但老A又错了,他看到了许多自己不适应,但不涉及是非的地方,但并没有积极改变自己,最终导致了自己的出走。
当老A第一次从公司出走的时候,他的价值、表达力、稀缺性并没有因为近三年的工作经历有任何提升,仍然吃的是老本(名校,留学经历)。
接下来,在公司的选择上老A再一次错了,第一次的选择本来就不太正确,但第二次选择就几乎把自己逼到了死胡同里面,转到纯粹的外包领域这又是一次重置,让之前三年的经验归零。
去日本一事更是让事情雪上加霜,短期来看也许可以多赚点钱,可几乎一直处在食物链的末端,没有任何技术积累,这直接决定了回国后的选择空间。回国后再一次进入外包公司,以老A的年纪和性格,未来已经很那看到亮色。
老A的内心想必是痛苦的。老A的情形并非个案,如果我们用心观察就会发现很多很多类似的故事。
有的可能是已经失业,再就业艰难;有的可能是只能维持现状,并等待人生下滑。也许是巧合,这点在40岁左右的程序员身上发生的特别惨烈。
这种情形有一个根本的特点,就是自身价值没有质的突破,这样不管你曾经多么风光,多么好运,在10年时光面前,往往会被打回本色。
陷入这种困境之后,要想挣脱已经很难,而如何避免陷入这种困境,也许可以从下面李云的故事中获得启示。李云的故事与这里的老A可以形成非常鲜明的对比,老A是通过高中的努力达到人生高点,但浪费了自己的选择权,使选择权逐步收窄,而李云则是起点很差,但始终坚持增值,最终累积出了高度,逐渐使选择权越来越大。
一个普通码农的退场过程
1 码农退场的的故事
声明:下面这篇文字,非本人所做,而是CSDN上流传比较广的一个2007年的老帖,原作者已经联系不到,但这个故事真的很有代表性,因此把它录在这里,与广大程序员再次分享。为了保持原滋原味,基本未对原文做任何修改,而只是调整某些敏感词汇和小的笔误。感谢原作者。
再过几天,我就正式告别程序员生涯了,这也是我最后一次以职业程序员身份在CSDN发表文章。小弟谈谈入行几年来的感受,做一个人生阶段的自我总结,同时希望能给后来者带来点参考意见,能在这段路上走的更好。
本人2002年下半年正式入行,至今2007年4月一直从事软件开发工作。
上大学选择这个专业是阴差阳错,但接触之后对计算机产生了强烈的兴趣,对写软件有一种强烈的冲动。
软件成型后,那种成就感和自豪感能给我难以名状的满足。
那时,喜欢看侯捷的书,对核心技术和核心技术人员由衷的崇拜,对技术的追求和水平的提高有一种莫名的狂热,当时我想只要能从事软件开发的工作,起初的薪金待遇可以不计,等我技术方面成熟后,自己就有更高更好的选择了,程序员→系统分析员→项目经理→自己的软件公司,这是当时我一个朦胧的程序人生规划。
现在想来,不禁一番唏嘘。
我记得我在培训的时候,一个培训的老师当时是本地一家有名的高科技企业的CTO,确实是专业人才,就是不太会讲课。我问他做程序员的感受,他说经常写程序经常写到凌晨2点钟,很累不过很有意思,因为他喜欢这份职业(当然喜欢啊,他月薪7000-8000,2001年,济南),但也干不长啊,他已经做好了转行的准备,去做和计算机相关的行业。那年他28岁,我22岁。其实他那番话让我和我的同学已经很羡慕,我们羡慕他的技术深度和现在的岗位层次。金领啊,他就是我们眼里的金领啊。
而另一个技术水平很高的老师(在外企写单片机的,30岁,月薪8000-1万),告诉我的是:迟早要转行,就像他现在来当培训教师一样,原因只有一个:太累。
我没在乎他们的感慨,因为我年轻啊,加班到夜里2点很轻松啊,何况写写自己喜欢的软件,很高兴啊。那时对我来说30岁只是一个遥远的数字。工作后,感觉完全不一样了。首先很惭愧自己的机遇和能力都不是太好,一直从事基于数据库的信息管理系统的开发(我认为是软件开发里最简单和最基础的方面),换了三家公司,从基础程序员作到了系统分析的层次,现在开始往对外和管理方面发展。可以说粗略的沿着我以前设计的程序人生轨迹走了走。
其间也有过失业的落魄,吃不上饭的紧张,我记的最难的时候到CSDN上来发表文章,得到了很多兄弟姐妹的祝福和支持,给了我很大的鼓励,真的谢谢。
(此处省略64字,因为可能会产生不必要的争议。)
我今年28岁,未婚,彻底烦了。为什么?累,没有希望。先说说我的一点感悟:
软件行业分析:
1、开发出售行业适用的单机版软件。
2、开发行业适用的网络版(B/S)软件,一般是大单,几十万到几百万。
3、和行业的政府主管部门合作,推行一些行业方面的应用软件。
补充:做软件一定要做行业软件,才有前途。
这是本人几年来对这个行业的一点分析。
其实第一种情况是软件公司最通常的盈利模式,这种模式软件价格不高,但只要质量站得住脚,可以细水长流,保证公司的成本没问题,做的好还可以盈利不少,但想做大公司很难。
第二种情况,是真正挣钱的情况,接一个大单,什么钱都挣出来了。可以锻炼开发队伍,建立完整的大的开发框架,而且在这个行业里可以造成很大影响,在一个地方实施成功后可以低成本的再推广,占领一片市场。总之一句话可以让一个小公司真正的成长起来。
第三种情况纯粹就是敛财了,和主管部门合作,强行推广软件,绝对的只赚不赔,我想各个地区都有这样的案例,如税务方面的。缺点是这样的公司都受地域性限制,老板钱拿的太舒服,没什么上进心,公司很难做大,不过也成了地方的行业一霸了,也不错。
累,大家都知道就不说了。为什么没有希望呢?因为我发现一个公司真正勤勤恳垦的实干是挣不到大钱的。
真正能挣到大钱的公司完全都是靠老板的个人关系到什么程度,要想在某个行业里成为软件老大,要看你和这个行业里的政府主管部门的关系如何。我看到了太多软件和他们公司的产品,总结起来就是一个字“烂”。可那赚钱的速度... ...。
其实赚多少钱,都是老板的,我们打工的不就是拿个死工资吗,我们更多的人不是连个受剥削的机会都找不到吗?每次面试刚从大学出来的计算机的本科生,我真想对他说:你何必要选择这一行?每次面试那些工作经历比我长,年龄比我大程序员,看着他唯唯诺诺的目光,我就想:曾几何时我也像他这样,被人横眉冷对的面试多少次,以后我是不是还会像他这样,再去看人家的脸色啊?心寒啊!
看着同期毕业的同学,都转了行,在自己的行业里都混的不错,大部分都比自己挣钱多,有干头;就是挣钱少的,他也干的轻松啊,最简单的例子就是和自己项目接洽的企业或政府的信息部主管或网管,懂的不多,轻轻松松,钱比我们的多,有问题老找我们,面对他犯的低级错误,我们还得笑呵呵。我心里确实不平衡啊。
一句话,不当程序员后悔,当了程序员更后悔。
出路在哪?我在找…
1、从程序员,到系统分析,到项目经理。条件:必须是大公司,工资高,福利好,有完整的发展曲线;个人对软件开发有持续的热情。
2、转行到大型企业,事业单位,政府做信息化方面的工作(可以说是网管)。生活有保障,不必太辛苦。条件:一定的能力,一定的人际关系。
3、考研,考博再深造,出国或留校搞教学,培养一代不如一代的本科生,闲时打着大学的名义做做项目,赚个房钱。条件:高学历,一定的经济基础和家庭背景。
4、创业:这个谈起来大发了。这里只说条件:很好的项目,创业精神,一定的经济基础。
5、共享软件:很多程序员的梦想,自己写个软件全世界的卖,光注册费够一家人生活的了。成功少数,但只要有的都发达了。如ACDsee,优化大师,超级兔子,千千静听。但我告诉你,这方面基本是没法干了,写个小东西挣钱玩玩可以,要靠他吃饭,饿死吧。条件:过硬的专门的软件技术,富有创意的头脑。
6、网站:基本情况和共享软件差不太多,只是比共享软件更好干点。但奇迹照样有,可看看hao123的神话和现在很牛的80后的富翁。关键你有没有这个本事和这个命了。
7、行业信息化咨询顾问:随着各个行业信息化的普及,企业对这方面人才需求很大。真正实现信息化的企业都需要这样一个既懂软件,又懂行业知识的人员,他和网管还是有区别的,他的要求更高些,更像一个自由职业者,专家类型的,这样的人放在企业里小的是个主管,大的是个副总。条件:很深的行业内部的技术或管理经验,较强的软件开发或实施经验;通常35岁以上才是成熟人才,因为经验是要经过历练的。
8、转行,彻底的转行。干不下去,精力不够了,脑子不灵了,钱太少。只要你够理由,你就走。重新开始另一段新的生活,有什么了不起的,哪里也饿不死我这个干软件的。
我是哪种人,我说我是第8种人,看看能不能兼第5,6种人。
我大学由于种种原因没毕业,最高学历是高中。就学历而讲,能干到我目前这个水平我觉的可以了,是时候激流勇退了。
就职业规划和财富而言,我这几年走的路并不成功,最起码无奈的转行本身就是一种失败。就我的人生而言,我觉的很成功。我了却了自己的一个人生梦想,在短时间内品尝了一个“高科技”行业的酸甜苦辣,技术出身也使我比别人多了一份淡定和从容。现在我可以放下这段旅程,再来一个新的开始。
程序员兄弟们别自卑,说到优势我们有很多:
1、聪明的头脑,较高的智商。有人说程序员呆,不会为人处事,只会和机器打交道,没前途没希望。我告诉你,程序员愿意和机器打交道是因为他专注于技术,是职业特点,如果我们程序员的头脑用到一般行业,企业,政府单位里去耍耍阴谋诡计,骗骗人,卖卖产品或套套别人的话,我敢说,他们十个人也玩不过我们一个人。俗一点:就他们那点智商,也就骗骗鬼啊。
2、创新精神,学习能力和频繁的知识更新速度。做软件的都知道,干一行的软件,就得学一行的知识,这一行的知识掌握的越丰富,软件才可能写的越好。我们都具备很好的学习能力,学习新知识,新技术的能力。不敢说每个做过的行业我们多么了解,最起码我们总是站在风头浪尖上,高屋建瓴,问题看得远,想的长(要不你怎么去设计数据库啊)。我们能以非专业人士的角度,系统的分析出一个行业某方面的流程,那当我们就做这个行业时,我们对我们的能力还没有信心吗?
3、扎实的工作态度,未雨绸缪的危机意识。扎实的工作态度是每个合格的程序员都应该具备的,因为我们要对代码负责;谈到危机意识,我想大多数程序员都和我一样吃者碗里的,看着锅里的吧,也是被社会逼的没办法。其实这都成了我们的优点了,以后从事哪个行业,都需要这两点精神。
我要走了,去干个和软件根本不搭边的行业,我去干是因为我是老板之一,而且钱绝对比现在好赚。过年的时候,我有个外甥刚大学毕业,非要做软件,我给他了以下建议,算是为后来者留一点东西:
1、能进大公司就别去小公司,在大公司里你能接受真正正统软件开发教育,比到小公司当个什么啥都干,啥都不精的主管强。
2、不断的学习,注意技术积累和更新,那是你唯一的资本。
3、做软硬件结合方面的开发,单片机的开发,嵌入式系统的开发,比较有前途而且门槛高。但凡基于数据库的开发,不管是.NET平台的,J2EE平台的,VC,DELPHI,PB,VB都是扯淡,其核心价值是开发人员的经验而不是技术本身。因为真正的核心技术都在国外,中国没有,我发现不管那种语言,最好用的类库或组件都是老外写的。
4、要有个好点的学历,别像我一样。毕竟是个高学历的行业,学历低人家都瞧不起你,你的发展也很有限 。30岁之前,可考虑弄个高程,CCNA,数据库管理员之类比较有含金量的证书打扮打扮自己,过了35岁其实意义就不大了。
何去何从,我们都有自己的路要走。我转行了,我就不再是程序员了吗,不!我只是不在做为别人打工的职业程序员了,我要做自己的终身程序员。闲来时我会为自己写程序,写我愿意写的。当写程序不再是一种职业而是一种兴趣和热情时,他才会陪伴我一辈子。我还会再来CSDN,做为一个非专业人士,一个轻松的真正的程序员而来。未来的一天,当我老的时候,不管那时我有什么成就,或不名一文,如果别人问起我以前是干什么的,我希望仍能自豪的回答:“我曾经是一名软件工程师”。
2 感悟程序人生
上面这段文字里,有比较大的一部分是个人的心路历程,而非是一种经历,但正是从这些心路历程里,我们可以很真切的感受到一个要退场的程序员真实的内心世界。
很多人也许看的很感动,感动之后且让我们回到理性的世界。
我们还是用这本书里提到的各个维度来观察一下上述这段人生。
价值 x 实现程度(表达力,稀缺性,公司平台)= 职场成就
决定这段故事主旋律的其实是故事主人公所选择公司(以及行业)在整个社会分工链中的位置。这点直接决定了主人公内涵价值增加不易,最终看不到出路。
当一个人选择沙漠的时候,就必然缺水;当一个人选择做信息管理系统,那就必然会面对激烈的竞争以及纯技术路径短的现实。
在一个特定的领域里,如果几个公司做不好,那可能是公司经营的问题;但如果所有公司都做不好,那就更可能是大环境问题。一旦大环境有问题,那就不管你怎么选择公司,都不太会有起色,这等价于前面谈到的关于公司的各个因素中,只有一个分工位置因素有影响。这种情形下你基本没机会去使用你的表达力,好比说大政治家如果去种地,那多高的政治手腕也影响不了亩产,这是一个道理。
在这种情境下任何一个人大致只能有三个选择:
一是均衡发展,成为公司里最最关键的人。均衡发展意味着,有业务、有技术、有管理、有人脉。因为技术路径较短,所以一定不能只是停留在技术层面。这样在有一定的稀缺性后,可以选择一个利润来源比较稳定,较有潜力的公司。故事的主人公也认识到了这点,列举了几种类型的软件,颇得其中精髓。现实点讲就是,很可能做个三到四年后要把精力转到业务、管理和人脉的构筑上,当然构筑成不成功因人而异。这是通过横向展开,扩展自己的价值,并选择留在这个领域里的办法。
一是短时间累积技术基础,在分工链上升级。信息管理系统所面对的问题和网络应用的开发是共通的,其差异往往是用户规模、数据规模所导致的。极端的讲,12306、淘宝也是一种信息管理系统,但明显其开发需要较高的技能。所以说如果一个人真的很喜欢技术,那不妨去看看关联公司的招聘广告,归纳一下必备的技能。深化算法基础、参加特定的开源项目等都应该都对技术水平提高有所帮助,接下来可以考虑换到故事主人公所说的一些大公司或者需要较高个人技能的公司去,这样就可以站到一个新的起点上。当然这个过程不能太长,否则一旦七老八十,那工作就换不成了。这是利用技能的可流动性,在分工链上爬格子的办法。
最后就只能是转行了,如果有合适的机会,这也许是一个不错的选择,但这样一来,确实会浪费一些之前的积累。
同上一个故事的A相比,这段故事的主人公起点要低了一点,因为某种原因,大学没有读完,所以当初并非有特多的选择权,从信息管理系统切入也许有着自己的无奈。从此可以得出一个废话一样的结论:大学的时候给自己一个方向,开始积累,那么接下来的路会宽很多。
------------------------------------------------------------------------------
关于我自己的各种信息,在左边栏可找到,想了解下写这书的人是不是骗子和大忽悠的可以瞄。
最后希望感兴趣的支持V众投,感觉上这应该是国内最靠谱的生活购物等的问答社区了吧,都是朋友给朋友做的答案,同时实行一人一号,一人一票制度,想找什么答案关注公众号:vzhongtou(左侧有二维码)就行了。