Без заголовка
Gerald Marvin (Jerry) Weinberg
"The Psychology of Computer Programming"
"An Introduction to General Systems Thinking"
Это для начала. Я не совсем согласен, но основы там правильные.
А так, каждый студент обязан прочитать все книги Вайнберга (особенно старые), если он хочет когда-нибудь стать настоящим профессионалом.