TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

How to do hard things

1189 点作者 necrodome将近 6 年前

27 条评论

keypusher将近 6 年前
The most valuable thing I learned at university was how to tackle difficult problems. Taking advanced math and science courses where I had to really study, and still struggled, and having to write essays so frequently that I could no longer procrastinate or wait for the spark to hit me, was more valuable in the long run than any of the actual knowledge I gained.<p>The advice to break a hard problem down into simpler pieces good, but I feel like that is often difficult without proper domain knowledge. In many cases, knowing how to break apart a problem like that is how you become an expert in the first place. If you want to learn a musical instrument, there are plenty of good simple excercises to start with, but only an expert can tell you what they are, you can’t easily intuit them from scratch. An experienced programmer will know how to break down a difficult project into small and simpler pieces, that ability is part of what makes them an expert. “Find a good teacher” and “put in the work” seem like rather banal pieces of advice, but it’s a system that has consistently worked throughout the ages. If you are truly breaking new ground then you should already have a framework and significant experience to guide your exploration.
评论 #19956614 未加载
评论 #19959168 未加载
评论 #19958426 未加载
评论 #19958984 未加载
评论 #19959350 未加载
评论 #19957619 未加载
评论 #19957842 未加载
评论 #19957142 未加载
评论 #19958368 未加载
评论 #19959370 未加载
评论 #19957844 未加载
评论 #19959146 未加载
less_penguiny将近 6 年前
My biggest realization about doing hard things is that I needed to let go of my intellectual entitlement. Just because something is (or seems) effortless to others, doesn&#x27;t mean it will be the same for me.<p>Part of this entitlement stemmed from a (now eroded by bitter experience) belief that I&#x27;m somehow a faster learner than normal, that _I_ don&#x27;t have to do the work.<p>For example, about seven years ago I wanted to learn Calc I-III on my own. I went down the usual, lazy, intellectually-entitled route of watching lectures and YouTube videos online without doing a single exercise.<p>A year later, guess what? I couldn&#x27;t remember jack-shit. Moreover, I couldn&#x27;t solve problems, which is basically the reason I was learning math anyway. Any bystander could have predicted this outcome, but I was blinded by my own entitlement.<p>Now, after being humbled (here and elsewhere, e.g. in learning to play music by ear), I realize that there&#x27;s honor, even long-term efficiencies in following every step the great teachers of the past have laid out, in moving slowly albeit with rigor and confidence.<p>I resumed my math study with Geometry 101, the absolute basics, using a book of 5000 (short) exercises. It probably took me three times as long as Calc I-III lectures combined. But I realized something — I found more joy in doing the exercises, in doing things the _right_ way, than I ever had in watching lectures.
评论 #19960051 未加载
评论 #19959435 未加载
评论 #19960220 未加载
评论 #19962037 未加载
评论 #19959047 未加载
评论 #19960270 未加载
czr将近 6 年前
This more or less matches my own system. Some additional notes:<p>* When creating great work as an expert, you will be working down the ladder of abstraction (e.g. for writing–coming up with a concise high-level vision and then progressively expanding it down to the level of characters on a page)–this is the most efficient way to make anything, since you can sanity check your work at higher levels to avoid expensive rewrites at lower levels. However, when <i>learning</i>, you should learn subskills in the exact inverse order (start from the lowest level–how to type keys–then work upwards). Mastering subskills in this order maximizes the feedback signal you get while learning–if you can&#x27;t write a paragraph coherently, it is very difficult to determine how well you&#x27;re doing at developing your authorial voice (or whatever).<p>* Time spent practicing a skill only makes you faster &#x2F; more robust at the method you already know; it doesn&#x27;t lead you to improve your methods. So spend half your time actually performing the skill, and half the time analyzing your work &#x2F; comparing to known good examples &#x2F; planning how to improve (and, really, half of <i>that</i> time should be for improving your tools for analysis and comparison...). If you fail to do this kind of meta-work, 10000 hours of practice or whatever will just get you a fast, robust system for producing garbage.<p>* Assuming you&#x27;re following an intelligent process for learning the skill (see previous points), the most likely way in which you will fail to learn it is by getting disinterested or discouraged and giving up. It&#x27;s essential that you try and structure your learning process in a way that yields intermediate feedback and some satisfaction for improvement, and pay attention to both 1) reducing the parts of the process you dislike and 2) figuring out ways to make it enjoyable (including figuring out how successful other people have managed to derive enjoyment from the activity).
评论 #19958774 未加载
评论 #19957378 未加载
galaxyLogic将近 6 年前
I used to make songs, not so much any more. Creating a song is hard you have to come up with both a good melody and good lyrics.<p>What seemed to work great is I tape-recorded myself playing and singing the initial version of the song. Then I played it and sang on top of it, even doing multi-tracking sometimes.<p>I found it was easy to come up with new words and new adjustments to the melody while singing on top of an existing version. Why? Perhaps because I didn&#x27;t need to spend energy trying to remember both the old version and the new version. The tape-recorder remembered the old version, so I was not afraid of losing it.
评论 #19958501 未加载
MRD85将近 6 年前
His use of loops just seems like an implementation of breaking a problem down into smaller components. If I wanted to learn to learn a difficult skill, such as writing a decent novel, I&#x27;d break it down as follows:<p>1) Research what skills I&#x27;ll need to develop. At my current stage of learning I don&#x27;t know what I don&#x27;t know.<p>2) Figure out a path to start developing skills. This might be writing a small story every single day while also reading books&#x2F;guides on how to develop as a writer. I&#x27;m still writing daily.<p>3) As I&#x27;m becoming mor comfortable writing anything I now need to develop skills on writing specific things. How do I flesh out a character, how do I describe settings, etc. I&#x27;m still writing daily.<p>4) Once I&#x27;ve figured out individual building blocks I&#x27;d then teach myself how to construct them together. What elements do stories contain? How do I flow between small sections to weave a larger tale? I&#x27;m still writing daily.<p>I&#x27;m sure as I become a more knowledgeable and skilled writer I&#x27;d identify other areas I need to work on, skills to develop, etc. It all comes down to identify small blocks and build from there.
评论 #19957645 未加载
hanoz将近 6 年前
It sounds like great advice, I just wish I had some properly hard things I needed to apply it to, rather than the multitude of what ought to be simple things of which a few unexpectedly and inexplicably turn out to be grossly disproportionately difficult to do for no very good reason.
评论 #19956765 未加载
lloeki将近 6 年前
Basically this is Descartes’s Discourse on the Method<p>(2) The second ·was· to divide each of the difficulties I examined into as many parts as possible and as might be required in order to resolve them better. (3) The third ·was· to direct my thoughts in an orderly manner, by •starting with the simplest and most easily known objects in order to move up gradually to knowledge of the most complex, and •by stipulating some order even among objects that have no natural order of precedence. (4) And the last ·was· to make all my enumerations so complete, and my reviews so comprehensive, that I could be sure that I hadn’t overlooked anything.<p><a href="http:&#x2F;&#x2F;www.earlymoderntexts.com&#x2F;assets&#x2F;pdfs&#x2F;descartes1637.pdf" rel="nofollow">http:&#x2F;&#x2F;www.earlymoderntexts.com&#x2F;assets&#x2F;pdfs&#x2F;descartes1637.pd...</a>
wes-k将近 6 年前
One way I accomplish this in programming is to write down what I wish I had. Like ok if I had a magical function that did xyz or if my data just happened to be in this easy to consume format, etc. works pretty well when stuck on a difficult problem.
评论 #19957905 未加载
feviskus将近 6 年前
I am a 4th semester CS student from Germany and still don&#x27;t grasp recursion, even though I already took the data structures &amp; algorithms courses. If you did have something like a magic moment where it made sense to you, please enlighten me as I would really like to truly gain an intuition (and implement a parallelized msd-radixsort for learning-purposes because I failed to do this assignment yesterday).
评论 #19959024 未加载
评论 #19958954 未加载
评论 #19963078 未加载
评论 #19959015 未加载
评论 #19959153 未加载
评论 #19959842 未加载
评论 #19960798 未加载
评论 #19958966 未加载
评论 #19959035 未加载
评论 #19976060 未加载
评论 #19960959 未加载
评论 #19963344 未加载
评论 #19960161 未加载
评论 #19968249 未加载
评论 #19971798 未加载
maroonblazer将近 6 年前
If you enjoyed this then you&#x27;ll likely find Claude Shannon&#x27;s approach useful.<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15115891" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=15115891</a>
jonaf将近 6 年前
This is a very interesting philosophy. A few years ago, a former coworker and good friend of mine introduced me to an algorithm for solving problems. This is a slightly different purpose than doing something hard, but there are some interesting similarities. In my experience as an engineer in software and operations, this algorithm has never come in reach of failing me, and until I was introduced to it, my own system was seriously lacking even though I didn’t know it! You can be successful without it. But you can be so confident and efficient with it! The algorithm and it’s philosophy are described in none other than Zen and the Art of Motorcyle maintenance. I think there’s also an XKCD of it, Flowchart maybe is the name.
评论 #19956847 未加载
评论 #19957066 未加载
评论 #19956784 未加载
joantune将近 6 年前
Yes!! I got introduced to the concept of Double loop learning in a management class in College - and was able to apply it successfully after not being able to get the grade I wanted in some courses - then I realized that the issue was with what I was doing - not with how tight or efficient I was at doing it!<p>Couldn&#x27;t recommend this more
bePoliteAlways将近 6 年前
This is what I have concluded for learning: 1) Figure out a way to have feedback on what you are doing and improve on that. Basically training the neural networks in the brain. Of course the feedback you choose matters like &quot;inner game of tennis&quot; or &quot;drawing from the right side of the brain&quot; talks about using non-judgemental feedback and trusting your capability. 2)Choosing the difficulty of the task to train yourself. If too hard you will give up, if too easy no good or get bored, so always keep it at a point where it is somewhat hard.<p>Also thought people may find this article from andrew ng interesting: <a href="https:&#x2F;&#x2F;www.linkedin.com&#x2F;pulse&#x2F;20140320175655-176238488-learn-to-speak-or-teach-better-in-30-minutes&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.linkedin.com&#x2F;pulse&#x2F;20140320175655-176238488-lear...</a>
tirumaraiselvan将近 6 年前
Nice. I never explicitly realized this but this is how I always succeeded in doing hard proof-of-concept projects in a complex software product.<p>Single loop when I know the domain fairly well. And double loop in a complete new domain.<p>So, the question is: Are there other methods to approach problem-solving which gives positive success?
alfonsodev将近 6 年前
I changed recently the way I look at problems, instead of thinking I don&#x27;t know, or I don&#x27;t understand. I think that is more useful to think that I have a wrong model of reality, that way it helps to<p>a) Acknowledge that I might have already assumptions that need be questioned<p>b) Forces me to re-visit what I think I know<p>c) Realising that accessing the right model is &quot;just&quot; a matter of finding what building blocks are misunderstood or missing in my model.<p>I think the article suggestion fits this philosophy and it is a valid angle to attack a problem, in &quot;model&quot; terms &quot;Find something that is like the hard thing but is easy&quot; for me easy means, that is familiar to you meaning that is a model that you understand, meaning it is a model that you play and gives you the expected results.
teekert将近 6 年前
Call me a hedonist, but I usually start with the most fun stuff that gets me some result soon (usually the part I already am good at). Then ideas come for the rest, the dark days I certainly procrastinate until I feel guilty enough to go on again. Works for me.<p>It helps a lot if you have an employer that gives you the time. There is no substitute for getting paid 8hrs a day to learn new difficult tasks.<p>It&#x27;s actually the reason why some of my self-employed friends got a regular job again.
sytelus将近 6 年前
TLDR; The core idea described in article is to identify components that makes things &quot;hard&quot; and then apply each component in isolation to &quot;easy&quot; version and master that easy+one hard thing problem. After you do that for each component, you likely find thing isn&#x27;t hard anymore. This is &quot;single loop system&quot;. The &quot;double loop system&quot; applies to thing that you don&#x27;t know what the &quot;good&quot; final state looks like. So you basically consider <i>that</i> as problem and apply single loop system to first find out the good final state. Then again apply single loop system to achieve that good final state.<p>This is insightful but claims are rather over-inflated. More formally thinking, if this system works then my first instinct would be to apply on np-hard problems or build machine with human level intelligence. The issue is that hard things are often hard because solution search space is extremely vast and achieving any level of predictability is difficult because there is almost always new information lurking in space you haven&#x27;t explored yet.
评论 #19959211 未加载
mrcoder111将近 6 年前
Taking notes for my RL research..
afaq404alam将近 6 年前
First principle thinking comes to my mind after reading the whole article.
greendestiny_re将近 6 年前
When writing, start from the conclusion and work forwards.
Madmallard将近 6 年前
I think it is a habit to want to tackle difficult things that is learned through discipline likely fostered by parents that disciplined you. This is anecdotal though.
jamisteven将近 6 年前
Writes article on how to do hard things : article is super hard to understand. F M L
edisonjoao将近 6 年前
great post.
edoo将近 6 年前
I conquered my own process by eventually realizing I could approach it exactly like a computer program. I architect how I am about to work. Now instead of just nebulously working I always know exactly what I&#x27;m working on. This frees my mind to focus on the task at hand and if I get sidetracked I can just look at my current goal and process list I setup before I started working, that I thought out rather well, and it gets me right back on track.
评论 #19964564 未加载
robertAngst将近 6 年前
Doing hard things &#x27;isn&#x27;t impossible&#x27;.<p>Doing hard things is time consuming and&#x2F;or expensive.<p>As a side note, I find it interesting how non-engineers describe the reverse engineering process. I thought this was hard to understand.
评论 #19956279 未加载
pts_将近 6 年前
This guy is rambling. The key - just do it.
HNLurker2将近 6 年前
Change title to how to do &quot;complex&quot; and &quot;complicated&quot;. Just stop saying that, and I don&#x27;t like the algorithmic approach to this and the vaque-ness of the word hard