Excellence Is a Habit: How to Become a Good Programmer
Requirement drives technology capabilities.
Keep Coding
Solve algorithm problems.
Do some great open-source projects (making wheels or writing common systems). Or contribute to open-source projects.
Keep Learning
Reading technical books and docs.
Writing blogs.
Creating some small toy projects.
Solving other code problems. Answer questions on StackOverflow.
Answer interview questions by yourself.
Browse technical websites and forums.
Deep Dive
Reading classic fundamental CS books, documentation, and specification.
Reading source code.