为什么程序员的业余项目大多都死了?

为什么程序员的业余项目大多都死了?

我们都有这样的业余项目:项目创建一半就弃之于坟墓,未完成的梦想遗体就这样扔之于文件夹中。游戏、应用程序、可视化数据等等。现在所谓伟大的点子最后只能沦落为空气中卑贱的尘埃。

这是一个可悲的事实,因为业余项目原本应该成为一个传奇。在它们最辉煌的时刻,能够让你朝思暮想,夜不成寐,眼中只有一个它。很少很少的一部分人会够保持下去,沉溺于此。它们让你觉得自己还活着,它们比sex更好。

但大多数的业余项目往往没有那么幸运。被抛弃,然后静静地,死去。

我们会说自己没有时间。生活是如此忙碌,总是有各种事情不得不去做。这或许也没错。但是,我们其实是能挤出时间去做我们真正想做的事(比如说sex)。所以到底是什么原因呢?

我们私底下担心是因为我们无法自律。我们懒得去做这些伟大的事情。这可能是真的。但制造是一个创造性的过程,和创造力有一个成反比的规律。制造的过程不应该感觉像去健身房健身。而应该觉得自己是流淌在一件艺术品中。

通常,我们还有一个可以掩盖所有本质原因的终极借口:感觉没有意思了。一路走来,一开始的兴奋劲,所有支持你的动机,已经消亡了。

你几乎可以感觉到一切消失的那一刻。比如说你用了几个小时的时间绞尽脑汁地想一个非常愚蠢的问题。你知道不应该这么难,但就是指不出原因何在。也许你只是不够聪明,你默默地想。也许这并不在你的能力范围之内。你累了,总是独自一人,你准备放弃。

于是业余项目死了。它们之所以死去是因为它们不再让人觉得有趣。它们之所以死去是因为我们在踽踽独行。

它们死了,是因为它们感到孤单。

当我们独自一人的时候,很容易停止真正的进步。我们会去优化一些我们知道怎么去搞的细微事情,而不是去处理我们不知道的重要事情。但是,当你要展示给别人看的时候,你就不会只调整一次颜色就予以通过。即使只有一个观众,也会促使我们做出真正有利于项目进程的进步。

当我们独自一人的时候,很容易觉得自己很愚蠢。所谓的愚蠢就是,比如花了2个小时去改变一些配置,却只意外地发现了一些用于锁定配置文件的权限按键。当你独自一人的时候,这类事情会狠狠打击你的信心。但是,当你有人可以和你一起对此一笑而过,而这个人也分享他那些愚蠢错误的时候,一切就会变得可以忍受多了。

当我们独自一人的时候,很容易陷入迷路中。无论是什么项目,我们几乎都需要一直摸索。我们不知道我们哪些不知道,有时候甚至不知道下一步该做什么。如果有人能够指出那些当局者迷的路径,就能够让我们少走很多弯路和死胡同。

这并不意味着协作就是答案。合作也有其本身的问题。你必须处理不同的承诺水平,甚至需要你放弃一些创意控制,这些都是很难的事情。如果奏效,协作就会事半功倍。但是,强迫性的合作比独自做事情更糟。

那么,怎么才能让业余项目不至于那么孤单呢?

我们不能肯定,但有一个假设。这个假设基于我们儿时参加令人讨厌的科学和数学竞赛的美好回忆。之所以会感觉到乐趣,是因为整组的其他孩子都在做同样的事情。

我们不知道是否可以重新创建一些神奇又友好的挑战,以完成更多的业余项目。比如说类似于科学奥林匹克竞赛,在线黑客马拉松等等,我们相互挑战来构建类似于制作棋盘游戏等项目。

我们也不确定这是否就是答案。但是,我们知道,我们必须得继续,直到真正想出一个办法让我们的业余项目不那么孤单。当然如果你有好的建议和意见,欢迎留言,共同探讨。

时间: 2024-11-09 03:50:44

为什么程序员的业余项目大多都死了?的相关文章

马无夜草不肥:程序员做业余项目的重要性

英文原文:Eric Himmelreich 编程是一种创造过程,业余项目允许程序员在没有截止日期或各种限制的条件下,以探索形式编程.业余项目之所以重要,有以下几个原因. 探索新技术 每天都会不断有新技术出现,而业余项目则是最佳的试验场.作为业余项目,你不必为bug或者性能问题担心,即使网站崩溃也没有问题,因为你不靠它来领薪水. 从头创造 我所从事的大多数都是为现有的产品做一些维护,增加一些新特性,修复bug,解决性能问题,重构现有代码.虽然我也从头编写过一些软件,但这些基础工作只需要一两个月,接

为什么程序员的开发项目总是半途而废?

很多程序员的项目常常半途而废.他们有那么多的好点子,但是很多都流于空想.几乎每一个软件开发者都有一个这样的文件夹,里面很多都是些还没完工的项目,而这些程序里有不少在它诞生初期真心是个超棒的点子.和这些人一样,我也有很多好主意,有的甚至就是现在有些企业在用的.比如正决定着在eBay上还是在Amazon上做电子商务获利.做一个以业务为基础的社交网络(水管业.电子行业.软件开发等).比特币搜索引擎.开发一个CSS框架来取代Bootstrap.从Instagram上找出最有魅力的那些人.开发一个实时访问

程序员的开发项目总是半途而废

程序员的开发项目总是半途而废 很多程序员的项目常常半途而废.他们有那么多的好点子,但是很多都流于空想.几乎每一个软件开发者都有一个这样的文件夹,里面很多都是些还没完工的项目,而这些程序里有不少在它诞生初期真心是个超棒的点子.和这些人一样,我也有很多好主意,有的甚至就是现在有些企业在用的.比如正决定着在eBay上还是在Amazon上做电子商务获利.做一个以业务为基础的社交网络(水管业.电子行业.软件开发等).比特币搜索引擎.开发一个CSS框架来取代Bootstrap.从Instagram上找出最有

程序员可以兼任项目经理吗?

人们的有些尝试从来没有成功过:接到一个小项目,项目小,完全不需要一个全职的项目经理.于是就决定让一个程序员兼任项目经理.毕竟,还能有谁比程序员更清楚应该写出一个什么样的程序? 的确,很多程序员能做好项目经理的职位.好的程序员和好的项目经理的之间没有本质的冲突.这两个职位都是面向细节和面向结果的.但是一个人不可能同时做好这两个工作. 为了理解这种不兼容性,必须认识程序员和项目经理工作任务的类型. 开发软件需要进入一种沉浸状态,为了更加有效率,程序员必须完全进入代码世界,来专注于操作算式和变量,预见

程序员可以兼任项目经理吗?

人们的有些尝试从来没有成功过:接到一个小项目,项目小,完全不需要一个全职的项目经理.于是就决定让一个程序员兼任项目经理.毕竟,还能有谁比程序员更清楚应该写出一个什么样的程序? 的确,很多程序员能做好项目经理的职位.好的程序员和好的项目经理的之间没有本质的冲突.这两个职位都是面向细节和面向结果的.但是一个人不可能同时做好这两个工作. 为了理解这种不兼容性,必须认识程序员和项目经理工作任务的类型. 开发软件需要进入一种沉浸状态,为了更加有效率,程序员必须完全进入代码世界,来专注于操作算式和变量,预见

@程序员,承认吧,都是你的错!

老读者都知道的,我没干过什么大事,无非就是敲敲代码.写写文章.还有就是及时吃饭.睡觉.打豆豆. 这不,就有个哥们看不惯我了,再见之后还要撂下这句狠话:"你这种人是干不了大事的." 好吧,我承认,都是我的错!我真没想过要干什么大事.我觉得打打杂,扫扫地挺好的.我估计我来到这个世界上的时候,父母也没对我抱太大的期望,否则清华北大没录取我这事会把他们气疯掉的.事实上,即便我只考了个大专,他们仍然没有抛弃我.放弃我. 不知道大家有没有看过<西西里岛的美丽传说>,漂亮的女主人公(女神

从程序员到项目经理(4):程序员加油站 -- 不是人人都懂的学习要点

学习是一种基础性的能力.然而,“吾生也有涯,而知也无涯.”,如果学习不注意方法,则会“以有涯随无涯,殆矣”. 一.学习也是一种能力 看到这个标题,有人会说:“学习,谁不会?”的确,学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力.我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路.说话.穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握的知识越来越多,与此同时,我们学习能力却好像越来越差了,习惯了被别人喂饱,似乎忘记了怎么来喂自

从程序员到项目经理之程序员加油站 -- 不是人人都懂的学习要点(转发)

学习是一种基础性的能力.然而,“吾生也有涯,而知也无涯.”,如果学习不注意方法,则会“以有涯随无涯,殆矣”. 一.学习也是一种能力 看到这个标题,有人会说:“学习,谁不会?”的确,学习就像吃饭睡觉一样,是人的一种本能,人人都有学习的能力.我们在刚出生的时候,什么也不知道,是一张真正的白纸,我们靠学习的本能,学会了走路.说话.穿衣服…后来,我们上学了,老师把书本上的知识一点一点灌输到我们的脑子里,我们掌握的知识越来越多,与此同时,我们学习能力却好像越来越差了,习惯了被别人喂饱,似乎忘记了怎么来喂自

如何成为一个优秀的程序员(大部分写的都非常不错)——要勤快,不停的学习;争论是无意义的,不如把两种都学了,会更有收获。

在看这份FAQ之前,你必须先读完ESR的<如何成为一名黑客>(本文末尾附有中译版),该文所讲过的道理我不再重复.该文用很大的篇幅讲什么是黑客文化,虽然态度和信仰的确是成功的最关键因素,但是你肯定会想,做不做黑客跟我没关系,我只是想学个一技之长,找个好工作而已,对吧?那么肯定更希望获得一些具体的可操作的指导.     1.各种软件技术之间是怎样的关系? 我把软件技术分为三个层次:    问题域:计算机图形学.音视频编码.信息安全.模式识别.信息检索.自然语言分析.人工智能.科学计算等: