Conclusion
I wrote this book to reflect on what I knew about making software and to understand what I didn't know about making software. I published it so that you could take advantage of what I've found over the decade I've been doing this for a living, and to trigger your own reflections on your experiences (with the hope that you would share these with us, just as I have).
I started by looking at the things we do when we're at the coal face: the tools and practices we use to convert ideas into software. Then I looked at how we work with other people: how we document what we've done; how we find out what software needs writing; how we take advantage of opportunities to learn from other people, interpret other people's arguments, and work with them in the context of a team or a business. Finally, I tried to construct a high-level model in which to situate all of that work, by considering the ethics and philosophy of making software, and how to move our knowledge...