不喜欢8小时外写代码的就不是好开发?

标签: 分类?没有 | 发表时间:2011-06-24 08:53 | 作者:yuanyi Vernsu
出处:http://heikezhi.com

有人在stackexchange上提问

我看到许多Blog和网上的建议都说,要想成为一个好开发,只在工作时间写代码是远远不够的,你需要用你的业余时间参与开源项目,或是开发自己的手机App,但是我每天的闲暇时间就那么几小时,我实在不想将他们浪费在电脑上面,这是不是说明我不是个好开发?

下面是最受欢迎的一个回复:

在我看来之所以有人会这样想,只是因为他们的工作实在太烂,并且缺乏时间管理的能力,如果你的工作只是每天重复的编写Web form,那么你应该考虑先去换个更有挑战的工作,或者自己找点事情。

事实是这样的,即使是最顶级音乐会的乐手(大提琴/钢琴或者随便其它什么),他们每天的练习也不会超过6个小时,大多数可能还要更少。

你可能听过这种说法,只有写更多的代码才能学到更多,那完全是扯淡,实际上每天8小时已经过量了。

人的大脑的学习曲线并不是线性的,而是对数型的:

如果一个音乐家每天练习超过3个小时,原因只是他为了想要得到那额外的1%,如果你认为这也适用于你,那就试着去重新解决那些CS在20年前就已经解决的问题吧,这样你就已经走上了自找麻烦之路。

我以前曾在几家高压锅式的公司工作过,但相比37signals这样严格限制工作时间的公司,他们的实际产出并没有高多少:http://37signals.com/svn/posts/996-why-i-love-working-with-family-people

所以情况其实很明显,你或许可以在电脑前坐上10-12小时,在办公室多待2小时,但这并不包含90分钟午饭,2小时闲逛,以及一小时玩办公室的桌上足球和其它什么游戏的时间。

现在看看那张图,再看看你自己。

实际上你完全可以通过参与一些更有趣的活动来扩展你的脑容量,比如学习一门乐器,一个外语,或者是走出去进行一些运动,和生活中的其他人建立联系。

生产力的对数特性

在1993年,通过对一群年轻小提琴家的观测,效率研究专家Anders Ericsson发现,那些最好的小提琴手几乎总是使用相同的练习方式:每天早晨,进行3次不超过90分钟的增量练习,每次间隔进行适当的休息,并且,Ericcson发现这一模式也同样适用音乐家,运动员,棋类选手以及作家等等。

对于真正的生产力而言,少真的意味着更多。

这条原则在商界几乎人人皆知,我很吃惊很少有程序员知道这一点。

Ericcson还有一项研究,你或许听到过,只要通过10年,1万个小时的练习,你就可以成为某个领域的专业人士。

但是我们都知道,如果你只是不断的重复使用你的第一年经验。。。这样的10年并不会让你变得出类拔萃,根据Ericsson的研究,要想变得出类拔萃,只有通过刻意的练习(deliberate practice)才能达到。

他发现这个原则对运动,音乐,写作,象棋,以及数学都适用,并且他进一步定义了什么是刻意的练习,刻意练习就是,你需要付出100%的努力,即使你是最顶尖级别的,每天也只能进行最多4个小时的练习,否则你的身体就会因为过量训练而受到伤害,并且,即使是这种刻意练习所带来的提升也是逐渐减少的。

作者在最后还给出了2条如何寻找更有挑战工作的建议:

1. 你的工作是否具有挑战,其实取决于你自己,事实上,任何工作你都可以找到各种有趣的挑战,如果你讨厌每天重复的编写CRUD,那就想个办法来自动生成他们。

2. 不要坐等机会来找你,这样永远也等不来。

想和我们一道传播黑客精神?快来加入吧!

相关 [代码 开发] 推荐:

java代码开发规范

- - BlogJava_首页
格式规范:                                                                      .       1、TAB空格的数量. 编辑器上的TAB空格数量统一取值为4.       2、换行, 每行120字符.       3、if语句的嵌套层数3层以内   .

Android Native 代码开发学习笔记

- iDesperadO - WindStorm
本文提供排版更佳的PDF版本下载. JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁. 代码编写者即可以使用JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码.

开发中统计代码量

- - 开源软件 - ITeye博客
开发中我们想知道到底有多少代码. throw new RuntimeException("异常");. sum1++;//不包括注释换行. sum3++;//包括注释,换行. * 程序名称:java代码行数统计软件. * 说明:支持 整个工程的代码行数统计. out.println("共有 " +sum[5]+" 个类" );.

再谈低代码开发平台(200727)

- - 人月神话的BLOG
今天准备谈下快速开发平台和低代码开发平台方面的内容. 对于快速开发平台在10年前我关注的比较多,当时也是属于快速开发平台的狂热者,也试图去构建一个完整的包括了对象建模,数据建模,流程建模,规则建模,界面建模的完整快速开发平台. 但是最近几年这方面的关注比较少,只在16年对开源的基于元数据驱动的EOVA平台进行了简单试用,在去年对JEPaas平台进行了简单试用.

低代码开发脚手架 citrus-vuetify

- - OSCHINA 社区最新软件

Calibre开发者指责Hamstersoft抄袭其GPL代码

- satan - Solidot
Calibre是一款备受欢迎的开源电子书管理软件,整合了电子书格式转换功能. 源代码在GPLv3许可证下发布. Hamstersoft Ebook Converter是最近推出的一款电子书格式转换程序,它主要是在Calibre源代码基础上加上一个定制UI. 根据GPL许可证要求,它必须公开源代码. Calibre开发者John Schember发现,Hamstersoft没有遵守许可证要求,他通知该公司之后给他们留出了一个月时间修正问题.

微软开发者对Linux 3.0代码的改动最多

- China Moon - Solidot
根据LWN.net的统计(需订阅),在Linux 3.0中,微软开发者K.Y.Srinivasan贡献了343次更改,在所有Linux 3.0开发者中排名第一;在企业和机构排名中,微软贡献了361次更改,排名第七,独立开发者贡献了1,085次更改,Red Hat为1,000次,Intel为839次.

开发移动应用的四个免代码工具

- Caiwangqin - 36氪
移动互联网的爆发式成长主要依赖网络、终端和应用这三大支柱. 三大支柱中,网络和终端的发展模式相对固定. 运营商是网络的搭建者,硬件制造商则负责生产终端. 然而真正扩展移动互联网未来无限发展空间的是应用. 互联网巨头,软件服务提供商,个人开发者甚至是运营商和硬件制造商都对应用开发这块宝地跃跃欲试. 是不是很想加入这股应用开发大潮却苦于不懂技术.

Web开发人员有用的代码比较工具

- - 博客园_首页
许多不同的语言的开发人员都有着同样的头疼问题. 测试不同版本的源代码之间差异,在整个开发的职业生涯将是一个恼人的问题,但很少考虑的问题是在编写和编辑从相同的源的两个或多个子版本本的合并时如何来更快的发现不同之处,幸运的是有几个非常好用的的工具在这种情况下使用,. 在寻找的软件工具,使用代码的比较,你会碰到很多不同的解决方案.

开发人员抵触代码审查的4个原因

- - 博客园_新闻
英文出自: softwarequalityconnection. 据调查显示,代码审查工作有助于提高软件开发质量,然而许多开发者却不愿意在他们的团队中实施代码审查工作,本文主要分析了开发者为什么会抵制代码审查工作的原因以及为什么他们会有此想法,目的是为了引导开发者加入代码审查工作. 代码审查究竟是什么样的工作呢.