You're looking at Less Wrong's discussion board. This includes all posts, including those that haven't been promoted to the front page yet. For more information, see About Less Wrong.

Vladimir_Nesov comments on Open Thread, September 23-29, 2013 - Less Wrong Discussion

5 Post author: Mestroyer 24 September 2013 01:25AM

You are viewing a comment permalink. View the original post to see all comments and the full post content.

Comments (261)

You are viewing a single comment's thread. Show more comments above.

Comment author: Vladimir_Nesov 25 September 2013 10:24:36AM *  3 points [-]

There is another aspect of working on big projects that seems equally important. What you are talking about I'd call "design", the skill of organizing the code (and more generally, the development process) so that it remains intelligible and easy to teach new tricks as the project grows. It's the kind of thing reading SICP and writing big things from scratch would teach.

The other skill is "integration", ability to open up an unfamiliar project that's too big to understand well in a reasonable time, and figure out enough about it to change what you need, in a way that fits well into the existing system. This requires careful observation, acting against your habits, to conform to local customs, and calibration of the sense of how well you understand something, so that you can judge when you've learned just enough to do your thing right, but no less and not much more. Other than on a job, this could be learned by working a bit (not too much on each one, lest you become comfortable) on medium/large open source projects (implementing new features, not just fixing trivial bugs), possibly discarding the results of the first few exercises.