奔跑吧,程序員:從零開始打造產品、技術和團隊 | 做自己 - 2024年9月

奔跑吧,程序員:從零開始打造產品、技術和團隊

作者:(美)葉夫根尼·布里克曼
出版社:人民郵電
出版日期:2018年07月01日
ISBN:9787115483669
語言:繁體中文

本書以軟體工程師出身的創業者的角度,全面介紹了創業公司該如何打造產品、實現技術和建立團隊,既是為創業者打造的一份實用入門指南,又適合所有程序員系統認識IT行業。書中內容分為三部分——技術、產品和團隊,詳細描繪創業的原始景象,具體內容包括:創業點子、產品設計、數據與營銷、技術棧的選擇、整潔的代碼、軟體交付、創業文化、招兵買馬,等等。

本書適合所有程序員,尤其是準備創業的技術人員。



葉夫根尼·布里克曼(Yevgeniy Brikman),程序員出身的創業者,DevOps服務公司Gruntwork聯合創始人,在打造產品、技術和團隊方面經驗豐富,曾先後供職于Linkedln、TripAdvisor、思科和Thomson Financial。

對本書的讚譽 v

前言 xiii

第一部分 產品
第1章 為何創業 2
1.1 科技創業的時代 2
1.2 什麼是科技創業公司 2
1.3 為什麼應該在創業公司中工作 4
1.3.1 更多的機會 4
1.3.2 更多的所有權 8
1.3.3 更多的樂趣 10
1.4 為什麼不應該在創業公司工作 12
1.4.1 創業並不是那麼光鮮亮麗 12
1.4.2 創業jiu是犧牲 14
1.4.3 你可能不會變得富有 15
1.4.4 加入創業公司和自己創業的比較 16
1.5 小結 18
第2章 創業點子 20
2.1 點子從何而來 20
2.1.1 知識 22
2.1.2 點子的產生 24
2.1.3 培養創造力的環境 25
2.1.4 秘密模式 31
2.1.5 點子和執行力 32
2.2 驗證 33
2.2.1 速度制勝 34
2.2.2 客戶開發 38
2.2.3 驗證問題 39
2.3 小結 44
第3章 產品設計 47
3.1 設計 47
3.1.1 設計是反覆運算的 48
3.1.2 以用戶為中心的設計 50
3.1.3 視覺設計 64
3.1.4 視覺設計快速回顧 80
3.2 MVP 82
3.2.1 MVP 的類型 83
3.2.2 關注差異性 87
3.2.3 購買MVP 89
3.2.4 創業須從無法規模化的事情做起 91
3.3 小結 92
第4章 數據與行銷 94
4.1 數據 94
4.1.1 需要跟蹤的指標 96
4.1.2 資料驅動開發 99
4.2 行銷 103
4.2.1 口口相傳 104
4.2.2 市場推廣 109
4.2.3 銷售 112
4.2.4 品pai化 114
4.3 小結 116

第二部分 技術
第5章 技術棧的選擇 120
5.1 關於技術棧的考慮 120
5.2 技術棧的進化 121
5.3 內部實現、購買商業產品,還是使用開源產品
5.3.1 內部實現 125
5.3.2 購買商業產品 125
5.3.3 使用開源產品 126
5.3.4 永遠不要自己實現的技術 126
5.3.5 結語 127
5.4 選擇程式設計語言 128
5.4.1 程式設計範式 129
5.4.2 適用問題 131
5.4.3 性能 131
5.4.4 生產效率 131
5.4.5 結語 132
5.5 選擇伺服器端框架 133
5.5.1 適用問題 134
5.5.2 數據層 134
5.5.3 視圖層 135
5.5.4 測試 138
5.5.5 可擴展性 138
5.5.6 部署 139
5.5.7 安全 139
5.5.8 結語 141
5.6 選擇資料庫 142
5.6.1 關係型數據庫 142
5.6.2 NoSQL資料庫 144
5.6.3 讀取數據 148
5.6.4 寫入資料 150
5.6.5 模式 151
5.6.6 可擴展性 153
5.6.7 故障模式 157
5.6.8 成熟度 157
5.6.9 結語 158
5.7 小結 159
第6章 整潔的代碼 162
6.1 代碼是給人閱讀的 162
6.2 代碼佈局 164
6.3 命名 166
6.3.1 回答所有重要的問題 166
6.3.2 要jing確 167
6.3.3 要全面 168
6.3.4 揭示意圖 169
6.3.5 遵循約定 170
6.3.6 命名真難 171
6.4 錯誤處理 171
6.5 不要重複自己 172
6.6 單一職責原則 175
6.7 函數式程式設計 176
6.7.1 不可變數據 176
6.7.2 高階函數 179
6.7.3 純函數 181
6.8 松耦合 184
6.8.1 內部實現依賴性 186
6.8.2 系統依賴性 186
6.8.3 庫依賴性 187
6.8.4 全域變數 188
6.9 高內聚 190
6.10 注釋 192
6.11 重構 193
6.12 小結 194
第7章 可擴展性 196
7.1 創業的擴展 196
7.2 編碼實踐的擴展 196
7.2.1 自動化測試 197
7.2.2 代碼分離 216
7.2.3 代碼評審 220
7.2.4 文檔 223
7.3 性能的擴展 227
7.3.1 測量 228
7.3.2 優化 229
7.4 小結 231
第8章 軟體交付 234
8.1 完成意味著交付 234
8.2 手工交付:一個恐怖的故事 234
8.3 構建 235
8.3.1 版本控制 236
8.3.2 構建工具 239
8.3.3 持續集成 239
8.4 部署 244
8.4.1 託管 244
8.4.2 配置管理 245
8.4.3 持續交付 248
8.5 監控 250
8.5.1 日誌記錄 250
8.5.2 指標 253
8.5.3 報警 254
8.6 小結 254

第三部分 團隊
第9章 創業文化 258
9.1 要行動,不要口號 258
9.2 核心理念 258
9.2.1 使命 259
9.2.2 核心價值 262
9.3 組織設計 263
9.3.1 經理驅動等級結構 263
9.3.2 分散式組織 264
9.4 招聘與晉升 267
9.4.1 彼得原理 267
9.4.2 以管理作為晉升 267
9.5 激勵 269
9.5.1 自主權 271
9.5.2 專業能力 272
9.5.3 目標 273
9.6 辦公室 274
9.6.1 一個可以和他人一起工作的地方 276
9.6.2 一個可以獨處專注工作的地方 276
9.6.3 一個可以放下工作的地方 279
9.6.4 一種可以根據個人需要佈置辦公室的方法 280
9.7 遠程辦公 282
9.7.1 優點 282
9.7.2 缺點 283
9.7.3 zui佳實踐 284
9.8 溝通 285
9.8.1 內部溝通 285
9.8.2 外部溝通 287
9.9 過程 287
9.9.1 採用出色的判斷 288
9.9.2 軟體方法論 289
9.10 小結 290
第10章 求職之路 292
10.1 尋找創業公司的工作 292
10.1.1 利用人脈 293
10.1.2 發展人脈 294
10.1.3 創建網路身份 295
10.1.4 線上職位搜索 298
10.2 通過面試 298
10.2.1 在白板上程式設計 298
10.2.2 把思考的過程說出來 298
10.2.3 瞭解自己 299
10.2.4 瞭解公司 299
10.2.5 簡短的、重複的電腦基礎問題 299
10.3 如何對工作機會進行評估和談判 300
10.3.1 薪水 300
10.3.2 股權 301
10.3.3 福利 307
10.3.4 談判 307
10.4 小結 309
第 11章 招兵買馬 311
11.1 創業與人密不可分 311
11.2 招聘什麼人 311
11.2.1 合夥人 312
11.2.2 早期員工 313
11.2.3 後期員工 314
11.2.4 10倍能力的開發人員 314
11.2.5 尋找什麼 316
11.3 尋找出色的人選 319
11.3.1 推薦 319
11.3.2 雇主ping牌化 320
11.3.3 線上搜索 321
11.3.4 專職招聘人員 322
11.3.5 過早優化 322
11.4 面試 324
11.4.1 面試過程 325
11.4.2 面試問題 325
11.5 錄用 330
11.5.1 應該提供什麼 331
11.5.2 跟進和談判 334
11.6 小結 334
第12章 學習 336
12.1 學習的原理 336
12.1.1 明智地選擇技能 337
12.1.2 投入時間去學習 338
12.1.3 讓學習成為工作的一部分 339
12.2 學習的技巧 339
12.2.1 研究 339
12.2.2 實現 341
12.2.3 分享 342
12.3 經驗教訓 344
12.4 小結 348
關於作者 350


相關書籍