The Manager's Path: A Guide for Tech Leaders Navigating Growth and Change: Focuses on leadership for technical organizations but has good tips for managers in general
Software Engineering at Google: A guide to modern software development practices by engineers at Google.
Refactoring by Martin Fowler : a very useful guide to what refactoring truly means, and how to manage technical health of systems in an iterative manner.
The Pragmatic Programmer : examines the core of modern software development—understanding what is wanted and producing working, maintainable code that delights its users. It covers topics ranging from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse.
Extreme Programming : Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned.
The Nature of Software Development: You need to get value from your software project. You need it “free, now, and perfect.” We can’t get you there, but we can help you get to “cheaper, sooner, and better.” This book leads you from the desire for value down to the specific activities that help good Agile projects deliver better software sooner, and at a lower cost. Using simple sketches and a few words, the author invites you to follow his path of learning and understanding from a half century of software development and from his engagement with Agile methods from their very beginning.
Being Glue : an insightful and realistic look at the work that holds software development projects together which typically goes unrecognized and how it can affect an engineer's career growth and trajectory.
"Our estimates are terrible!": Interesting case study on estimating stories and how "bad estimation" is actually obscuring issues around pressures from management and bad top-level planning.
Three things I learned from Sandi Metz: Some tips on best practices in software development via the author's reading of Sandi Metz. Sandi Metz focuses on Ruby but the concepts apply across languages and frameworks. Includes some links to videos and other resources.
The Twelve-Factor App : A collaborative document written by experienced engineers synthesizing their experience writing and maintaining software. Breaks down twelve main areas of software development and discusses best practices and pitfalls for each.
Truss Engineering Playbook: Includes links to courses, articles and other resources for learning and implementing best practices in software development.