在《rework | 重来:更为简单有效的商业思维 》这本书里,basecamp 的 david heinemeier hansson 和 jason fried 说要“开除工作狂”,但《从 0 到 1》的作者 peter thiel 却说绝佳的工作条件,(比如像google)是需要超过十倍的技术力来支撑的,没有其他捷径。
比尔·盖茨在 1983 年说过:
你必须觉得这个行业很好玩。你得晚上回到家还找电脑杂志来看,否则你的波长会跟不上(在微软的)这些人。
所以我们应该相信谁呢?你的人生一定要活在程序设计中才能当个好的程序员吗?
每周 40 小时工作时间
许多研究都指每周 40 小时是最有生产力的工时,不过 malcolm gladwell 在《异类:不一样的成功启示录》中也提到,要迈向成功需要一万小时的练习。而我的合气道教授则说,练习愈多你就会变得愈强。
约翰·索内兹在《软技能:代码之外的生存指南》一书中,一样强调努力的重要性。尽管他认同“聪明工作”就够了,但也承认他比寻常付出了更多努力,才在在职中创造了惊人的改变。
在一场对谈中,ruby on rails 作者,知名程序员 dhh 也曾和连续创业者 jason calacanis 一同探讨工作和生活的平衡。calacanis 认为创业必须全心投入,而最后他们俩都同意“热情”才是最重要的。
以我个人的经验来说,当我做自己热爱的事时,我会:
*更有生产力
*觉得充满活力而非被工作淹没
我周围的优秀程序员都充满热情,而且每周工作超过 40 小时。我也观察到,热情和努力是发展未来技能的关键指标。
但是一个充满热情的人要怎样在每周工作超过 40 小时的状态下,依然维持生产力?
加入一点创新点子来维持活力
在《程序员思维修炼》一书中,andy hunt 提到了我们平常在背景执行的 r-mode 工作之外,还要找一些空闲来做一些“跳出常规思维”的创意方案。
极限编程鼓励大家维持可持续的开发步调,《代码整洁之道:程序员的职业素养》作者 robert c. martin 又叫我们每周工作 80 小时才能保持“专业“。
对我来说,持续在一个项目上做结对编程(pair programming)6 到 8 小时就是极限,超过的话,造成的瑕疵就会大于做出的贡献,让我变成「净负生产力程序员」(net negative produced programmer)。但如同我们同时做一点业余项目(side project),那我一天可以坚持写程序的时间就会变多。
我猜有热情的人大概就是这么做,他们会在主要的工作之外安排一些不同的主题来点缀。
*他们看关于程序设计的书。
*他们有自己的业余项目
*他们会读程序设计的文章。
*他们可能还会写程序相关的博客,他们可能会参加、举办或是主讲一些聚会。
大部分的时候,做这些都不是为了完成更多工作,而是为了学到更多。我发现身边的杰出程序员都充满热情,而且尽力去增进自己的技术,同时也注意到纯粹过劳的工作狂通常生产力都不高。
为人父母的挑战
我认为比尔·盖茨 1983 年的那段话还没有错。如果你没有热情,那程序员很难做得久。
保持热情的好处在于,我们可以拥有一个活力四射的工作环境,充满变化和新奇,但反面来说,要跟上这样的节奏可不容易。
当程序员愈来愈有经验,就会开始对麻烦的工作失去耐心,然后想要拥有:
*强大的编程语言和技术
*有效率的工作环境
*聪明的同事
不幸的是,当你为人父母,你可能只想有份稳定的薪水来养家,还有一些自己的时间来陪孩子。
这个时候就开始有点棘手了。你既不能跳槽到很酷却高风险的新创公司去做一番事业,你也没办法熬夜挤时间出来增进你的技能。雪上加霜的是,尽管你拥有 10 年的工作经验,懂得各种语言和技术,你的简历上要是没有亮眼的关键字,很多公司连看都不看一眼,这简直就是程序员版本的创新者窘境(创新者的困境),你就像那些老牌公司一样要保证自己不会被新技术挤出市场。
缺乏热情和养小孩,这两点应该能解释人们停止当个程序员的部分原因,而且我马上就想到这种现象带来的两种后遗症:
*我们常常要重新发明像轮子一样基本的要素(就是你,那边那个在写 js 框架的)
*随着老手的离去,我们可能会在没有意识到的状态下,忽视了一些可以让我们更有效率的人际互动流程。
电感与电容并联电路的谐振
全力推动,小米明年至少发10款5G手机
英特尔计划推出采用了26核心的精简版的Xeon W-3175X处理器
人工智能会下棋可编程,但想跟人类抢饭碗,还差了这些技能!
boost升压电路参数计算
IT工程师们如何在工作及生活中一直充满热情?
GTX1660性能曝光 领先GTX1060约10.5%
章丘南外环隧道项目电力监控系统的研究与应用
峰岹科技荣获中国IC设计成就奖之年度杰出资本市场表现奖
怎样进行机器视觉的像素校准?
一加5发布时间曝光:一加5售价再创新高,骁龙835+支持防水+后置指纹识别
通信网络技术载体主要包括 通信网络技术应用
谷歌苹果竞争激烈 未来还有10大市场
高可靠系统的电源电压监控和排序
建筑工地如何管控扬尘污染?推荐扬尘监测仪
工业4.0将重塑汽车产业 这3方面将有大作为
关于打通电网改造的最后一公里的计划和方案分析
信号转换器的种类 信号转换器的应用
有源电力滤波器的设置原则
FPGA项目承接案例:基于FPGA的MIPI接口开发服务