
Locke's Essay... (1690) withstood an onslaught by traditional theologians, for rejecting orthodox theology and the concept of innate ideas: as he suggested that God could make matter think. The Essay quickly became one of the most influential books of the eighteenth century, and its contributions to the philosophy of space and time, matter and power were quickly hailed as formative contributions to... philosophy''--Amazon.com.
* Descartes' Meditations
* Locke Essay Concerning Human Understanding
* Hobbes Leviathan
* Kant Critique of Pure Reason
* Kant Prolegomena
* Kuhn Structure of Scientific Revolution
* Hegel Phenomenology of Spirit
* Foucault Discipline & Punish
* Sellars Epistemology and the Philosophy of Mind
* Sellars The Scientific Image of Man
* Quine Word & Object
* Davidson On the Very Idea of a Conceptual Scheme
* Nagel What is it like to be a bat?
* Searle Minds, Brains, and Programs
Stanford Encyclopedia of Philosophy [0] has a ton of great summary articles and bibliographies that could definitely keep you busy for a few decades or so. I've never been tremendously into ancient or non-western philosophy, which is a deficiency I aim to correct one day, but there are a ton of great essays there as well.
I've been teaching a software engineering class for a few years. Being conscious of the high cost of textbooks, I find that Applying UML and Patterns by Larman achieves the best balance of practice, design, and process.
For students who want to dig into agile methodologies I would recommend Extreme Programming Explained by Beck and the Poppendiecks on Lean.
In my opinion, a philosophical grounding is helpful for the programmer. Accordingly, I'd want to suggest something like Locke's Essay Concerning Human Understanding or a secondary source on Aristotelian categories. Moreover, a broad knowledge of different types of ethical systems will benefit a developer.
Lastly, as a kind of curve ball, I would recommend any STEM student to work through an LSAT preparation book. Technologies will come and go, but, throughout a career, the problems a developer encounters will likely have dimensions that require general critical thinking.
I've read that Nietzsche and Schopenhauer are also delightful to read in the original. Schopenhauer's writing style is so good, even when translated to English by Saunders.
I had this experience when I picked up a copy of John Locke's Essay Concerning Human Understanding and read the thing in the original. I was completely shaken by the beauty of it.
It saddens me because 90% of the beauty is lost in favor of "just getting to the main idea". You lose so, so much. It would be like reciting Homer without an understanding of meter. All beauty would be lost.