我要投稿
  • 您当前的位置:中国教育资源网 -> 技术教程 -> 服务器网络 -> 服务器教程 -> LinuxBSD教程 -> 教程内容
  • [ 收藏本页教程 ]
  • 我是一个坏软件开发者

    教程作者:本站    教程来源:本站整理   教程栏目:LinuxBSD教程    收藏本页
    摘要:   过去的四个月时间里, 我一直在审视自己的内心,试图多了解下自己。之所以这样,是因为七个月我得到了一份我并不讨厌的工作,但其实我也做得一点都不开心。我甚至都不知道有些代码我自己是怎么敲出来的。后来有 ...


      过去的四个月时间里, 我一直在审视自己的内心,试图多了解下自己。之所以这样,是因为七个月我得到了一份我并不讨厌的工作,但其实我也做得一点都不开心。我甚至都不知道有些代码我自己是怎么敲出来的。后来有个朋友再次邀请我去他那,干得还是一样的活,但是有机会参与开源项目。然后我就就走了。审视的结果就是:


    我是一个坏软件开发者


      在那个糟糕的公司待了三个月就离开。我当时是个合同工,并且卷入了公司内部的政治斗争中,其实那些事跟我半毛钱关系没有。我没有开心,也没有不开心。日子天天过,工作没有什么挑战性,也半点意思没有。所以我决定抽出些时间总结一下


      我很谨慎地安排了自己的假期,以保障家庭的经济状况。我还清了帐,还可以支撑之后4,5个月。我做了一张资金流的表格,预算表,然后计划了整整两个月的假期,花一个月面试,然后第四个月是缓冲,以防万一花了比我想象的更加多的时间去面试。


      现在我正在这个缓冲期,已经面试了接近时间公司。没有一家公司给了我工作机会,在多是情况下,没有通过技术面试。我是一个程序员。知道最近我还相信自己是一个好的程序员。然而,招聘是一个筛出坏的不合格的候选人的过程。让我发现自己不再是一个好的程序员。


      当我向朋友和同事流露出焦虑的时候(他们多数比我有经验,更加有智慧)。他们觉得我把问题太简化了,而没有发现现实的复杂性。在上一份工作中,他们看过我的代码,觉得和我合作很愉快。他们不觉得我的工作有什么问题,质量和技术也很好。他们说,我不是一个坏软件开发者,只是不会在面试表现自己。


      如果我只是面对少数的拒绝,我会相信他们。然而现在我是被所有机会拒绝了。只有两次我通过了首轮技术面试。如果我有一个或者两个工作机会,我可能会相信他们。 有没有可能整个招聘都有问题,持续地忽视了一位好的软件开发员,即使他不会在面试中表达自己?相反的,可不可能是这个招聘系统都是对的,我是一个坏程序开发者,所以得不到一个好的工作。


      从记录上来看,我不是唯一抱怨自己做不好一些事情的人。在去工作前,我每天都联系写代码。我解决了一些Rosetta代码中的问题,觉得很好玩。我很有规律地为开源软件做贡献。我甚至尝试去和人交谈,学习怎样更加好的在对话中表现自己。我发现花一些时间和陌生人在一起,然后和他们交谈并不是那么困难,这个故事告诉我,你不尝试就不知道自己可以做到。


      我的目前问题是我什么也没有得到。这是最后一个月了, 我还可以支付租金和账单,不然我就要欠债度日了。如果还找不到工作,我就要把家人才这个公寓搬到一个老旧的住宿了。似乎我不能够再在这个行业工作了。我更加害怕的是,我不知道怎么做其他的工作。


    那么一个坏软件开发者是怎么样的呢?


      看看我的书架,有很多经典的书:SICP,On Lisp, TAOCP,Exper C programming,Effective C++,和一些关于算法,分布式计算,安全,图形学,数学分支的教科书。我真的读了大多数的书(我仍旧在消化TAOCP)。我很高频率地读报纸和杂志,比如ACM,IEEE和各种PhD's(博士论文?).如果你只是从读书列表来看,我是一个很全面的人才,其实我不是。我只是喜欢编程,想要知道所有一切我想要的。


      我为很多的开源项目做过贡献,从C++,Perl,Pyhton和Lisp之类的语言。有一些项目是我用过的,可是没有某些功能,他们需要开发者去修正bugs和增加功能,或者写库文件和应用文件,正好这些也是我需要的。


      我很开心不断提高我的技术。就像我之前提过的,我会练习写代码。在很多我服务过的机构,我写的程序是经历自动检测的冠军。我读很多的书,论文,文章,我也写一些文章去教别人。


      我喜欢数学。在读了信息学,知道了香农熵(Shannon Entropy),我开始序理论(order theory)。我喜欢联合半格(joint semi-lattices),集合,有理代数,句子数据库(sentential databases).我不记得细节,但是我知道回归和迭代的方法。如果我想知道细节,我有杂志和教科书。


      尽然如此,我仍旧失败了,在一个要我写一个程序返回一个布尔变量,来表示一个序列 A 是一个序列 B的子序列。我仍旧不知道怎么回答一个我自己写的叫guests函数的复杂度(当然计算排列组合的复杂度是n的平方,但是这是一个审讯的随机琐事,我可以管理召回,我觉得自己像一只鹿在大灯??)。我的信心已经在每一次的错误,失败,拒绝中失去了。


      在整个过程的最后,我觉得自己是低落,绝望,害怕自己拖累了家庭。我的女儿有一天会问我,是做什么工作的。我会咬着嘴唇告诉他,我是写电脑程序的。我不得躲开她在长大中的试探性的问题,以免告诉她,我为了桌上的食物什么都做。我从来没有成功过,也没有做过什么让自己特别骄傲的。我只是尽力去做,即使整个世界都觉得我不再足够的好。


      我是一个坏软件开发者,这个是我的人生。

      (译者:这片是一个黑色幽默么?)

  • 上一篇:软件设计哲学
  • 下一篇:已经没有了
  • 我要投稿   -   广告合作   -   关于本站   -   友情连接   -   网站地图   -   联系我们   -   版权声明   -   设为首页   -   加入收藏   -   网站留言
    Copyright © 2009 - 20012 www.chinesejy.com All Rights Reserved.中国教育资源网 版权所有