HackerURLs

一次又一次被重新发现的经典。

同一个链接,相隔一年以上,一次又一次被人重新发现、再次冲上 Hacker News 首页。能经受住这种时间检验的,大多是值得一读再读的文章。每篇附中文标题,讨论最热的那些再加上中文导读和高赞评论翻译。

从名人堂开始
  • 4,700+篇经过时间检验的经典

Hall of fame

名人堂

在经典库里看全部精选

上首页次数最多、而且有中文导读的 30 篇。时间轴上每个黑点是一次上首页,空心点是一次没冲上去的投稿。

  1. 正在载入经典…

Archive

经典库

按第一次上首页的年份分布,点柱子筛选。

排序

    About

    这些经典是怎么挑出来的

    1. 01

      合并同一个链接

      读取 Hacker News 自 2006 年以来的全部链接投稿,把 http/https、www、跟踪参数等写法不同的同一篇文章合并成一条。

    2. 02

      只留经得起时间的

      同一链接至少两次拿到 50 分以上(约等于上首页),而且两次相隔一年以上;再由 AI 剔除状态页、产品首页和新闻事件。

    3. 03

      写导读、译评论

      上首页次数最多的 2,000 篇配上中文导读、"为什么经久不衰",并精选翻译 HN 高赞评论。导读由 AI 生成,可能有误。

    职业与工作方法daedtech.com编辑精选

    开发者为何停止学习:专家初学者的崛起

    How Developers Stop Learning: Rise of the Expert Beginner (2012)

    3次上首页
    4年跨度
    1,133累计得分
    570条评论

    2016 — 2020,它一次次回到首页

    黑点是上首页(≥ 50 分)的那次投稿,空心点是没冲上去的投稿,点越大分数越高。

    导读

    这篇文章基于德雷福斯技能获取模型,提出“专家级新手”的概念:一些开发者在“高级新手”阶段误以为自己已达专家水平,停止学习并固步自封,甚至阻碍团队进步。文章用保龄球等例子说明技能成长会遭遇平台期,而误判自身水平是停滞的根源。

    为什么经久不衰:它揭示了一个跨越职业阶段的普遍陷阱——把“比周围人强”误认为“是专家”,多次登上 HN 首页说明这种自我认知问题长期困扰开发者,今天读来依然是一记警钟。

    关键词 职业成长德雷福斯模型自我认知学习平台期

    HN 评论精选

    专家级新手的危害在于固守现状并压制改进,解药是终身学习的谦逊心态

    我觉得很多人没抓住文章重点。我职业生涯中遇到过好几个“专家级新手”:他们自以为已到技能天花板,实际离底部不远。他们靠资历升了职,如今还得把自己的做事方式灌输给别人。任何改进流程的建议都会遭到“我们这儿不这么干”的回绝,因为这让他们感到威胁。避免成为专家级新手,并不是要你把业余时间都用来学 200 种技术,而是接受学习是终身的事,相信资历更浅的同事也有可教你的东西,并对“还有太多要学”保持谦逊。

    dorkwood查看英文原文

    I feel like a lot of people here are missing the point of the article. I've worked with several 'expert beginners' over my career. They think they're near the skill ceiling, but they're actually much closer to the bottom. They rose through the ranks despite not being particularly great at their jobs, and now find themselves having to indoctrinate others into their way of doing things. Any suggestion on how to improve the process is usually met with some form of "that's not how we do things around here", since the expert beginner feels threatened. Preventing yourself from becoming an expert beginner doesn't mean you have to dedicate all your spare time to learning 200 different technologies, as some here have suggested. It's more about accepting that learning is a life-long practice. Knowing that less experienced coworkers still have things they can teach you. Understanding that there is still so much out there for you to learn, and being humble about that fact.

    从学习乐趣递减、进阶材料稀缺到抽象思维门槛,多重结构性原因导致开发者停滞

    我认为造成这种情况有多重原因:入门学习很有趣,但把东西做得更好就没那么多人觉得有趣了;入门材料(教程、示例)海量,而越往深处可用材料急剧减少;只有部分人能进行抽象思考、基于已有知识“创造”新知识——新手靠复刻教程快速进步,但越深入越需要理解底层原理,很多人对此不适应或认为没必要;当你在团队中创造新知识时,与同事协作也更难,别人倾向于抵触非“复刻”的新东西;创造新知识还是高风险低回报的投入,而照教程做几乎稳赚不赔。

    lmilcin查看英文原文

    I personally think there are multiple reasons for this situation. * It is fun to learn initially, to see something new working. Once you get something working not many people see fun in spending a lot of time in getting it to work better. * There is huge amount of introductory materials (guides, tutorials, examples) but the amount of available materials falls drastically as you start to progress. * Only some people are able to actually think in abstract terms required to "create" new knowledge based on existing facts. Beginners can advance quickly by "recreating" -- executing tutorials, copying existing code, etc. It is relatively easy to use these as building blocks for a simple application. But as you progress you have to figure out more and more new knowledge, understand underlying principles. This is what many people either don't feel comfortable doing or don't feel is necessary to do or are just plainly incapable. * It gets more difficult to work with other people in your team as you create knowledge in a given topic. There is tendency to push back when team member tries to introduce something new that is not clearly recreation of accomplishment of somebody else available on the Internet. * Creating new knowledge in the topic is a huge risk in that it is unknown payoff for large amount of honest work. There is not much risk in following existing tutorials, it is pretty much guaranteed that it is possible to recreate accomplishment others did. When you create new knowledge (for example new patterns, principles, guidelines) it is likely you are going to make mistakes. This fact may cause people uneasy and dissuade them from further advancement in the topic. * Getting mediocre in any specific topic is frequently seen as good return on investment. For example, as an architect I would maybe not want to get expert at any of the frameworks I know. I see this as a reasonable tradeoff which allows me to tackle other problems as soon as I think I know "enough" about particular topic.

    环境决定认知:在小池塘里当大鱼会让你成为局部最大值而不自知

    如果你在一家招普通人的普通公司工作,而你明显高于平均水平,你很快就有变成“专家级新手”的风险。你可以是前 5% 的开发者,这会让你成为“局部最大值”,因为公司内部所有人都把你当大师。但在招前 5% 中的前 5% 的公司,你可能连第一轮电话面试都过不了。走出舒适区,学点新东西——横向拓展或纵向深挖都行——只是要意识到:当你觉得自己是某方面专家的那一刻,恰恰说明你才真正该开始学它。比同事懂得多不代表你是专家,你只是处于局部最大值,需要放眼全局才不会永远卡在那里。

    eranation查看英文原文

    If you work in an average company who hires average people and you are well above average you quickly risk becoming exactly that. You can be the top 5% (I know it's subjective and controversial yet I'm sure we all have a clue what that means) of developers and this will make it likely for you to be that "local maximum" as everyone will see you internally as a guru. But at companies who are employing the top 5% of the top 5% you will probably won't even make the first round of phone screens. Get out of your comfort zone, and simply learn something new. Go wide, go deep or go both just realize that the moment you feel you are an expert on something it just means you are probably just ready to start learning it for real. tl;dr Knowing more than your peers doesn't make you an expert. You are at a local maximum and you need to look at the big picture to avoid being stuck there forever

    平台期是学习的自然规律,停在平台期未必是错,不应简单指责专家级新手

    我觉得这个观点有点狭隘。作者讲自己用错误姿势打保龄球、到达无法进步的平台期的例子很好,我们每个人都能讲出类似的学习经历。快速学新技能本身是种很棒的能力,但你总会到达一个平台期,继续进步越来越难——这和 Gartner 炒作周期等更大尺度模式颇有相似之处。问题是到达平台期后你怎么办?也许现有水平已够用,也许深入理解并非做好工作所必需,也许不如去学别的技能来组合?这个问题有很多细致的答案,简单地把责任归咎于专家级新手并没有用。

    zubspace查看英文原文

    As such, Advanced Beginners can break one of two ways: they can move to Competent and start to grasp the big picture and their place in it, or they can ‘graduate’ to Expert Beginner by assuming that they’ve graduated to Expert. I think, that viewpoint is a bit narrow. The example, where the author tells the story how he started bowling the wrong way and reached a plateau, where he could not further progress, is a good one. And I'm sure there are numerous examples each one of us can tell of own experiences made when learning new skills. In my opinion learning new skills fast is a great skill. And nowadays there are many resources available to us make this easy. But you will always reach a plateau, where further progression gets increasingly difficult. It's fascinating how this corresponds to larger patterns like the Gartner Hype Cycle [1]. The question is, what do you do when you reach a plateau? Do you invest more time and money? Maybe the skill level suits you well and you don't feel a need to progress further? Maybe deeper understanding is not necessary to do your job well? Maybe it's better to acquire different skills which you can combine instead of being an expert in one area alone? I think there are many nuanced answers to that question and simply put blame on the expert beginner is not useful. [1] https://blogs.gartner.com/smarterwithgartner/files/2019/08/CTMKT_741609_CTMKT_for_Emerging_Tech_Hype_Cycle_LargerText-1-1024x974.png

    历次讨论

    同类还值得读

    1. 用十年时间自学编程(1998)

      Teach Yourself Programming in Ten Years (1998)

      Peter Norvig 1998 年的经典文章,回应“21天/24小时学会编程”一类速成书,主张真正精通编程需要约十年持续、有意识的练习。

      职业与工作方法上首页 11 次 · 2007–2025norvig.com编辑精选
    2. 如何成为一名程序员:简短、全面而个人的总结

      How to be a Programmer: A Short, Comprehensive, and Personal Summary

      一篇广为流传的程序员成长指南,作者以个人经验系统总结了成为优秀程序员所需的各项技能——从调试、测试、沟通到团队协作与身心健康。

      职业与工作方法上首页 6 次 · 2008–2015samizdat.mines.edu编辑精选
    3. 不要自称程序员

      Don't Call Yourself a Programmer

      经典职业建议文章劝软件工程师不要把自己局限在“程序员”这个标签上,而要从公司业务角度说明自己创造的价值;文中讨论了成本中心与利润中心、头衔、求职与职业选择,也顺带批评了学术界的价…

      职业与工作方法上首页 5 次 · 2011–2021kalzumeus.com编辑精选
    4. 创作者的日程与经理的日程

      Maker's Schedule, Manager's Schedule (2009)

      Paul Graham 在这篇文章里把时间表分成两类:管理者的日程以小时为单位,会议可以填满一天;创作者(程序员、写作者等)的日程则以半天为单位,需要长时间不被打断的连续块。

      职业与工作方法上首页 5 次 · 2009–2021paulgraham.com编辑精选
    5. 为什么程序员的薪酬不与生产力成正比

      Why programmers are not paid in proportion to their productivity

      讨论为什么程序员的薪酬往往不随其生产力成比例增长:生产力难以客观量化,薪酬更多受组织预算、岗位定价和个人议价能力影响。

      职业与工作方法上首页 5 次 · 2009–2022johndcook.com

    打赏支持

    打赏二维码

    觉得有用,请作者喝杯咖啡。

    WeChat

    关注向阳乔木

    微信公众号「向阳乔木推荐看」

    微信公众号「向阳乔木推荐看」二维码

    微信扫一扫;在微信里打开本页时,长按二维码识别。