I think about this from time to time. How did I get there? How do I get further? I started off really bad. I've progressed to "good", and hoping to get to "great" someday. I've picked up this wisdom: 1. Learn an IDE and an editor. The IDE is useful for refactoring, for project management, for code completion, and other niceties. Your editor is there to lean on when you have to do some down and dirty editing. For exam…
>2. Great programmers don't have to worry about learning libraries -- they just figure them out. I would love to be able to do this. The amount of time I'll ponder on a library thinking "what are the internal mechanics of this?" can be quite frustrating. For OpenGL, for example, I have such a hard time processing a mental image of the system that I can't really figure out how to use it well. Every library should have…
Sure it helps to have a mental model. But how to achieve that? Expect it to take time, and digging right in and looking at those examples, and changing them to see what works.