References
Papers
My Hopes of Computing Science (EWD709), Edward W, Dijkstra The spirit behind the Software Puzzler project is born in this paper. It is an excellent description of the state of computer science, still valid today, and it points out in which direction we must strive to improve out profession. Everything we do is programming, and programming is both about notation and implementation. Think first and foremost about correctness and break loose from operational thinking.
Books
The Pragmatic Programmer, Andrew Hunt and David Thomas This book is a great source of inspiration on how to become a better software engineer.
Extreme Programming Explained, Kent Beck The principal introduction to Extreme Programming.
The Unified Software Development Process, Ivar Jacobson, Grady Booch, James Rumbaugh This book describes the software process that is the foundation for Rational Unified Process, RUP.