3 ms·
> The way to actually get better (at anything) is to create a feedback loop and focus on the bits and pieces which matter. > Ask a professional musician how th
by dozzie 10y ago
> The way to actually get better (at anything) is to create a feedback loop and focus on the bits and pieces which matter.
> Ask a professional musician how they got better, and [...] they'll say by doing focused practicing.
How does focused practicing look for programmer?
- yread 10y agoGoogle brings up this: http://artists.pixelovely.com/focused-practice-an-exercise-for-real-improvement-in-33-days/ http://artists.pixelovely.com/focused-practice-an-exercise-f... Step 1: Identify what you’d like to be better at, and be specific. Step 2: Try to break this goal down into smaller goals. List them. Notice if one might interfere with the other goals if it isn’t tamed first. Choose the most foundational goal. Step 3: Commit to practicing that aspect of drawing 100 times. Each practice should take a minimum of 5 minutes. This is for drawing but it looks like it could be adopted for programming. EDIT: googling some more brings up this article https://sites.google.com/site/steveyegge2/practicing-programming https://sites.google.com/site/steveyegge2/practicing-program... EDIT2: even more googling finds more concrete focused practicing http://web.archive.org/web/20060316094755/http://blogs.pragprog.com/cgi-bin/pragdave.cgi/Practices/Kata http://web.archive.org/web/20060316094755/http://blogs.pragp...
- mbrock 10y agoDon't you think the emphasis on repetitive practice makes more sense for skills that are based on bodily coordination? I think getting better at programming has more to do with learning patterns, thinking carefully, and hard-won experience.
- falcolas 10y agoYou're missing feedback. If you don't get regular feedback, all the thinking and patterns in the world aren't going to help you learn. Feedback does not need to be external; it can be driven by the requirements you set forth for yourself. "I want to learn to build in low memory environments," leads to "This backend must never use more than 1MB of memory." "I want to figure out how to optimize programs," leads to "This backend must respond to every request in under 50ms." "I want to know everything about my current programming language," leads to "Obfuscate Hello World!" Create a feedback loop and write simple programs, each time with different criteria. "I can only use functions," or "This must be as fast as possible," or "this must be as slow as possible (without using sleeps)"... the possibilities are many, and the time required is small for each exercise. They make for great 20^H^H1% projects or "I need to step away from my current program" tasks.
- mbrock 10y agoWell, I thought of feedback as part of "hard-won experience", but yeah.
- bulkan 10y agoYou invert a binary tree for fun