书籍清单
软件工程师
- 《编码:隐匿在计算机软硬件背后的语言》:作者 Charles Petzold,讲述了代码与底层硬件之间的联系,帮助读者理解计算机的工作原理和程序的运行机制。
- 《计算机程序设计艺术》:作者 Donald Knuth,详细阐述了计算机程序设计的原理和方法,对算法、数据结构等方面进行了深入的讲解,是计算机科学领域的巨著。
- 《算法导论》第三版:作者 Thomas Cormen、Charles Leiserson、Ronald Rivest、Clifford Stein,全面且系统地介绍了算法的设计与分析,涵盖了排序、搜索、图算法、动态规划等多个领域,是算法学习的权威书籍。
- 《人月神话:软件工程论文集》:作者 Frederick Brooks, Jr.,是软件工程领域的经典著作,探讨了软件项目管理中的诸多问题,如时间估算、团队协作、项目复杂度等,其传达的理念至今仍适用。
- 《代码大全 2》:作者 Steve McConnell,是一本全面的编程指南,涵盖了软件构建的各个方面,包括代码风格、函数设计、类设计、测试等,对提高代码质量和编程效率有很大的帮助。
- 《重构:改善既有代码的设计》:作者 Martin Fowler 等人,详细介绍了重构的概念、原则和实践方法,通过具体的代码示例展示了如何对现有代码进行改进和优化,以提高代码的可维护性和可读性。
- 《修改代码的艺术》:作者 Michael Feathers,专注于如何在已有代码的基础上进行修改和优化,提供了许多实用的方法和技巧,对于维护和改进现有软件系统非常有帮助。
- 《人件集:人性化的软件开发》第三版:作者 Tom DeMarco、Timothy,主要讨论了软件开发中的人员管理和团队协作问题,强调了人的因素在软件开发中的重要性。
软件架构师
- 《软件架构基础–一种工程方法 Fundamentals of Software Architecture》:作者 Mark Richards、Neal Ford,全面涵盖了软件架构的各个方面,包括架构特征、模式、组件确定、架构图绘制等,强调了工程实践和操作方法在软件架构中的重要性。
- 《面向开发人员的软件架构 Software Architecture For Developers》:作者西蒙 - 布朗,是一本专门针对软件开发人员的实用软件架构指南,涵盖了架构的基本概念、设计原则、实践方法等内容,帮助开发人员理解和应用软件架构知识。
- 《持续架构实践 Continuous Architecture in Practice》:作者 Murat Erder、Pierre Pureur 和 Eoin Woods,分享了在敏捷、DevOps 和云平台时代的软件架构经验,提供了利用持续架构方法的实践建议,涉及数据管理、集成、变更等关键问题以及针对安全性、可扩展性等进行架构设计。
- 《软件架构难点:分布式架构的现代权衡分析 Software Architecture: The Hard Parts》:作者 Neal Ford、Mark Richards、Pramod Sadalage 和 Zhamak Dehghani,通过虚构故事探讨了分布式架构中的关键主题,如合同管理和解耦、分布式事务、可扩展性等,提供了权衡决策的技巧。
- 《软件架构师电梯 重新定义架构师在数字企业中的角色 Building Evolutionary Architectures》:作者 Gregor Hohpe,分享了现实世界中的建议和实际 IT 转型中的经验教训,涵盖了软件架构师在组织中发挥更具战略性作用的相关主题。
- 《构建进化架构 Building Evolutionary Architectures》:作者尼尔 - 福特、丽贝卡 - 帕森斯、帕特里克 - 库亚和普罗莫德 - 萨达拉吉,就如何创建可随时间演变的软件架构提供了实用建议,涉及软件行业的快速交付和质量需求以及架构师角色变化等关键趋势。
- 《企业集成模式 Enterprise Integration Patterns》:作者 Gregor Hohpe、Bobby Woolf,介绍了企业系统集成的设计模式,尤其是基于消息的系统,对于大型企业系统架构师在设计和集成复杂系统时具有很大的帮助。
英文名
软件工程师
- 《Code: The Hidden Language of Computer Hardware and Software》
- 《The Art of Computer Programming》
- 《Introduction to Algorithms, Third Edition》
- 《The Mythical Man - Month: Essays on Software Engineering》
- 《Code Complete 2》
- 《Refactoring: Improving the Design of Existing Code》
- 《Working Effectively with Legacy Code》
- 《Peopleware: Productive Projects and Teams, Third Edition》
软件架构师
- 《Fundamentals of Software Architecture: An Engineering Approach》
- 《Software Architecture For Developers》
- 《Continuous Architecture in Practice》
- 《Software Architecture: The Hard Parts - Modern Trade - off Analyses for Distributed Architectures》
- 《Building Evolutionary Architectures: Support Constant Change》
- 《Building Evolutionary Architectures》
- 《Enterprise Integration Patterns》
找书地址
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.