朋友让我推荐几本书,他准备推荐给团队,要求是:
没有具体要求,你觉得值得一读就行……
这些年七七八八读过几本书,和软件开发相关的图书初步分成以下五类:
- 语言和平台
- 设计和架构
- 需求、交互和产品
- 过程和项目管理
- 团队管理
- 个人和其他
今天先推荐几本我读过的(有些技术过时了可能没有用,有些书绝版了不一定买得到),以后再找机会推荐未读的好书。
每个人的经历和目标不同,我推荐的书不一定适合,切入正题之前做个简单的自我介绍,
我曾经迷恋 C++,后期专注于 .NET 平台,跳出各个语言和平台的低级重复之后开始接触面向对象设计、软件架构和需求分析。创业前,以桌面端和 Web 端的企业应用为主;创业后,以面向终端用户的移动端产品为主。
在软件公司带了两年项目之后发现我还是适合做技术,于是以成为优秀架构师为目标专注于技术路线,2010 年离开软件公司后开始意识到「软技能」的重要性,来上海创业后开始关注「产品、运营和团队管理」。
1. 语言和平台
1.1. Essential C++ 中文版
上大学时读都是教材或老师推荐的书,工作后读到这本书才明白什么是 C++,薄薄的一本,至今还能想起侯捷老师开篇的那句
有了满汉全席,为何还眷顾清粥小菜?
这是一本面向有其他语言基础要快速上手使用 C++ 的开发者的图书。
- 原作名 : Essential C++
- 作者 : Stanley B. Lippman
- 出版年 : 2001
- https://book.douban.com/subject/1215826/
1.2. C++ Primer 中文版
学习任何语言,都应该读一本该领域内和《C++ Primer》齐名的书。书名虽然叫 Primer,实际上包含了 C++ 的方方面面,读了这本书我才知道 Multi-paradigm 这个概念。
- 原作名 : C++ Primer
- 作者: Stanley B. Lippman / Josee Lajoie
- 出版年 : 2002
- https://book.douban.com/subject/1208731/
1.3. Visual C++ 技术内幕(第四版)
这本书的译者是「潘爱民」老师,我是从这本书开始学习 Framework 的,尽管 MFC 不是那么优秀。
- 原作名: Inside Visual C++, 4th Ed.
- 作者: David J. Kruglinski
- 出版年: 1999
- https://book.douban.com/subject/1027574/
1.4. Effective C# 中文版
写代码时经常会遇到「向左走,向右走」的时刻,看起来两条路都能到达,但是哪条更高效呢?这本书会给你答案。
除了这本《Effective C#》之外,《Effective C++》和《More Effective C++》《Effective Java》都值得一读。
- 原作名: Effective C#: 50 Specific Ways to Improve Your C#
- 作者: Bill Wagner
- 出版年 : 2007
- https://book.douban.com/subject/2054931/
1.5. Microsoft .NET 框架程序设计
- 原作名: Applied Microsoft .NET Framework Programming
- 作者: Jeffrey Richter
- 出版年 : 2003
- https://book.douban.com/subject/1141221/
1.6. NET 组件程序设计
- 原作名: Programming .NET Components, 2nd Edition
- 作者: Juval Lowy
- 出版年: 2007
- https://book.douban.com/subject/2133150/
1.7. LINQ 实战
- 原作名 : LINQ in Action
- 作者 : Fabrice Marguerie / Steve Eichert / Jim Wooley
- 出版年: 2009
- https://book.douban.com/subject/3810446/
1.8. SQL 语言艺术
- 原作名: The Art of SQL
- 作者 : Stéphane Faroult
- 出版年 : 2008
- https://book.douban.com/subject/3012601/
1.9. 网站重构——应用 Web 标准进行设计
- 原作名 : Designing with Web Standards
- 作者 : Jeffrey Zeldman
- 出版年 : 2005
- https://book.douban.com/subject/1230451/
- https://book.douban.com/subject/6011420/
2. 设计和架构
2.1. 敏捷软件开发——原则、模式与实践
- 原作名: Agile Software Development: Principles, Patterns, and Practices
- 作者: Robert C·Martin
- 出版年: 2003
- https://book.douban.com/subject/1140457/
2.2. UML 和模式应用(原书第 3 版)
- 原作名: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development
- 作者 : Craig Larman
- 出版年: 2006
- https://book.douban.com/subject/1792387/
2.3. 企业应用架构模式
- 原作名: Patterns of Enterprise Application Architecture
- 作者: Martin Fowler
- 出版年: 2004
- https://book.douban.com/subject/1230559/
- https://book.douban.com/subject/4826290/
2.4. 软件架构师的 12 项修炼
- 原作名: Essential Skills for Software Architects
- 作者: Dave Hendricksen
- 出版年 : 2012
- https://book.douban.com/subject/10746257/
2.5. 构建高性能 Web 站点——改善性能和扩展规模的具体做法
- 作者: 郭欣
- 出版年 : 2009
- https://book.douban.com/subject/3924175/
2.6. 大型网站系统与 Java 中间件开发实践
- 作者: 曾宪杰
- 出版年 : 2014
- https://book.douban.com/subject/25867042/
2.7. 白帽子讲 Web 安全
- 作者: 吴翰清
- 出版年 : 2012
- https://book.douban.com/subject/10546925/
2.8. App 研发录:架构设计、Crash 分析和竞品技术分析
- 作者: 包建强
- 出版年 : 2015
- https://book.douban.com/subject/26649050/
2.9. 测试驱动开发
- 原作名: Test Driven Development: By Example
- 作者: Kent Beck
- 出版年 : 2004
- https://book.douban.com/subject/1230036/
2.10. 布道之道——引领团队拥抱技术创新
- 原作名: Driving Technical Change: Why People on Your Team Don't Act on Good Ideas, and How to Convince Them They Should
- 作者 : Terrence Ryan
- 出版年 : 2012
- https://book.douban.com/subject/6990284/
2.11. 应用框架的设计与实现—— .NET 平台
- 原作名 : Developing Application Frameworks in .NET
- 作者: 陈新
- 出版年 : 2005
- https://book.douban.com/subject/1429555/
3. 需求、交互和产品
3.1. 软件需求最佳实践—— SERU 过程框架原理与应用的新描述
- 作者: 徐峰
- 出版年 : 2008
- https://book.douban.com/subject/3265691/
3.2. 软件开发的创新思维
- 原作名: The Inmates Are Running the Asylum
- 作者 : Alan Cooper
- 出版年 : 2003
- https://book.douban.com/subject/1241266/
3.3. 瞬间之美——Web 界面设计如何让用户心动
- 原作名: Designing the Moment: Web Interface Design Concepts in Action
- 作者 : Jr·Robert Hoekman
- 出版年 : 2009
- https://book.douban.com/subject/3886044/
3.4. 启示录——打造用户喜爱的产品
- 原作名: Inspired: How To Create Products Customers Love
- 作者 : Marty Cagan
- 出版年 : 2011
- https://book.douban.com/subject/5914587/
3.5. 结网@改变世界的互联网产品经理
- 作者 : 王坚
- 出版年 : 2013
- https://book.douban.com/subject/5376384/
- https://book.douban.com/subject/24305938/
3.6. 从点子到产品——产品经理的价值观与方法论
- 作者 : 刘飞
- 出版年 : 2017
- https://book.douban.com/subject/26927349/
3.7. 增长黑客——创业公司的用户与收入增长秘籍
- 作者: 范冰
- 出版年 : 2015
- https://book.douban.com/subject/26541801/
3.8. 精益创业——新创企业的成长思维
- 原作名: The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
- 作者 : Eric Ries
- 出版年: 2012
- https://book.douban.com/subject/10945606/
4. 过程和项目管理
4.1. 项目管理修炼之道
- 原作名 : Manage It!: Your Guide to Modern, Pragmatic Project Management
- 作者 : Johanna Rothman
- 出版年 : 2009
- https://book.douban.com/subject/4058336/
4.2. 统一软件开发过程
- 原作名: The Unified Software Development Process
- 作者: Ivar Jacobson / Grady Booch / James Rumbaugh
- 出版年: 2002
- https://book.douban.com/subject/1093505/
4.3. 解析极限编程——拥抱变化
- 原作名: Extreme Programming Explained: Embrace Change (Second Edition)
- 作者: Kent Beck / Cynthia Andres
- 出版年 : 2011
- https://book.douban.com/subject/1099376/
- https://book.douban.com/subject/6828074/
4.4. 精益开发实战——用看板管理大型项目
- 原作名: Lean from the Trenches: Managing Large-Scale Projects with Kanban
- 作者 : Henrik Kniberg
- 出版年 : 2012
- https://book.douban.com/subject/11620809/
4.5. 看板方法——科技企业渐进变革成功之道
- 原作名: Kanban: Successful Evolutionary Change for Your Technology Business
- 作者: David J. Anderson
- 出版年 : 2014
- https://book.douban.com/subject/25788807/
4.6. 看板实战
- 原作名 : Kanban in Action
- 作者 : Marcus Hammarberg / Joakim Sundén
- 出版年 : 2016
- https://book.douban.com/subject/26729634/
4.7. 精益产品开发——原则、方法与实施
- 作者 : 何勉
- 出版年 : 2017
- https://book.douban.com/subject/27116921/
5. 团队管理
5.1. 格鲁夫给经理人的第一课
- 原作名 : High Output Management
- 作者 : Andrew S. Grove
- 出版年 : 2011
- https://book.douban.com/subject/5431183/
5.2. 重新定义公司——谷歌是如何运营的
- 原作名: How Google Works
- 作者 : Eric Schmidt / Jonathan Rosenberg
- 出版年: 2015
- https://book.douban.com/subject/26582822/
5.3. 创业维艰——如何完成比难更难的事
- 原作名: The Hard Thing About Hard Things
- 作者: Ben Horowitz
- 出版年: 2015
- https://book.douban.com/subject/26306686/
5.4. 联盟——互联网时代的人才变革
- 原作名: The Alliance: Managing Talent in the Networked Age
- 作者 : Reid Hoffman / Ben Casnocha / Chris Yeh
- 出版年 : 2015
- https://book.douban.com/subject/26308014/
5.5. 打造 Facebook ——亲历 Facebook 爆发的 5 年
- 作者: 王淮 / 祝文让
- 出版年: 2013
- https://book.douban.com/subject/20471120/
5.6. 轻有力——用 90 后思维管理 90 后
- 作者: 韩庆峰
- 出版年 : 2014
- https://book.douban.com/subject/25817260/
6. 个人和其他
6.1. 至关重要的关系
- 原作名 : The Start-Up of You: Adapt to the Future, Invest in Yourself, and Transform Your Career
- 作者 : Reid Hoffman / Ben Casnocha
- 出版年 : 2013
- https://book.douban.com/subject/24530336/
6.2. 金字塔原理——思考、写作和解决问题的逻辑
- 原作名 : The Minto Pyramid Principle
- 作者 : Barbara Minto
- 出版年 : 2002
- https://book.douban.com/subject/1020644/
6.3. 极客与团队——软件工程师的团队生存秘笈
- 原作名: Team Geek:A Software Developer's Guide to Working Well With Others
- 作者: Brian W. Fitzpatrick / Ben Collins-Sussman
- 出版年 : 2012
- https://book.douban.com/subject/21372237/
6.4. PSP 软件工程师的自我改进过程
- 原作名 : PSP: A Self-Improvement Process for Software Engineers
- 作者 : Watts Humphrey
- 出版年 : 2006
- https://book.douban.com/subject/1837616/
6.5. 少有人走的路 : 心智成熟的旅程
- 原作名: The Road Less Traveled
- 作者 : M. Scott Peck
- 出版年 : 2007
- https://book.douban.com/subject/1775691/
6.6. 不要因为走得太远而忘记为什么出发——陈虻,我们听你讲
- 作者 : 徐泓
- 出版年 : 2013
- https://book.douban.com/subject/20453024/
6.7. 离开微软 改变世界——一名微软高管的意外人生
- 原书名 : Leaving Microsoft to Change the World: An Entrepreneur's Quest to Educate the World's Children
- 作者 : John Wood
- 出版年: 2007
- https://book.douban.com/subject/2159830/