职业与工作方法bookofhook.blogspot.com
聪明人的效率陷阱
Smart Guy Productivity Pitfalls (2013)
2013 — 2018,它一次次回到首页
黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。
导读
这篇文章讨论聪明、能力强的工程师常见的生产力陷阱:容易自满、把时间花在看似忙碌或回避枯燥工作上,并借 John Carmack 等例子谈专注与时间追踪。作者主张正视工作中“磨”的部分,别让聪明本身变成效率陷阱。
为什么经久不衰:它把高能力者常见的自欺和拖延讲得具体,多年后评论区仍在争论“优化个人产出还是改进系统”,因此今天仍值得读。
HN 评论精选
反对只优化个人编码产出,主张花时间社交和改系统。
我完全不同意文章的战术建议(尽管意图很好)。如果能回到刚入行时,我会告诉自己:每天至少留20%时间不写代码,而是思考、与人交流/社交。不要优化个人产出;改进系统比多执行25%更能帮助系统。而除非你学会社交礼仪、说行话、保持好心情、显得有耐心、不计算这些互动“浪费”的秒数,否则你无法改进系统。
alexandercrohde查看英文原文
I could not disagree more with this article's tactical advice (though the intention is great). If I could go back in time and tell myself anything when I first got into engineering it would be "Be sure to take at least 20% of your day to not code, but rather to think about / engage with / socialize with others. Do not optimize for personal output, you will help the system most by improving the system rather than executing 25% more. And you can't improve the system unless you learn the social graces, speak the lingo, are in a good mood, appear patient, and aren't counting all the seconds that are 'wasted' by these interactions"
生产力选择应回到人生目标与权衡,而非盲目追求更多产出。
很多事取决于你想要什么生活。以我经验,一个相当聪明有经验的软件工程师若明智选择投入方向,不需太多努力就能过大多数人羡慕的生活,获得认可并自我感觉良好。但总有种不安:你本可做更多。文章谈的就是这个。重要的是看清权衡,有意识地决定人生目标。Carmack 很厉害,但没多少人认真想过成为 Carmack 而不是自己会怎样。当然,关键是尽量多收益少代价。
trevyn查看英文原文
I think a lot of this comes down to what you want in life. In my experience, if you’re a reasonably intelligent and experienced software engineer, and make some smart choices about where to focus your effort, you don’t need to put in much of that effort to live what most people would consider an enviable life. So you do that, become envied, get the validation, and feel generally pretty good about yourself. But there is this nagging sensation that you could do more. And it’s true, and that’s what this article talks about. And underlying that, I think it’s important to look at the tradeoffs, and make a conscious decision about your life goals. As awesome as Carmack is, I’ll bet not many have sat down and thought about what it would be like to be Carmack and not themselves. Of course, the magic is figuring out how to get as many of the benefits with as few of the drawbacks.
对烂代码的厌恶是拖延的重要来源。
我常发现自己拖延于要写自己感到羞耻的代码时。从零写新东西很有趣,难或有挑战也很有动力,能长时间专注。但如果任务是把明知很烂的代码硬塞进项目,那我就会拖很久。
d--b查看英文原文
I often find myself slacking when I have to write code I am ashamed of. Writing new stuff from scratch is fun, I have zero problem being motivated to code things that are hard or challenging. And I can keep focusing for a long time. However, if my task is to shoehorn some code that I know to be crap into my project for x or y reason, oh boy, then I can drag my feet for a looooooooong time.
对 Carmack 时间追踪例子有另一种解读,未必是把上厕所当摸鱼。
我清楚记得他说“所以如果我去上厕所,我会暂停播放器”。认为上厕所≈摸鱼很硬核。可能是说话者被误解了。作者从“把非工作时间算作不 productive”的角度看,但 Carmack 可能只是追踪主动编程时间,不介意偶尔中断清空头脑。换个角度,语气就从“无情砍掉不 productive 时间”变成“追踪工作时生产力以发现趋势”。
kbenson查看英文原文
I distinctly remember him saying "So if I get up to go to the bathroom, I pause the player". You know what's pretty hardcore? Thinking that going to the bathroom is essentially the same as fucking off. This seems like it might be one of those times when the person doing the speaking is being interpreted to say something he didn't mean to say. The author seems to be coming from the direction of "count the time you weren't working as unproductive time in the day", while it's unclear from Carmack's statements (the subset referenced in the article, at least) whether he was considering that at all. For an alternative perspective, consider that Carmack might have tracked the time he actively spent programming, and used that to measure commits or lines written/changed over time. He may not have minded the occasional interruption to clear his mind and reset. This changes the tone considerably, from one of "ruthlessly cut out 'unproductive' time" to something like "track your productivity when you're working to spot trends", and all it takes is looking at the situation from the other direction.
历次讨论
同类还值得读
用十年时间自学编程(1998)
Teach Yourself Programming in Ten Years (1998)
Peter Norvig 1998 年的经典文章,回应“21天/24小时学会编程”一类速成书,主张真正精通编程需要约十年持续、有意识的练习。
职业与工作方法上首页 11 次 · 2007–2025norvig.com编辑精选如何成为一名程序员:简短、全面而个人的总结
How to be a Programmer: A Short, Comprehensive, and Personal Summary
一篇广为流传的程序员成长指南,作者以个人经验系统总结了成为优秀程序员所需的各项技能——从调试、测试、沟通到团队协作与身心健康。
职业与工作方法上首页 6 次 · 2008–2015samizdat.mines.edu编辑精选不要自称程序员
Don't Call Yourself a Programmer
经典职业建议文章劝软件工程师不要把自己局限在“程序员”这个标签上,而要从公司业务角度说明自己创造的价值;文中讨论了成本中心与利润中心、头衔、求职与职业选择,也顺带批评了学术界的价…
职业与工作方法上首页 5 次 · 2011–2021kalzumeus.com编辑精选创作者的日程与经理的日程
Maker's Schedule, Manager's Schedule (2009)
Paul Graham 在这篇文章里把时间表分成两类:管理者的日程以小时为单位,会议可以填满一天;创作者(程序员、写作者等)的日程则以半天为单位,需要长时间不被打断的连续块。
职业与工作方法上首页 5 次 · 2009–2021paulgraham.com编辑精选为什么程序员的薪酬不与生产力成正比
Why programmers are not paid in proportion to their productivity
讨论为什么程序员的薪酬往往不随其生产力成比例增长:生产力难以客观量化,薪酬更多受组织预算、岗位定价和个人议价能力影响。
职业与工作方法上首页 5 次 · 2009–2022johndcook.com