`
dengyll
  • 浏览: 93230 次
社区版块
存档分类
最新评论

尽可能的不要一个人编程

 
阅读更多

英文原文:Why You Shouldn't Code Alone  

  我在宾夕法尼亚州匹兹堡地区一个有相当规模的制造公司里工作。我是那里唯一的一个 ruby 程序员。公司里还有个程序员,但我们的工作通常不相交,他不懂 ruby。来到这个公司后,我最终被分配的任务是开发 web 应用程序。之前,我学的是软件工程师,我花了大量的时间学习了底层编程,C/C++,甚至汇编。这里,我以为学习 web 开发是件很快乐的事,所以我买了一些书,开始研究。

  这不很好吗?事实上完全不是这样。学习一种语言、一种框架,这有很多乐趣。但是,但是,但是;有时候你会很痛苦。除了在书本,谷歌和在线邮件列表里寻找答案外,我没有其它的资源可用。是的,这些已有的资源已经很有帮助了,但问题是我不知道自己遗漏了什么。我会花数小时在我的代码里寻找隐含的 bug,或者 Stack Overflow 网站上等待人们的答复。我有时感到前所未有的沮丧,尤其是当看到 Rails 的运行速度时。我感觉就像经历着一个巨大的失败。我这么无能吗?有这么多优秀的人用 Rails 做出来让人惊叹的东西。我的问题出在哪里?!!!

  当时我听说各地都在组建 Ruby 社团。很神奇,匹兹堡就有一个。但我从来没去过。我害怕,我知道那里我一个人都不认识。很显然我在那里是无知的人。出于某些原因,我最终去了那里。猜猜怎么着,我不认识一个人。慢慢的,我开始接触一些人,跟他们谈论我在做的事情。我要强调的是,这需要时间,需要好几次交谈。慢慢的,我焦虑的心情被消解,我开始和他们交朋友,交流我在 ruby 上遇到的问题。他们促使我进步,当遇到困难时他们帮助我。感觉太好了。

  从那时起,我开始不断的参加各种活动,并发现新的机会。当听到有两个人在谈论 Mendicant 学院后,我就申请了。可我没有被录取。本来应该是对我的最终判决,但我的朋友再次出来营救了我。Steve Klabnik 给我发信息说,我只是错过了申请日期,有几个人也是这种情况,名额有限。他鼓励我再次申请。我做了,而且在里面完成了核心技能课程。耶!我还有幸参加了计划组织研讨会。我还向好几个开源项目提交了代码修改,比如 Hackety Hack 。我很难描述这些对我有多大的改变,向开源项目提交代码是我以前不可想象的事。我不停的刻苦努力但仍然觉得自己很笨。但我知道,我不是唯一一个这样的人。

  不要独自编程。要参与。认识新朋友。编一天的代码虽然很好,但你要知道,这里还有另外一个世界。

47
17
分享到:
评论
24 楼 eyeruby 2012-05-30  
有些人自己创业,自己编码没问题,如果在一个项目里面,多到200人的项目,一个人编程是肯定不成的,不管模块多小,一个人做都不行,你总会被牵扯到别的人,别人也会被你牵扯到
23 楼 mida 2012-05-30  
你也说尽可能了。现实太过骨感。
22 楼 wandou 2012-05-29  
唔系好人 写道
heyJoe 写道
wandou 写道
只能说,他不适合一个人编程。他必须依赖别人的帮助。

看7楼, 我觉得碰见这种问题才是最头大的, 自己费老半天劲解决了, 也没啥成就感吧。

windows不可能bill gate一个人写完吧!!!需要的是团队!

hibernagte是几个人写出来的?
21 楼 alyouge 2012-05-29  
一直一个人编程!
20 楼 jn615 2012-05-29  
wnfd369 写道
cgd123 写道
最痛苦的莫过于遇到一些无法解决的配置方面的问题。这对解决过类似问题的人很简单的东西,对你来说却比登天还难。

cgd123 写道
最痛苦的莫过于遇到一些无法解决的配置方面的问题。这对解决过类似问题的人很简单的东西,对你来说却比登天还难。

深有感触。

+1
19 楼 yk0025 2012-05-27  
eyeruby 写道
楼主的心境,真是相见恨晚啊,一个人写程序真是很枯燥无味,如果几个人在一起开发,将会非常有动力和激情


感同身受!!!
18 楼 hz_滨江_AGeek 2012-05-27  
根据2-8效应,这个老外的学习方法,中国80%的程序员都不具备,所以这个套用在中国不合适
1. 多少人会用mail list
2. 多少人会用stackoverflow问问题
3. 多少人会对开源代码提交patch

所以作者虽然看上去是一个没经验的,其实对中国的程序员来说,已经属于20%的那部分了
17 楼 hiblue 2012-05-26  
作者好象只是一个初级程序员, 没什么经验的那种,
16 楼 foyo99 2012-05-26  
深有同感.
15 楼 eyeruby 2012-05-25  
楼主的心境,真是相见恨晚啊,一个人写程序真是很枯燥无味,如果几个人在一起开发,将会非常有动力和激情
14 楼 唔系好人 2012-05-25  
heyJoe 写道
wandou 写道
只能说,他不适合一个人编程。他必须依赖别人的帮助。

看7楼, 我觉得碰见这种问题才是最头大的, 自己费老半天劲解决了, 也没啥成就感吧。

windows不可能bill gate一个人写完吧!!!需要的是团队!
13 楼 heyJoe 2012-05-25  
wandou 写道
只能说,他不适合一个人编程。他必须依赖别人的帮助。

看7楼, 我觉得碰见这种问题才是最头大的, 自己费老半天劲解决了, 也没啥成就感吧。
12 楼 xucaishen 2012-05-25  
同感。。。
11 楼 左脚穿右鞋 2012-05-25  
子啊團隊中學習速度是最快的、最省時間的!
10 楼 wnfd369 2012-05-25  
cgd123 写道
最痛苦的莫过于遇到一些无法解决的配置方面的问题。这对解决过类似问题的人很简单的东西,对你来说却比登天还难。

cgd123 写道
最痛苦的莫过于遇到一些无法解决的配置方面的问题。这对解决过类似问题的人很简单的东西,对你来说却比登天还难。

深有感触。
9 楼 happys 2012-05-25  
嗯嗯 自己研究然后身边有一堆朋友各自拿着自己的成果交流,这种感觉很好,哈哈
8 楼 nemo2011 2012-05-25  
,交换苹果效应。
7 楼 cgd123 2012-05-25  
最痛苦的莫过于遇到一些无法解决的配置方面的问题。这对解决过类似问题的人很简单的东西,对你来说却比登天还难。
6 楼 wjch_111 2012-05-25  
没有神一样无所不知的coder!只有团队才更强大。任何行业都一样。
5 楼 aijuans 2012-05-25  
结对编程还是挺不错了.

相关推荐

    人类编程法完整示例

    5. **迭代与反馈**:"人类编程法"提倡迭代开发,即快速构建一个基本功能的原型,然后根据反馈和测试结果逐步完善。这种方式更符合人类解决问题的模式,可以及时调整方向,避免大规模的重构。 6. **代码复用**:鼓励...

    LinuxC编程一站式学习

    很多从Windows平台入门学编程的人,编了好几年程序,还是只知道编完程序点一个按钮就可以跑了,把几个源文件拖到一个项目里就可以编译到一起了,如果有更复杂的需求他们就傻眼了,因为他们脑子里只有按钮、菜单的...

    编程就业项目简历模板共9个

    7. **个人陈述**:可以是一个段落,阐述自己的职业经历、兴趣和对编程的热情。 8. **参考人**:可选择提供一到两位能够证明你工作能力的前任导师或同事的联系方式。 在选择和定制简历模板时,应考虑以下几点: - ...

    C语言的编程风格

    在C语言中,标准的缩进通常是每个层级使用4个空格或一个Tab键(通常被设置为等同于4个空格)。文件中提到,有人偏好8个空格,但这可能导致一行代码过长,影响阅读体验,特别是在屏幕宽度有限的情况下。因此,建议...

    [编程之禅][CH].pdf

    这本书不仅仅是一本技术手册,更像是一本哲学指南,引导读者进入一个全新的思考维度。 #### 二、核心概念与思想 1. **禅与编程的融合**:本书的核心思想在于通过禅宗哲学来理解编程的本质。禅宗强调直觉与体验,而...

    c语言的编程风格

    至于函数,它们应该保持短小且专注,每个函数尽可能只做一件事。理想的函数长度应该控制在一到两屏(80列*24行),并确保其功能单一且明确。长函数可能是代码需要拆分或重构的信号,特别是在涉及到复杂的逻辑或多...

    2016年全球编程大赛作品 高原.rar

    在编程中,压缩文件的大小往往被视为衡量效率和优化水平的重要指标,4KB的大小意味着开发者必须精打细算每一个字节,以实现尽可能多的功能。 压缩包内的文件“elevated_1920_1080.exe”是一个可执行文件,根据...

    97年世界编程大赛第一名作品

    这款程序的特点在于其源代码经过精心设计与优化后,编译后的执行文件体积非常小——仅有4KB左右,却能够呈现出一个3D动画场景并伴有背景音乐,这在当时的技术背景下是非常不可思议的成就。 #### 技术背景 在上世纪...

    嵌入式系统编程(中文版)

    一个介绍嵌入式系统编程的书,如果你可以接触到这个参考硬件的话。你将能原封不动地使用本书里的例 子。否则,你需要把示例代码移植到你能用到的嵌人式平台上面。为了这个目 的,我尽可能地使示例程序易于移植。可是...

    genesis编程相关

    我们将从多个角度来解析这个主题,以期覆盖尽可能广泛的编程知识。 首先,让我们假设“Genesis编程”是一种新兴的编程语言。编程语言是软件开发的基础,它们提供了结构化的方法来编写指令,使得计算机能够执行各种...

    游戏编程精粹1中文版

    音频处理也是游戏编程中不可忽视的一个方面。在游戏中,音频效果对于营造氛围和增强沉浸感有着极为重要的作用。音频编程涉及音频资源的加载、播放控制、3D音效处理等方面。开发者需要熟悉音频库的使用,以及音频效果...

    JAVA手机游戏编程源代码2

    总的来说,这个名为"JAVA手机游戏编程源代码2"的压缩包是一个宝贵的教育资源,对于想要学习和提升Java手机游戏开发技能的人来说,通过对这些源代码的阅读、理解和重构,可以深入了解游戏开发的各个环节,从而成为一...

    讲计算机编程习惯的一本好书

    - **编写代码**: 编写尽可能少的代码以通过测试。 - **重构代码**: 在确保测试通过的情况下,优化代码结构和性能。 - **重复上述步骤**. **3.2 TDD 的优势** - **更高的代码质量**: 通过持续的测试确保功能的正确...

    中兴编程规范_C#

    - 方法和变量名采用驼峰命名法(camelCase),第一个单词首字母小写,其余单词首字母大写。 #### 八、声明 在声明变量、方法或类型时,应遵循一定的规则,如: - 尽可能限制作用域,只在需要的地方声明变量。 - ...

    64K动画(系列)体现了warez的编程实力

    在标题“64K动画(系列)体现了warez的编程实力”中,warez指的是非法复制和分发软件的地下社区,而64K动画则是这个领域中的一个独特亮点。尽管warez活动本身存在法律争议,但不可否认的是,64K动画的制作过程中所...

    解析极限编程拥抱变化(XP)

    1. **沟通**:强调团队成员之间的沟通和信息共享,确保每个人都对项目的目标和进展有清晰的理解。 2. **简单性**:提倡保持设计、代码实现尽可能简洁,避免过度设计或复杂的解决方案。 3. **反馈**:通过持续集成、...

    C语言编程规范

    在已有的编码规范指导下,应该慎重编排代码,使代码尽可能清晰。在重构或修改其他风格的代码时,最好是根据现有代码的风格继续编写,或者使用格式转换工具统一风格。 2、头文件规范 头文件是C语言编程规范中的一个...

Global site tag (gtag.js) - Google Analytics