2 ms·
Read lots of books to understand how expert programmers think about problems. (SO and other sites don't qualify as this as they as they are focused on "How do I
by DanielBMarkham 16y ago
Read lots of books to understand how expert programmers think about problems. (SO and other sites don't qualify as this as they as they are focused on "How do I do X?" which is a completely different thing -- mostly trivia)
Pair program/code review to learn what you're doing wrong.
Teach it if you want to really know it. PG's idea of writing a book is great, but I've found the interactive nature of hands-on teaching really makes me grok something. Writing, for me, helps me organize my thoughts, but coding is something you never do "perfectly" -- the goal is to solve a problem for real people, not create the perfect mathematical construct -- so I'm much more interested in how different personality styles and moods approach problem-solving in a language more than I am the details of the language itself.
Each of these works at a different level: strategic, quality-control, and tactical. Depending on personality type, folks have a tendency to get hung up on one level or another -- as if learning all the syntax of a language or how to use the IDE is the same as mastery -- but for me I've found I need all of them in equal parts.