Architects study countless buildings and critiques by masters during their training, but software developers often only understand a few large programs, usually ones they wrote. This lack of exposure to successful programs leads to repeating mistakes instead of building upon successes. However, two books have been published to change this pattern. In these books, the authors of open source applications explain the structure and components of their software and share insights gained during development. These books are essential for junior developers who want to learn from their more experienced colleagues, as well as for intermediate and senior developers looking to find solutions to complex design problems. All proceeds from the book sales will be donated to Amnesty International.
https://aosabook.org/en/index.html#500lines