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.