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

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

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

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

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

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

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

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

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

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

程序员:孤独的人是可耻的!相关推荐

  1. 什么样的程序员会让人讨厌?大家注意,千万不要成为这种程序员!

    什么样的程序员最让人讨厌呢?下面跟着笔者一起来看看,说不定你也被讨厌了! 来自:新浪微博@zFrontier_装备前线 我有一个朋友,就是一个程序员,找他做事的时候,最让人讨厌了. 1.不愿意帮我修电 ...

  2. 程序员的“二”人世界

    程序员的"二"人世界 个人博客:打开链接 世界上每一个程序员都是一个标准二货,彻彻底底完完全全的二货,二的63次方减一,这可是世界上最大的整数了(由此暴露了一个Java程序员的身份 ...

  3. 90后程序员:我面试了一些80后程序员,有些人的技术深度都不够

    点击上面↑「爱开发」关注我们 每晚10点,分享软件开发资源.社交电商资源 文|洪生鹏 80后随着时间的流逝渐渐淡出了人们的视线,人们更热衷谈论90后,有人说90后是跨掉的一代,对于新一代,似乎都有人来 ...

  4. 95后程序员业余帮人鉴定毒蘑菇,竟成百万粉丝的网络大V!

    许多人都在主业之外发展副业,程序员也不例外,有人独立开发app,有人业余炒股,有人下班后写写技术类公众号,这些都是比较常见的副业. 但在南京有这样一个95后程序员小哥哥,在工作之外,他还是一个冷门领域 ...

  5. 程序员如何与人打交道

    作为程序员,人际关系也是必备的技能之一,本篇文章给大家介绍一下作为程序员处理人际关系需要注意的因素. 1.每个人都希望自己被重视 当你和他人沟通交流的时候,每个人都希望自己被重视,因为每个人都有自己的 ...

  6. 程序员过关斩将--互联网人必备知识cookie和session认证

    菜菜,上次你说的cookie和session的文章,我觉得不太具体 那你想怎么样具体呢? 我自己从网上查了一下,很多关于cookie和session认证的,能不能给我讲讲 用户认证呀,可以呀 这样我下 ...

  7. 什么样的程序员会让人讨厌

    我有一个朋友,就是一个程序员,找他做事的时候,最让人讨厌了. 00 不愿意帮我修电脑.我说电脑坏了,想让他看看,他先是叫我检查插头,然后叫我重启,重启好之后,他冷淡的说:以后有事先重启.他明明什么都没 ...

  8. 培训班出身的程序员为什么遭人嫌弃

    转自:简书:http://www.jianshu.com/p/a3f650d93216 这几年,由于it软件行业对人才的需求很大,很多传统行业也纷纷创办"互联网+"项目,加上app ...

  9. 程序员或IT人应该吃的东西

    作为程序员,经常得熬夜,所以身体肯定需要补的,人参就是最好的补品 人参的种类因分类方法的不同而不同. 从植物学上人参的种类可以分为两种:一为五加科植物人参的根:一为五加科植物西洋参的根. 从中药炮制学 ...

最新文章

  1. 及cp含义_当我们谈论CP时,我们在谈论什么?
  2. c++桥接模式bridge
  3. MyEclipse远程调试Tomcat
  4. 自动化测试框架:没有Surprise的原因
  5. 那些年,我在阿里当数据开发
  6. 信息学奥赛一本通 1165:Hermite多项式
  7. 不同版本的散点图矩阵
  8. 今天辞去了联盟的版主职务
  9. Android ROM制作教程,让你拥有自己喜欢的ROM
  10. 横向对比22款思维导图工具,最好用的我觉得是这款!
  11. [转载]只有那句不能唱——听《想把我唱给你听》
  12. wifi技术扫盲-MIMO
  13. 卡巴斯基实验室解析勒索软件的发展与攻防
  14. uniapp的语音功能
  15. 基于android的单词记忆英语考试系统app
  16. WPF布局控件与子控件的HorizontalAlignment/VerticalAlignment属性之间的关系
  17. 华为云在重庆又“火”了一把
  18. python爬虫实战技巧保盈_自学Python十 爬虫实战三(美女福利续)
  19. 主板升级nvme 教程
  20. 计算机网络某局域网的网络设计,计算机网络课程设计+企业局域网的组建 (1)

热门文章

  1. android notification设置提示音
  2. Android 蓝牙开发(扫描设备、绑定、解绑)Kotlin版
  3. 自建工单(审批流)系统设计
  4. LightMap烘焙技巧
  5. IDM设置和解决下载速度慢方法2022.7.11
  6. 分享和推广产品是成功淘宝客的技巧
  7. 小程序自定义导航栏(完美适配所有手机)解决上下不居中 左右不对齐 高度不协调问题...
  8. java实现本地图片转urljava中映射本地图片地址为url访问
  9. 【CYH-02】NOIp考砸后虐题赛:成绩:题解
  10. 解决iOS 上拉边界下拉出现白色空白