摘要
如果你在创业公司工作或正打算投身创业大潮,本书会告诉你如何在瞬息万变的市场环境下杀出一条血路。
如果你就职于大公司但希望像创业公司一样去运作它,本书会介绍如何打破一成不变,永葆激情和创新之道。
如果你是一名刚入行的程序员,本书汇集了你在大学时想知道的所有关于IT行业工作的经验。
如果你是一名经验丰富的开发者,本书会让你对每天的工作有系统性认识并做出适当改变。
如果你是IT公司管理人员,本书将帮你理解团队里程序员的思维方式。
如果你对创业感兴趣,本书就是一位亲历者在告诉你创业的所有真相。
硅谷程序员创业者写给所有程序员
入门程序员如何快速成为行业高手
如何成为掌握自己变成生涯的CEO
程序员具备哪些能力就可以去创业
如何避开创业路上的九九八十一坑
奔跑吧 程序员 从零开始打造产品 技术和团队 内容简介
本书以软件工程师出身的创业者的角度,全面介绍了创业公司该如何打造产品、实现技术和建立团队,既是为创业者打造的一份实用入门指南,又适合所有程序员系统认识IT行业。书中内容分为三部分——技术、产品和团队,详细描绘创业的原始景象,具体内容包括:创业点子、产品设计、数据与营销、技术栈的选择、整洁的代码、软件交付、创业文化、招兵买马,等等。
本书适合所有程序员,尤其是准备创业的技术人员。
奔跑吧 程序员 从零开始打造产品 技术和团队 目录
对本书的赞誉 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 创业就是牺牲 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 要精确 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 最佳实践 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
奔跑吧 程序员 从零开始打造产品 技术和团队 精彩文摘
1.3 为什么应该在创业公司中工作
我们现在已经知道什么是科技创业了,但为什么所有人都这么关注科技创业呢?究竟是什么让它如此重要?要在科技创业公司中工作,甚至自己创立这样一家公司,我们应该考虑三个主要因素:更多的机会、更多的所有权以及更多的乐趣。
本文来自胸大无脑是一种心态投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。