I read Fundamentals of Software Engineering: From Coder to Engineer (Japanese edition).
This book by Nathaniel Schutta and Dan Vega aims to close the gap between being able to write programs and being able to work as a software engineer. It covers a wide range of practical basics that schools and bootcamps don't teach.
The topics span reading and writing code, modeling, automated testing, exploring and changing an unfamiliar system, UI design, working with data, architecture, and deploying to and monitoring production. From there it moves on to productivity, learning how to learn, soft skills, career management, and working with AI, so a single book gives you the big picture of an engineer's job.
The chapter on reading code comes before the chapter on writing it, which reflects reality: maintaining existing code takes up most of the work. I also like that every chapter ends with "Putting it into practice" and "Related resources." Because the scope is so broad, each chapter puts more weight on the big picture and the next step than on depth, and it works well as a guide to what to learn next.
It suits people about to start working in the field, and it also helps experienced engineers take stock of their own fundamentals.