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

英文原文:Eric Himmelreich

编程是一种创造过程,业余项目允许程序员在没有截止日期或各种限制的条件下,以探索形式编程。业余项目之所以重要,有以下几个原因。

探索新技术

每天都会不断有新技术出现,而业余项目则是最佳的试验场。作为业余项目,你不必为bug或者性能问题担心,即使网站崩溃也没有问题,因为你不靠它来领薪水。

从头创造

我所从事的大多数都是为现有的产品做一些维护,增加一些新特性,修复bug,解决性能问题,重构现有代码。虽然我也从头编写过一些软件,但这些基础工作只需要一两个月,接下来我又进入维护模式了。

业余项目经常需要从头构建。我喜欢这个步骤,因为我不但复习了已经掌握的所有东西而且把它们应用到创建一个新的(更好的)项目中。

易于启动

进行业余项目也是一项避免分析瘫痪(analysis paralysis)的练习。如果你从头开始会有各种各样的可能性。避免的方法是给出一个短列表上面列出所有必须具有特性,接下来启动一个beta版本实现那些特性,即所谓的最小可行性产品。

编注1:分析瘫痪:对某个问题由于过度分析或过度思考某种情况,以至于没有作出决定或者采取行动。在不同的领域,分析瘫痪有具体的解释,详见维基百科Analysis paralysis词条

编注2:最小可行性产品:指发布所必须的最小功能集合,通常作为产品原型发布给乐于尝试并提供反馈的客户。

避免精疲力尽

为你的热情工作,为乐趣而工作。如果你是一个开发人员,但由于不喜欢现在所从事的工作而感到精疲力尽,试着去做一个属于自己的业余项目吧。它会让你回味为什么编程是如此的有趣。

保持你的技能不会落伍

也许你日常工作使用的是过时的技术。也许你对自己目前掌握的技能感到厌倦,想要去学一些新技术。业余项目是跟踪软件最新潮流的最佳办法。没有尝试过node.js?太好了,用它去做一个小的项目。突然之间,你会发现你有新学会的技术可以炫耀了。

完成你的业余项目

对于业余项目,一个问题是它们可能始终没有完成。刚开始的时候你充满热情,但是2个月之后你甚至不记得上一次做项目是什么时候了。尽管如此,还是应当将项目向前推进并完成它。写完这些,我要去完成自己业余项目了。

寻找业余项目可以尝试从Elance、 oDesk或者Freelancer这些网站开始。

时间: 2024-07-31 00:34:50

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

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

为什么程序员的业余项目大多都死了? 我们都有这样的业余项目:项目创建一半就弃之于坟墓,未完成的梦想遗体就这样扔之于文件夹中.游戏.应用程序.可视化数据等等.现在所谓伟大的点子最后只能沦落为空气中卑贱的尘埃. 这是一个可悲的事实,因为业余项目原本应该成为一个传奇.在它们最辉煌的时刻,能够让你朝思暮想,夜不成寐,眼中只有一个它.很少很少的一部分人会够保持下去,沉溺于此.它们让你觉得自己还活着,它们比sex更好. 但大多数的业余项目往往没有那么幸运.被抛弃,然后静静地,死去. 我们会说自己没有时间.生

怎样为程序员做职业规划

真正的智慧是拥有对人心的判断力.记得<论语>中也讲过:真正的智慧就是知人,用正直的力量影响周围,影响社会.这种智慧会使我们能够深深地沉静下来,面对每一位程序员以及其背后经历过的历史,能够顺着他心灵上每一条纹路,走进他深处.隐秘.那些欢喜忧伤,那些心灵的愿望,那些对美好生活的设计之路. 经过半年时间的锻炼,大熊和小蔡彼此在技术与素养能力上都提高很快.老板又委任大熊新的重任,承担一个规模更大的项目.由于公司整体管理混乱,其他几个项目组中的程序员辞职现象时有发生,公司整体项目风险加大,经常是拆东墙补

一夜爆红的程序员神助,竟然是它!

网友都说这个时代是造就“网红”的最佳时节,事实也是如此,网红借助着现代媒体的宣传与包装,一夜爆红!程序员神助 Navicat 也借此大好环境一夜成名,仔细扒一扒 Navicat 成名的原因,还真的被惊吓到了! 揭开Navicat庐山真面目的正确打开方式: 成名原因一 同时编辑多个单元格 Navicat 表查看器支持框选择,包括同一时间编辑多个单元格的功能,只需在网格内按住并拖动鼠标就能轻易地选择一个矩形区域的单元格,选中之后不仅可以删除,也可以在同一时间替换和编辑多个单元格内的文本,减少大量数据

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

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

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

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

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

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

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

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

HR要求来面试的程序员做笔试题被拒,听到原因懵了

在职场中,经常会遇到能力很强,但是工作态度却很一般,有点恃才傲物的员工,对于这样的情况,放弃又有点舍不得,不放弃又可能会影响到团队氛围.而如果面试中遇到这样的求职者该怎么办呢? 最近在互联网论坛上看到这样一个帖子:HR面试一位能力很强的程序员,要求做笔试题被拒:应届生才做笔试呢!网友评论炸锅了!到底是怎么回事呢? 这位HR在帖子中说自己遇到过这样一个程序员,写代码的技术还是非常不错的,在简历中也可以看出来.只是这个程序员有点太自大了.按照公司流程,HR要求程序员做一套笔试题.可那个程序员直接就说

java程序员面试----交流项目经验(摘自百度)

1:请你介绍一下你自己这是面试官常问的问题. 2:说说你的家庭面试时询问家庭问题不是非要知道求职者家庭情况,探究隐私,而是要了解家庭背景对求职者的塑造和影响.面试官希望听到的重点也在于家庭对求职者的积极影响. 3:说说你的最大优缺点这个问题的概率很大,面试官喜欢求职者从自己的优点说起,中间加一些小缺点,最后再把问题转回到优点上,突出优点的部分. 4:就你申请的这个职位,你认为你还缺什么?面试官喜欢问求职者的弱点,但精明的求职者一般不直接回答.他们希望看到这样的求职者:继续重复自己的优势,然后说: