程序员:孤独的人是可耻的!

转载 2013年12月05日 01:09:52

喜爱软件开发的人,是不是那些宁可与计算机打交道也不愿意与人打交道的反社会、反人类的人呢?如果是这样的话,随之而来的问题是,所有的软件项目最好都由一个人来独自完成吗?


对于第一个问题,可以勉强回答“是”;但对于第二个问题,我们要响亮而又坚决地回答“不”。网上有一篇很不错的文章,名叫“Creating My Own Personal Hell”(打造我自己的地狱),它解释了独自编程的危害性,读后让我非常震惊:

有些人宣称,“独自工作”为建立起自己的工作流程提供了极好的机会。但是,根据我的经验,在团队只有一个人的时候是没有流程可言的。没有任何东西可以帮你抵挡住如潮水般涌来的大量工作。当你的代码太急于求成时,没有人去纠正你的错误。没有人检查你的代码。没有人保证你的代码能准时提交、打好标签、进行常规的单元测试。没有人保证你遵循了某个编码标准。没有人督促你及时修复代码里的缺陷。没有人检验你是否把一个实际存在的问题标注成了“无法重现”。没有人复核你的估算,在你玩忽职守的时候把你抓回来。

没有人在你生病时或者出差时接过你的工作。没有人在你工作繁重时帮助你,在你深陷于骚扰电话、无聊会议、还有在最后关头忽然被扔过来(但需要立即解决)的杂碎任务时,没有人能拉你一把。没有人忽然有奇思妙想,帮助你走出困境。没有人在设计、架构或技术上与你合作。你在一个真空中工作;在真空中,没有人能听到你绝望的尖叫。

如果你读到了这些内容,请以此为鉴。如果某个公司只招你作为唯一的一位开发者,在你答应他们之前请三思。那根本就是另一种地狱。如果有机会的话,请选择那些能与其他开发者一起工作的职位,这样你至少可以在与别人一起工作的过程中得到指导,这有助于你发展自身的技能,让你在技术方面与时俱进。

对于在现实的荒漠中被很多无能的同事和糟糕的管理人员包围而感觉束手束脚、甚至感到绝望的很多软件开发者来说,独自工作是一个非常大的诱惑。独自工作意味着对于一个软件项目的完全掌控,在方方面面拥有最终的决定权。但是,与授权别人一起开发相比,完全自己一个人开发是极其脆弱的。就像是一个移动中的海市蜃楼,它给你极具诱惑力的希望和慰藉,但当你靠近它的时候,你会变得比一开始更加饥渴和虚弱。

像很多程序员一样,由于性格内向,我在小时候就被计算机所吸引。与没有明确的对和错、到处充斥着不合理但又无法解释的人类世界和社会相比,在计算机的世界里,是那么的平静,尽是1和0的理性组合,这片绿洲似乎要诱人得多!事实上,计算机并不比人强,但真见鬼,它们比人更容易让人懂。

在互联网盛行之前的早期时代里,搞计算机的的确确是一件孤独的事情。Danielle Bunten Berry(《M.U.L.E.》游戏的创作者)总结了这样一句名言:没有人会在临终之时说,“哎,我希望我能花更多的时间与我的计算机单独相处。”8位的编程时代已经离我们远去了。互联网的出现,以及软件不断增长的规模和复杂性,更是让人坚信:在当今这个年代,我们几乎不可能脱离互联网进行编程。当我没有网络的时候,也就无法进入互联网上浩瀚的编程知识海洋,我会感到寸步难行……

如果你不能展示给别人看,再漂亮的编码技巧又有什么意义?如果你不去接触其他程序员的不同观点、不同方法以及不同的技术,你又怎么能学到更多的技艺?谁又能检查你的代码并告诉你,那个问题有更简单的解决方法?如果你对待编程的态度是认真的,你应该要求与同伴们一起工作。

个人的能力总是有限的,它决定了你在这个领域里只能走那么远。找一些其他的聪明程序员吧,和他们一起工作。努力让自己保持谦逊低调,然后你会很快发现,软件开发其实是一种社会活动——它的社会性比大部分人想象的要大得多。你可以从那些性格内向的同伴身上学到很多东西。


赞同!

相关文章推荐

一个孤独的人

今年大二了,正式接触互联网快一年了,想想之前是多么渴望这样的机会,一年来,学习关于互联网的一切知识,想要让自己有一个全局观,奈于专业的差距,自己只能挤时间去干自己想干的事,看了好多技术类和产品经理类的...

《当程序员的那些狗日日子》(七)悄悄改变的人和事

很快就到了“五一”七天长期。想想从2003年的9月份到这时,我已有一年多快两年的时间没有回过家了,所以我决定趁假期回家一趟。我的老乡也回去,所以我们便一道而行。 怀着激动、感慨、高兴而又有点难过的复...

请不要做浮躁的人——转给即将上路的程序员朋友

最近半年多来收到不少网上留言和邮件询问程序代码问题,我个人比较喜欢讲思路然后再指定一些参考网址或者文章,不过似乎太多初学者不太领情,丝毫不顾自己 薄弱的基础,只求代码,别的什么也不顾,说实在话本人工作...

中小型企业信息化需求矛盾解决之道:希望对企业信息化有困惑的人和程序员有所启发

1、信息化整体基础不好,导致IT部门地位的边缘化 2、决策者希望很少投入得到丰厚回报的普遍愿望 3、信息化的目标的模糊导致规划的缺失 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)