A lucra programator nu este garantia faptului ca vei deveni un programator bun - este poate doar un prim pas. Realitatea este ca de multe ori programatorii se plafoneaza si isi pierd curiozitatea, motivatia de a afla mereu ceva nou, de a testa si de a experimenta.

Un articol excelent de la Coding Horror pe aceasta tema : The Ultimate Code Kata

Printre recomandarile autorului pentru antrenamentul de programare am remarcat:

  1. Talk to other programmers. Read other programs. This is more important than any book or training course.

  2. Program! The best kind of learning is learning by doing.

  3. Take programming classes at the college or graduate level.

  4. Seek out and work on projects with teams of programmers. Find out what it means to be the best programmer on a project -- and the worst.

  5. Work on projects after other programmers. Learn how to maintain code you didn't write. Learn how to write code so other people can effectively maintain it.

  6. Learn different programming languages. Pick languages that have alternate worldviews and programming models unlike what you're used to.

  7. Understand how the hardware affects what you do. Know how long it takes your computer to execute an instruction, fetch a word from memory (with and without a cache miss), read consecutive words from disk, and seek to a new location on disk.

  8. Write a blog. I started this blog in early 2004 as a form of effortful study. From those humble beginnings it has turned into the most significant thing I've ever done in my professional life. So you should write blogs, too. The people who can write and communicate effectively are, all too often, the only people who get heard. They get to set the terms of the debate.

  9. Actively participate in a notable open source project or three. All the fancy blah blah blah talk is great, but are you a talker or a doer? This is critically important, because you will be judged by your actions, not your words. Try to leave a trail of public, concrete, useful things in your wake that you can point to and say: I helped build that.

  10. Go to Wikipedia's entry for computer science, scroll down to the "Prominent pioneers in computer science" section, pick a person from the list, and read about them. Follow any links from there that you think look interesting.