Even though, this is more oriented to web development, we could take some ideas:
1. Learn a new programming language
2. Read a good, challenging programming book
3. Join an open source project
4. Solve programming puzzles
5. Program
6. Read and study code
7. Hang out at programming sites and read blogs
8. Write about coding
9. Learn low-level programming
10. Don’t rush to StackOverflow. Think!
Read the complete entry at AntoArts