《奔跑吧 程序员 从零开始打造产品 技术和团队》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(美)叶夫根尼·布里克曼(Yevgeniy Brikman)
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2018
  • ISBN:9787115483669
  • 页数:351 页
图书介绍:本书内容分为三部分——技术、产品和团队,详细描绘创业的原始景象,给所有准备创业的程序员提供具有可操作性的入门指南。具体内容包括:创业点子、产品设计、营销、技术栈的选择、整洁代码及其可扩展性、软件交付、创业文化、招兵买马等等。

第一部分 产品 2

第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 创业就是牺牲 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 品牌化 114

4.3 小结 116

第二部分 技术 120

第5章 技术栈的选择 120

5.1 关于技术栈的考虑 120

5.2 技术栈的进化 121

5.3 内部实现、购买商业产品,还是使用开源产品 125

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 要精确 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

第三部分 团队 258

第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 最佳实践 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 雇主品牌化 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