Book recommendation: The Pragmatic Programmer. A very interesting book that deals with the philosophy of programming, but pursues an approach that deviates significantly from the classical method. You could consider it a pragmatic approach to Extreme Programming. Many ideas have resonated with my own way of working - you can tell the authors are actually programmers who have been in the job for years. Many ideas can also be directly transferred to open-source projects, even if commercial interests are not pursued there. It's less about tools and languages (although the Pragmatic Programmers recommend on their website - and I can only reinforce this recommendation - learning a new programming language each year), but much more about the mindset behind successful and intellectually demanding software development. Software development should be fun again and lead to a successful conclusion. As a counterpoint, you could see "The Mythical Man-Month" by Frederick P. Brooks. In this book it becomes clear why, for example, there's no point in accelerating a delayed project by adding more staff. And many other misconceptions of classical project management are illustrated using IBM's OS/360 project. While OS/360 is only of historical interest today, the problems in large projects are the same as they were back then.