软件工程师可以阅读以下几类书籍来提升自己的技能和知识:
代码质量和编程实践
Clean Codeby Robert C. Martin
Implementation Patternsby Kent Beck
Code Completeby Steve McConnell
Refactoring: Improving the Design of Existing Codeby Martin Fowler
The Art of Readable Codeby John Sonmez
软件设计和架构
Design Patterns: Elements of Reusable Object-Oriented Softwareby Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
Head First Design Patternsby Eric Freeman and Elisabeth Robson
Object-Oriented Design Heuristicsby Steve McConnell
Software Architecture in Practiceby Len Bass, Paul Clements, and Rick Kazman
敏捷开发和DevOps
Agile Software Developmentby Ken Schwaber and Jeff Sutherland
The Pragmatic Programmer: From Journeyman to Masterby Andrew Hunt and David Thomas
About IT, DevOps, and Helping Business Winby Gene Kim, Kevin Behr, and George Spafford
The Hard Thing About Hard Thingsby Ben Horowitz
算法和数据结构
Introduction To Algorithmsby Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein
Cracking The Coding Interviewby Gayle Laakmann McDowell
测试和调试
Test-Driven Development By Exampleby Kent Beck
JUnit in Actionby Craig Walls
职业发展
Working Effectively with Legacy Codeby Michael Feathers
The Passionate Programmerby Chad Fowler
这些书籍涵盖了软件开发的各个方面,从基础编程实践到高级架构设计,再到敏捷开发和DevOps实践,能够帮助软件工程师全面提升自己的专业能力。建议根据个人的兴趣和职业发展需求选择合适的书籍进行阅读。