程序员生涯之我见 找到自己的兴趣所在

程序|程序员

  在海外有很多中国人在从事程序员这个职业。我认识很多这样的朋友,发现许多人并不快乐,只是将这个工作当成养家糊口的工具。还有许多人工作努力而不能入门。我曾经在很长一段时间内也有过困惑,但最后终于走了出来。在这里谈谈自己的看法,希望对大家有一些启发。

  俗话说“兴趣是最好的老师”。这话很有道理,但运用在事业上往往并不是这么一回事。在学生时代你可以追随兴趣天马行空,为未来作各种各样的设想。坚韧不拔而又有些运气的在后学生时代仍可在预设的道路上跋涉前进,甚至一帆风顺。而绝大多数同仁们则在生活所伏下的各种小圈套中纷纷落马,有的痛苦挣扎,有的怨天尤人,还有的则既来之,则安之,以失败者的心态接受生活的安排。

  这些为生活所改变的同仁们的共同点是不再(敢或愿)提对原先事业的兴趣了,如果曾经有过的话。当然,兴趣是会变化的。但因生活改变而生的新的兴趣往往难以长久,而人生苦短,又经得起几次改变呢?

  和其它许多职业一样,从事程序员职业的可分成三种人:入门的,不想入门的,和想入门而没有入门的。我对入门的定义是:喜欢这个职业并且有持之以恒的目标和努力。

  入门的是极少数。如果一个程序员一直在从事这个职业,而且热爱并愿为之终老,我想他一定是幸福的。任何职业其实都是这样。我所在的公司有个年轻的老美,是负责三十多个程序员(包括我)的Software Architect,为人朴实而性格腼腆,但他对职业热爱的单纯连我都嫉妒得要命。他好像可以不食人间烟火,可以没有任何爱好(他其实一年要度好几次假的,但全是老婆安排,当然也参加公司活动),但对几年前写的代码记得清清楚楚。他没有可炫耀的学历(服兵役间在一家小学校读的计算机本科)和经历(因为太年轻),在任何场合都总是腼腆地笑着(我将他研究了很久,发现他实在本性如此),毫不起眼,但我知道,他是被造化所祝福的。他可以一直思考一个问题,在半夜起来用VPN连上公司网络修改一个bug。我遇到过不少优秀的程序员,就没他这么纯的。

  不想入门的程序员可能是这三种人中比例最高的。女的居多,家庭负担重的居多,思想活跃的居多。程序员职业为男性所主宰是一个事实。女孩子结婚后兴趣大多都变了,程序员工作辛苦,责任大,也就没什么吸引力了。很多程序员聪明而思想活跃,却不愿意喜欢这个职业。有的一直在琢磨怎么开自己的公司,有的天天研究炒股,还有的只想好好保住这个工作,完成分配任务了事。究其原因,一是将人生看得太“透”了,觉得程序员工作只是衣食父母;一是认为编程太简单,没啥好投入的;还有就是看不到出路,当一辈子程序员划不来。人各有志。

  对一些人来说,程序员只是人生经历的一部分,他们有自己所追求的目标。虽说这两年的IT不象五年前那么火热,但仍到处是机会,很多人通过程序员的工作进入IT而寻找机会。但对那些可能长久从事程序员工作的人来说,不入门实在太辜负了上天赐予的聪明才智。在美国的这些年,我认识了许多转行做程序员并做得不错的大陆来的朋友。附近一家老美的公司,软件研发部门中大陆来美读研毕业后留下来的有二十来人,多半是国内名校本科毕业的。这二十来人没有一个本科或博士是读计算机的,现在水平都很高。我用这个例子是想说明程序员这个队伍的素质是多么优秀,理应做出点事来。

  在现实生活中许多人由于缺少机会而不能成为程序员。不少人是半路出家,而人过而立之年,要想的,要考虑的东西多了:家庭,孩子,健康,股票,老人,房子,车子,地位……有一位朋友,国内名牌大学物理本科,来美国读了物理博士。他在博士期间喜欢上编程,上过计算机系的几门课。九八年博士毕业时计算机工作火热,就找了个程序员的工作,从网页做起。我看得出他是很想做一个优秀的程序员。这些年我们一直保持联系。可惜的是他为生活所迫,年年在找工作(他一直做的是合同工,收入会高些,家里上有老,下有小)。而博士学位在很多时候都是over qualify(资历过高)。这两年经济不好,更是动不动被解雇。最近他终于找到了一份稳定的工作——在银行里做全职的DBA(数据库管理员)。他人显得老了,语气也变了,只求有一份安稳的工作。他对编程的爱好依旧,但始终处于外围阶段,不是网页编程,就是DBA,只有业余时间学习一些.NET。还有一次,在2003年,Job market正不好。我参加休斯敦中国人西区教会组织的Job Fair,目的是让教会里的人将工作机会互通有无。我当时因为朋友邀请去看了看。参加的人基本上全是在做或找程序员工作的。好几个年龄相当,还没找到工作的在和我聊起来时听说我是国内计算机系本科毕业的,一直在做程序员,都很踊跃,要和我讨论一些问题,并留下电子邮件地址。看到他们羡慕的神情,当时我还没觉得什么,可现在每想到此,都有些震撼。很多人如果得到了机会可能会成为很好的程序员。然而世事往往如此:得到的人不珍惜,珍惜的人得不到。

  想入门而没有入门的有很多:学有专长,由于各种各样的原因做上了程序员,做长了发现也许要做很久,于是试图研究并喜欢它,却发现这很难。难就难在看不清自己的方向。我认识不少程序员,工作很努力,有抱负,业余时间也学习,考证书,可是方向换来换去,今天学Java,明天学.NET,后天又打算考MBA,到outsourcing的消息一传来,又灰心丧气。究其原因,数理化和许多其它的工程职业都已成型,研究方向明确,很多人通过学习会入迷而入门,知道自己的奋斗目标。软件工程行业才只有几十年的历史,作为一门科学还远不成熟,不能给程序员工作以明确指导。Microsoft的Visual Studio以及现在的.NET在大大提高编程效率的同时,也使得编程变得前所未有的容易。仅仅在编程上钻研不仅难以入门,而且在日新月异的技术面前会产生光阴易逝的困惑。

  在美国,很多中国人去教会,而且其中不少成了忠实的信徒。我周围有不少朋友如此,所以由他们牵线参加了一些中国人教会的活动。我问他们信教后最大的感受是什么,答:平安喜乐。看得出真正的信徒是蒙福的。这是我所向往的生活。但我至今还没有信教,因为我在没有参加教会活动前早也有过那种感受。我知道信教不是唯一的途径,对不同的人会有不同的方式。早在春秋时代的孔子说过“朝闻道,夕死可矣”。这里的“道”,我相信和真正的信徒的信仰是殊路同归。而我们人生,不管是从事什么职业,能“闻道”,也就“夕死可矣”。所以我一直在寻找在程序员这个职业里的“道”,也就是“入门”。

  一日我读到了冯友兰先生的《中国哲学简史》,在网上广泛流传的电子版本。如获至宝。我第一次知道了原来我们的哲学家们也在研究这个“道”。不过他们研究的是与职业无关的,更为广泛意义上的为人之道。在书中,冯先生提到有各种各样的人,每种人都可能达到那种人最高的成就;而对所有的人来说,他们都可以达作为一个人最高的成就,为“圣人”,为领悟“道”的人,为哲学的人。而中国哲学所研究的就是怎样可以成为一个“圣人”,达到天人合一。在书的最后他指出,中国人可以不信教的理由是我们有自己的哲学,我们不需要信仰,因为我们是哲学的。我至今深表赞同。基督教义让信徒体会平安喜乐,只需无条件接受即可。中国哲学则需要你思考去体会。两者的功用有异曲同工之妙。

  三百六十行,行行出状元。无论一个人从事何种职业,都可以在工作中加深自己对人生的理解,都可以在对事业的探索中去领悟这个天人合一。我一直相信,入门的人是得道的,无论他的天人合一是来自人的本性,还是信仰或哲学。在程序员这个职业里感受这个“道”,不同的人会有不同的理解,得由自己来体会。程序员不妨一读Fred Brooks的The Mythical Man-Month一书。作者是大师级人物,将软件工程的各个方向深入浅出地描述一遍。如果你已有几年在公司里当程序员的经验,读后或许会有拨云见日的感觉。其实我在美国读研时也上过软件工程一课,真没学到些什么,所以一直忽略了这门知识。现在计算机教育仍需要改善,有些课程设置并不合理,无论是国内和国外。像软件工程课,给没有几年程序员经历的人来说只会是纸上谈兵,而对有经验的人却往往是对症下药,醍醐灌顶。编程只是程序员工作的一小部分,而当你能对整个行业能有一个全盘的了解,你自然会找到自己的兴趣所在。

  当你找到兴趣所在,无论是中国的哲学和智慧,对教的信仰,或是你内心深处对世界的体会,都会给你以信心和指导,不再会有疑惑。

时间: 2024-09-16 20:43:45

程序员生涯之我见 找到自己的兴趣所在的相关文章

【转】10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告

从电驴上看到的一篇文章,写的挺对味的.摘下来,共勉.说的挺对的. 展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们. 01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好.由于程序

30多年程序员生涯经验总结

在我30多年的程序员生涯里,我学到了不少有用的东西.下面是我这些年积累的经验精华.我常常想,如果以前能有人在这些经验上指点一二,我相信我现在会站得更高. 1.客户在接触到产品之后,才会真正明白自己的需求. 这是我在我的第一份工作上面学来的.只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的.给出一个功能性原型设计远远比一张长长的文字表格要好. 2.只要有充足的时间,所有安全防御系统都将失败. 安全防御现如今是全世界都在关注的大课题.大挑战.我们必须时时刻刻积极完善它,因为黑客只要有一次成

30多年程序员生涯经验总结(成功源自于失败中的学习;失败则是因为容忍错误的横行)

英文原文:Lessons From A Lifetime Of Being A Programmer 在我 30 多年的程序员生涯里,我学到了不少有用的东西.下面是我这些年积累的经验精华.我常常想,如果以前能有人在这些经验上指点一二,我相信我现在会站得更高. 1. 客户在接触到产品之后,才会真正明白自己的需求. 这是我在我的第一份工作上面学来的.只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的.给出一个功能性原型设计远远比一张长长的文字表格要好. 2. 只要有充足的时间,所有安全防御系

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告

走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们. 01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好. 由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间跳来跳去,甚至是城市都换过3个.还好户口没丢掉,其他都已经是乱了,好几个城市

一位 30 多的程序员生涯经验总结

1.客户在接触到产品之后,才会真正明白自己的需求. 这是我在我的第一份工作上面学来的.只有当我们给客户展示产品的时候,他们才会意识到哪些是必须的.给出一个功能性原型设计远远比一张长长的文字表格要好. 2.只要有充足的时间,所有安全防御系统都将失败. 安全防御现如今是全世界都在关注的大课题.大挑战.我们必须时时刻刻积极完善它,因为黑客只要有一次成功,就可以彻底打败你. 3.安全防御是否失败取决于及早规划. 假设有黑客会彻底破坏你的防御系统,那你就得提前做好准备.这样即便真的让他们侵入了系统,也盗取

探讨:东方程序员眼中的西方程序员是怎样?

引言:本文译自StackExchange上的一个讨论贴:东方程序员眼中的西方程序员是怎样的?,有网友发帖问: 在我看来,东方的程序员如何看待西方同行是一个有趣并且重要的问题. 通常认为东方国家(印度/中国/菲律宾)是为西方国家提供外包服务(美国和欧洲)的. 你有过参与离岸开发的经历吗?如果有,你对此有何看法? 对于西方程序员你有哪些总印象吗(比如是否具有协作精神,是否按时交付产品,或者他们的工作质量如何)? 以下是来自东方各国程序员的答案: 一.印度程序员 Danish 身为印度人,我想谈谈印度

程序员成长规划

引言 我的程序员成长之路 程序员的成长经历往往很相似,大部分的人走过了最前面相同的一段路,而有的人则走得更远.总结自己这些年来的历程,这也许能让年轻的程序员少走一些弯路,成长得更快:或许更好一些,能让大家从中得到一些启发,早日进入优秀程序员的阶段,实现梦想,释放激情. 第一阶段,最初是在学校里学习计算机基础知识,学习经典的程序设计语言,编写测试用的小程序.这个过程可以说是对计算机和程序设计的入门阶段.这个阶段主要是培养了自己对计算机软件的兴趣,打下了良好的计算机基础知识. 第二阶段,而后参加工作

《Ruby程序员修炼之道》(第2版)—第1章1.1节进入Ruby的世界

第1章 进入Ruby的世界 Ruby程序员修炼之道(第2版) 本章主要内容 Ruby语法的生存工具箱① Ruby基础编程指引:程序编写.保存.运行和错误检查 Ruby安装指南 Ruby的扩展机制 Ruby中易用的命令行工具,包括交互式Ruby解释器(irb) 本书的内容是Ruby基础,而本章是基础中的基石.本章的目标是让读者在开始学习Ruby之前掌握足够的知识和技巧. 接下来读者将看到Ruby的基本语法和技术,以及Ruby的运行机制:如何写一个程序,怎样使用Ruby运行程序,以及如何把一个程序分

那些优秀程序员身上的共同特质

你是否发现,在我们身边的那些优秀程序员身上总是能找到一些共同的特质,这些特质并非与生俱来,但却逐渐在他们身上留下深深的烙印,这也使得他们变得与众不同,更成为我们心目中的佼佼者. 至少深入理解一门编程语言 学习编程和学驾驶很像,你很容易就能学会驾驶,比如,经过一个月的驾校培训,你就能获得驾照,但要真正成为一名优秀的司机,却必须经过长时间的驾驶实践才行,这将帮助你在头脑中形成一套完整意识体系以应对驾驶中所遇到的不同情况.编程也是一样,当程序员们作出那些优秀的程序设计时,看似自然,但它的背后却是程序设