`

作为程序员,你的价值在哪里

 
阅读更多

1. 学生时代

程序员以前都是学生,我们从学生时代快结束时讲起。

本科毕业论文答辩时的一个笑话。有女同学翩翩然说,"各位评委老师……"提问和点评的时候,我作为"评委"的第一句话就是,"对不起,这不是选秀节目,我们也不是评委老师。"

坐在下面的那些老师 (与非你莫属不同,不是坐在上面),我们一般称为答辩委员会成员,作为论文答辩(或项目投标、讨论) ,他们与选秀的评委任务不同。答辩委员会成员,一般不太在意轰动笑果什么的,所以常问一些一再重复的问题,对谁都问,有时就被称为套话。

这句套话非常之重要,以至于答辩委员会成员经常要求答辩者跳过综述 (你看了哪些资料,你的工作在学科中的地位,你的工作如何重要等等),而要求直接讲--

"你的工作是什么?"

当年我本科毕业论文的时候也被问过。我卡卡卡卡讲了半天,我用的这个语言有前途啊,我从事的这个领域也有前途啊,布拉布拉。是的,我用的语言是HTML,领域是计算机网络,当时连ASP好像还没出来,可见我选择了多么富有远见的方向。但是,答辩委员会老师忍了半天,就是如今的刘校长问我,"你的工作是什么?"

我然后就卡壳了。我选择的语言很牛,我选择的方向很牛,又怎么样,那些都是别人做的,跟我又有什么关系呢?

我当时说,我看了这么厚的一本书,英文的,全看完了。然后才理解了啥啥。老师们非常和蔼地没理我。

很多年以后,我明白,作为程序员,你学会了什么并不重要,所花费的时间也不算作你的工作。在这个世界上,除了你的父母,没有人再会因为你学会什么而高兴,他们只会因为你用学会的东西做出贡献而高兴。

那么,你的工作,你的贡献是什么。

2. 最近的一个实例

某处前两天网站建设会议,我作为技术人员出席,发言的时候只提了一条与技术有关的建议,其余那些条都是表达网站建设与技术人员关系不大,更多的是美工和广义上的政治。

唯一与技术相关的那条建议是去除网页上的百度统计,原因是加上它以后网页载入速度有明显地下降。

最初我不知道里面有百度统计,还问过ZHUMAO,你们那个点个网页,怎么载入的时候会这么慢。会上,作者同学指出了百度统计的优点:1.能统计出哪个链接点击的人多,有多么多,比例如何;2.能用热力图展示哪个位置被用户点击多少下,点击多的地方就更红一些,点击少的地方就更绿一些。

我为什么认为应该去掉百度统计呢?这个东西固然是好,但是它影响性能,更重要的是,它不是你做的。那个热力图真的形象,漂亮,强有力,但是那是百度的工作啊,不是你的工作。你的网站架在自己的机器上,容易获得 w3c log,方便统计出这些数据。如果你用w3c log 统计呢,这就是你的工作了。而且,你同时也避免了不必要地向第三方泄漏网站访问数据。

你的岗位存在的意义,是选择合适的工具,而不是强有力的工具,去完成任务。我为什么说"你的岗位"的意义,而不说"你的意义"呢?这可以从一道面试HR乐意问的问题看出来。HR可能问,"你对薪酬要求如何啊"。一种合理的回答是,"薪水的多少取决于这个岗位对公司可能的贡献,而不是我的能力。"

克拉克还是超人呢,报社也没有多付他一分钱。

所以,你的岗位期待你选择合适的工具。

3. 什么是不合适的工具

合适的工具是什么,是个太大的话题,以后再聊吧,我们不妨先看看什么是不合适的工具。

特强大的,众所周知牛的,干啥都行的,这些基本是不合适的。另一种不合适的,是本科同学们愿意在答辩的时候说的一句,"我为什么选择JAVA?因为我们就会这个,这课是周老师讲的,他……""就会这个",可不是一个好理由。

同时,也不能逮着啥有名气正流行,就认为它会是好的解决方案。例1,项目课程里一位同学,打算做俄罗斯方块,或者贪吃蛇。她认为,这一定需要用多线程来解决。为什么呢?因为你看,方块在起, 同时,还能响应用户的键盘消息。例2,还是项目课程,另一位同学做扑克牌游戏,觉着需要用access数据库存扑克牌的当前次序和排序什么的。

这些是"过于"强有力,不适合做这种小游戏的工具。用大炮打蚊子不对的原因之一,是需要携带这么沉的东西,并非"没有必要","没有必要"这种措辞给同学们一个错觉,似乎这样也是可以的,只是"并非必要"。不是这样,应该明确指出,用大炮是"错误的"。

红白机 (任天堂)时代,CPU都那个水平,里面也没跑操作系统,多线程之类的是肯定没有的。同时响应这一需求,如果我们还没有学到那些知识的话,我们也可以猜到,一定有更轻量级的工具可以实现。这个轻量级的工具,就是循环,在每次循环里读按键,如果不是命令,那么重画方块,在新的位置,这样方块就动了。

windows操作系统自带纸牌游戏,从windows 95时代,而且那个时候操作系统里面肯定不自带access。存序号排序这种事,用链表或数组都容易解决。

有同学可能会说,那我用这个项目顺便练练多线程或数据库不行么?我们应该用项目练习项目能力,多线程和数据库应该单独练习,或者找适合它们的项目练习。

合适的工具,就是不多不少正适合这个项目的工具。如果它强大到了干啥都行,那么如果不是它的子集刚好适合你,那它绝不是你的那盘菜,因为它一定复杂到难以把握。基于同一原理,穷矮挫不该考虑白富美。

3. 什么是不合适的使用工具的方法

试想,表演结束,你走回舞台,聚光灯下,下面掌声雷动。你几次谢幕,全场观众起立挽留。

答辩委员会不适时地又出现了。它们还会在你以后的人生中数度出现,投标的时候,经理质询你的工作进度啥的。

答辩委员会里某个亮脑门问,"你的工作是什么?"

"啊呀",你说,"这个简单。你们看到这有个钮么,它的名字叫做开关。按一下……"

音乐声响起,你继续解释,"这个设备叫做录音机。"

如果你的工作只是选了这台录音机,你就只是行政人员。行政人员是不需要专业技能的,当他们犯了这方面错误的时候也不会受到指责。

有同学说,我知道录音机的存在,这算不算工作。算呐,当然算。只是你认为这样的工作值多少钱呢?满世界的人都可以告诉你的经理,免费的或几乎免费的。如果你比别人早几年知道录音机,可能会好些,至少好日子可以过到录音机满天飞。

设想另一个场景。还是舞台上,让你再表演的时候,你用自己的手指敲击键盘,那就完全不一样了。当年杉菜同学 (out了?)就凭这一手震住了高富帅他妈。想想吧,如果杉同学从衣兜里掏出个mp3接上外放,那会是什么情景。

亲自表演意味着两件事。1.你受过长时间的训练,这些训练不可替代,除非替代你的人也受到同样或接近长时间的训练;2.你当前真的正在表演,这一工作时间不可替代。

这就是程序员的价值所在。这也是所有工程师的价值所在。我们选择一种工具,然后使用它。

讨论观点的时候,大哥以前有个路子,他转引别人的论点,或者说都在这本书里,你自己回去看吧。如果不是导师指导学生,在面对答辩委员会的时候,这一招是万万不好使的。如果不你能清楚论述别人的那些观点,并阐述它们与你的观点及当前问题的联系,是不行的。仅仅说,"子又曰了",只有在高考作文里才有用。

马利同学前两天转引道,"某位哲学家说过,谁谁谁又说了,在中文里,都可以翻译为 I think。"当年俺们一位外教说过,写作文不要写"I think",因为大家只关心你的观点,而不是你的态度,你think不think,who care。

你能用来说服自己的,是信仰,能用来说服别人的,才是道理。工程师的工作不是让别人跟随自己的信仰,而是为别人创造价值。

如果你借助工具,完成当前项目的目标,你是在使用工具。如果你选择 (或者被选择)了工具,按了两下鼠标任务就完成了,你不是在使用工具,而是成为了工具--而且并非你的上级的工具,而是是工具的工具。

最后再讲个工具的工具的笑话,网上看来的,不一定是真事。说中国有个教授到了韩国。韩国人问了诸多问题,类似你们有钢铁么,有飞机么,有泡菜么,所有问题都集中于质疑我国的生产力和生活水平。中国教授答:中国和韩国一样,什么都有,只是没有美军。

前车之鉴。使用工具的时候,我们该想想,我们自己的价值在哪里,什么是我们的工作。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

[http://www.renren.com/268966623/profile#pblog]

分享到:
评论

相关推荐

    程序员成长路线图:从入门到优秀.pdf

    我早就有和他们共语的愿望,希望通过这个主题和他们交流程序员所关注的各种问题,希望我的经验有助于他们的成长,同时我也想谈谈EOM对程序员的真正价值的影响,以及如何实现“成为比尔·盖茨”这个程序员的最高梦想...

    程序员面试宝典完整版 pdf

    这本书写得非常好,详尽讲述了作为一名程序员应该为面试做哪些准备,...作为大中专院校刚毕业的学生来说,正值找工作的关键时期,也许您能从这本书中获得实质性有价值的东西,程序员面度宝典完整版,分享给您下载阅读。

    程序员接单宝典(第四版)高清完整PDF版(无水印)

    作者:韦刃,本书的作者是一个在外包行业奋战多年的资深程序员,经过近十年的磨砺,作者从一个开始靠个人只身接单...为了给广大的程序员朋友在接项目时提供一些指导,作者特写成此书,作为献给程序员朋友们的一份礼物。

    程序员接单宝典(第四版)

    本书的作者是一个在外包行业奋战多年的资深...为了给广大的程序员朋友在接项目时提供一些指导,作者特写成此书,作为献给程序员朋友们的一份礼物。如果您在阅读时有什么意见和建议,请联系作者邮箱zjroland@126.com。

    程序员成长路线图:从入门到优秀

    作为一个IT行业职员,我经历过一个普通程序员成长的过程,同时也接触过许多不同层次的程序员。他们或在我身边匆匆而过,或与我共同工作,或在我可以关注的范围内成长着。他们的喜怒和哀乐、挫折和成功、幻想和现实、...

    基于JavaWeb的程序员论坛网站源码(课程设计).zip

    基于JavaWeb的程序员论坛网站源码(课程设计).zip基于JavaWeb的程序员论坛网站源码(课程设计).zip基于JavaWeb的程序员论坛网站源码(课程设计).zip基于JavaWeb的程序员论坛网站源码(课程设计).zip基于JavaWeb的程序员...

    狂人C程序员入门必备

    文字版《狂人C程序员入门必备》。 本书面向所有的C语言初学者,并假定读者不具备任何编程经验。 甚至,读者只要具备中学的文化程度,就完全可以把这本书作为自学教 材,来学习C语言程序设计。 尽管如此,本书的内容...

    程序员通用简历模板-简历模板

    (这部分是很多同学忘掉的,要写出你在这个项目中具体负责的部分,以及你贡献出来的价值。)在该系统上线后,Web前端性能从10QPS提升到200QPS,服务器由10台减少到3台(通过量化的数字来增强可信度)。2008年我升任...

    作为PHP程序员你要知道的另外一种日志

    主要给大家介绍了关于作为PHP程序员要知道的另外一种日志的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起看看吧

    为什么软件程序员的价值总是被低估

     在2007年离开雅虎后,我和别人合作创立的Polyvore,从这时开始,我的一个人生主要目标就是,要建立一个高度重视技术人员、将他们作为一等公民对待的公司/社会环境。我毫不动摇的坚信,建立这样的环境能带来各种...

    C# 2008程序员参考手册随书源码

    本书中极具价值的附录介绍了C# 关键字的列表、.NET 类库以及使用Sandcastle 实用程序生成文档。作为理想的资源和参考手册,经常阅读本书可以帮助您理解C# 2008 的各种功能,正是这些功能使得C# 2008 成为比以往更为...

    linux程序员编程指南

    事实上Linux的确稳定而富有竞争力,许多大学与研究机构都使用Linux完成他们的日常计算任务,同时,Linux操作系统也逐渐成为各公司服务器的首选操作系统,许多公司也在使用它来作为邮件服务器或是WWW的服务器

    程序员需要经常刷题吗-josephscottstevens:约瑟夫斯科特史蒂文斯

    作为开发人员,您会遇到很多陷阱和违反直觉的事情,大多数情况下,我们大多数开发人员都暗中学习通过经验来克服这些陷阱。 话虽如此,这里的希望是为直觉提供一个起点。 有很多事实在这份文件中,这不是事实。 目的...

    作为Java程序员应该掌握的10项技能

    主要介绍了作为Java程序员应该掌握的10项技能,包括java的知识点与相关的技能,对于java的学习有不错的参考借鉴价值,需要的朋友可以参考下

    java程序员面试宝典.rar

    这篇文章的目的不是否定面试题的价值,而是想告诉一些朋友,不必在追捧面经、不需要过度在浪费时间“背题应试”。 必要的准备是对面试公司的诚意、面试官的尊敬,过分背题准备,投入产出比太低了。 作为面试官,...

    ADO程序员参考

    1.适合新手作为起步教程,解释清晰,起步要求低,很有价值(内部包含一个ADO用户手册,主要是介绍了ADO的入门,特性,API参考,语法索引,错误代码,以及几个简单例子,参考价值不高,收藏价值较高!); 2.以前...

    可二次开发程序员表白代码.zip

    【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主...

    FlexyCard程序员工程师web简历模板下载5089.zip

    【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。【沟通交流】:有任何使用上的问题,欢迎随时与博主...

    贴身管家项目完整源码(微信小程序版)(功能:身份证查询、银行归属地查询、计算器、程序员黄历、2048小游戏、天气查询) .zip

    2、适用人群:主要针对计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、数学、电子信息等)的同学或企业员工下载使用,具有较高的学习借鉴价值。 3、不仅适合小白学习实战练习,也...

Global site tag (gtag.js) - Google Analytics