А по-моему, отвечающие упустили одну вещь. Зазубрив Кнута, получив практику "кодить, кодить, кодить" можно стать крутым кодером. Но надо не просто кодить, а надо решать проблемы, — потому, кроме литературы по программингу, читайте бизнес-литературу, что то по социологии, всякие GTD, психологию, изучайте финансы, юриспруденцию и т.д., и т.п.