朋友讓我推薦幾本書,他準備推薦給團隊,要求是:
沒有具體要求,你覺得值得一讀就行……
這些年七七八八讀過幾本書,和軟件開發(fā)相關的圖書初步分成以下五類:
- 語言和平臺
- 設計和架構
- 需求、交互和產品
- 過程和項目管理
- 團隊管理
- 個人和其他
今天先推薦幾本我讀過的(有些技術過時了可能沒有用,有些書絕版了不一定買得到),以后再找機會推薦未讀的好書。
每個人的經歷和目標不同,我推薦的書不一定適合,切入正題之前做個簡單的自我介紹,
我曾經迷戀 C++,后期專注于 .NET 平臺,跳出各個語言和平臺的低級重復之后開始接觸面向對象設計、軟件架構和需求分析。創(chuàng)業(yè)前,以桌面端和 Web 端的企業(yè)應用為主;創(chuàng)業(yè)后,以面向終端用戶的移動端產品為主。
在軟件公司帶了兩年項目之后發(fā)現我還是適合做技術,于是以成為優(yōu)秀架構師為目標專注于技術路線,2010 年離開軟件公司后開始意識到「軟技能」的重要性,來上海創(chuàng)業(yè)后開始關注「產品、運營和團隊管理」。
1. 語言和平臺
1.1. Essential C++ 中文版
上大學時讀都是教材或老師推薦的書,工作后讀到這本書才明白什么是 C++,薄薄的一本,至今還能想起侯捷老師開篇的那句
有了滿漢全席,為何還眷顧清粥小菜?
這是一本面向有其他語言基礎要快速上手使用 C++ 的開發(fā)者的圖書。
- 原作名 : 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 不是那么優(yōu)秀。
- 原作名: 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 實戰(zhàn)
- 原作名 : 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. 敏捷軟件開發(fā)——原則、模式與實踐
- 原作名: 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. 企業(yè)應用架構模式
- 原作名: 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 站點——改善性能和擴展規(guī)模的具體做法
- 作者: 郭欣
- 出版年 : 2009
- https://book.douban.com/subject/3924175/
2.6. 大型網站系統與 Java 中間件開發(fā)實踐
- 作者: 曾憲杰
- 出版年 : 2014
- https://book.douban.com/subject/25867042/
2.7. 白帽子講 Web 安全
- 作者: 吳翰清
- 出版年 : 2012
- https://book.douban.com/subject/10546925/
2.8. App 研發(fā)錄:架構設計、Crash 分析和競品技術分析
- 作者: 包建強
- 出版年 : 2015
- https://book.douban.com/subject/26649050/
2.9. 測試驅動開發(fā)
- 原作名: Test Driven Development: By Example
- 作者: Kent Beck
- 出版年 : 2004
- https://book.douban.com/subject/1230036/
2.10. 布道之道——引領團隊擁抱技術創(chuàng)新
- 原作名: 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. 軟件開發(fā)的創(chuàng)新思維
- 原作名: 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. 增長黑客——創(chuàng)業(yè)公司的用戶與收入增長秘籍
- 作者: 范冰
- 出版年 : 2015
- https://book.douban.com/subject/26541801/
3.8. 精益創(chuàng)業(yè)——新創(chuàng)企業(yè)的成長思維
- 原作名: 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. 統一軟件開發(fā)過程
- 原作名: 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. 精益開發(fā)實戰(zhàn)——用看板管理大型項目
- 原作名: Lean from the Trenches: Managing Large-Scale Projects with Kanban
- 作者 : Henrik Kniberg
- 出版年 : 2012
- https://book.douban.com/subject/11620809/
4.5. 看板方法——科技企業(yè)漸進變革成功之道
- 原作名: Kanban: Successful Evolutionary Change for Your Technology Business
- 作者: David J. Anderson
- 出版年 : 2014
- https://book.douban.com/subject/25788807/
4.6. 看板實戰(zhàn)
- 原作名 : Kanban in Action
- 作者 : Marcus Hammarberg / Joakim Sundén
- 出版年 : 2016
- https://book.douban.com/subject/26729634/
4.7. 精益產品開發(fā)——原則、方法與實施
- 作者 : 何勉
- 出版年 : 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. 創(chuàng)業(yè)維艱——如何完成比難更難的事
- 原作名: 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 爆發(fā)的 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. 不要因為走得太遠而忘記為什么出發(fā)——陳虻,我們聽你講
- 作者 : 徐泓
- 出版年 : 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/