-
Notifications
You must be signed in to change notification settings - Fork 14
/
softSkills.md
1627 lines (1089 loc) · 69.9 KB
/
softSkills.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# Soft Skills
>**“如果我比别人看得更远,那是因为我站在巨人的肩膀上。”**——艾萨克•牛顿
## 第1章 为何这本书与你先前读过的任何书籍都迥然不同
“如何成为一名优秀的软件开发人员”的书
优秀的软件开发人员
- 并不是说要精于编码之道,善于解决缺陷,通晓单元测试
- 相反,是那些能够把控自己的职业生涯、达成目标、享受生活的人
如果你想真正成为一个更好的软件开发人员(或者其他真正优秀的人才),你需要把重点放在整个“人”上,而不只是你生活中的一两个领域
如果想为本书内容分类和分组,最简易的方法是将它们看成是事业、思想、身体和精神四个方面
_第一篇 职业_
>**你所能犯的最大错误就是相信自己是在为别人工作。这样一来你对工作的安全感已然尽失。职业发展的驱动力一定是来自个体本身。记住:工作是属于公司的,而职业生涯却是属于你自己的。**——厄尔•南丁格尔
## 第2章 从非同凡响开始:绝不要做他人都在做的事
### 拥有商业心态
>这是你职业生涯中必须要做的第一要务:转变你的心态,从被一纸“卖身契”束缚住的仆人转变为一名拥有自己生意的商人。在起步阶段就具备这种心态会改变你对职业生涯的思维方式,将此铭记在心,并积极主动地管理自己的职业生涯。
### 如何像企业一样思考
你需要做到:
- 专注于你正在提供怎样的服务,以及如何营销这项服务
- 想方设法提升你的服务
- 思考你可以专注为哪一特定类型的客户或行业提供特定的服务
- 集中精力成为一位专家,专门为某一特定类型的客户提供专业的整体服务(记住,作为一个软件开发人员,你只有真正专注于一类客户,才能找到非常好的工作)
- 如何更好地宣传你的服务,如何更好地找到你的客户
把你的职业当作是一个企业,将会影响到你的:
- 工作的方式
- 处理自己的财务的方式
- 寻求新工作或新客户的方式
## 第3章 思考未来:你的目标是什么
### 如何设定目标
想想这本书的写作。我给自己设定的目标是:每天要写多少,每周要写多少。这样,我就不会再纠结写完整本书这一大目标,相反,我从自己的每日目标的角度出发,清楚地知道自己每天要做什么,最终实现了写完这本书这一大目标
启航之前总要规划好航海图
### 追踪你的目标
建议你定期核对自己的目标
- 坐下来,为你的职业生涯设置至少一个大目标
- 将大目标分解成相应的若干小目标,例如:
+ 月度目标
+ 周目标
+ 每日目标
- 把你的大目标写在自己每天的必经之地,每日三省吾身——我在追求什么
## 第4章 人际交往能力:远比你想象的重要
### 别管我,我只想一个人安静地写代码!
如果你想成为一名出色的软件开发人员,就得学会高效地与他人相处(即使写代码是你工作当中最为享受的一部分)
### 学会如何与人打交道
- **每个人都希望感到自己很重要**
- **永远不要批评**
- **换位思考**
- **避免争吵**
>**“据我所知,普天之下解决争吵的灵丹妙药只有一个,那就是避免争吵,像躲避响尾蛇和地震一样地远离争吵。”**——Dale Carnegie,《人性的弱点》
## 第5章 破解面试之道
### 通过面试的最快捷的方式
>我就见过傲慢无礼、不甚友好的技术高手败给了技术稍差但是性格讨喜的人。
当许多技术过硬的开发人员都在竞争同一个工作岗位时,决定胜负的最大因素已经不再是技术能力了
简而言之,通过面试的最快捷的方式是让面试官对你怀有好感
### 我是如何得到最后一份工作的
### 突破陈规,建立融洽关系
### 真正的面试会是什么样子的
在技术上你确实胜任工作。同时,如果你能说服面试官相信你非常能干,不会被困难阻挡,那么他们不仅会喜欢你,而且更有可能会录用你
### 当下你能做什么
## 第6章 就业选择:列出你的选择
### 选择1:雇员
身为雇员的最大的好处就是稳定
表6-1 作为一名雇员的优点和缺点
好处 | 弊端
---|---
稳定 | 缺少自由
从业之路比较轻松 | 收入封顶
带薪假期 |
(可能会有)医疗保险(在美国) |
### 选择2:独立咨询师
作为独立咨询师,软件开发人员不再为特定的单个雇主工作,而是服务于一个或多个客户
表6-2 作为一名独立咨询师的好处和弊端
好处 | 弊端
---|---
更大的自由度(自己掌控时间) | 自己去寻找业务
可以持续不断地做新项目 | 打理一切事务的开销
赚钱潜力 | 从“为一个老板服务”变成了“为许多老板服务”
### 选择3:创业者
最核心的就是:软件开发创业者使用自己的软件技能开发自己的产品、拓展自己的业务
创业者的两大优势了:完全的自由和完全不封顶的赚钱潜力
表6-3 创业的好处和弊端
好处 | 弊端
---|---
完全自由 | 风险很大
巨大的赚钱潜力 | 完全依靠自己
做你想要做的工作 | 需要许多其他技能
没有老板 | 可能需要长时间工作
### 到底应该选哪个
对大多数软件开发人员而言,特别是在职业生涯的起步阶段,做一名雇员是明智的选择
## 第7章 你是哪类软件开发人员
### 专业化很重要
### 在一个专业方向上拥有专长
>专业化的规则是:专业化程度越深,潜在的机会就越少,但获得这些机会的可能性越大。
通过有针对性地缩小“工作机会池”,提高被录用的机会
### 软件开发人员的专业类别
专业领域
- Web开发栈
- 嵌入式系统
- 特定的操作系统
- 移动开发
- 框架
- 软件系统
### 选择你的专业
### 精通多种语言的程序员该怎么办
## 第8章 公司与公司是不一样的
### 小公司和创业公司
创业心态通常表现为:关注快速增长,竭尽所能让公司盈利,或者达成其他一些迫切目标
### 中等规模的公司
### 大公司
在大公司工作时,你要遵守这里已有的做事方式。鲁莽和“变节者”在这种企业文化里不受欢迎
要在大公司晋升,你必须学会如何在复杂的政治气候中独善其身
表8-1 在小公司、中等公司和大公司工作的一些优点和缺点
公司规模 | 优点 | 缺点
---|---|---
小公司 | 承担多种职责,灵活的角色转换 对工作的影响较大 回报潜力大 | 没法安静地坐下来写代码 工作在众目睽睽之下 稳定性差
中等规模公司 | 工作稳定 加班较少 | 变化很慢低下 没有机会使用前沿技术
大公司 | 完备的流程和规范 培训机会多 大型有影响力的项目 | 充斥着官僚主义作风 可能只负责代码库的一小部分 很难获得关注
### 软件开发公司与拥有软件开发人员的公司
两类公司之间的区别:一种是软件开发人员只负责内部软件或他们正在生产的部分产品的公司,另一种是生产软件或者做软件开发就是核心业务的公司
### 谨慎选择
## 第9章 攀登晋升阶梯
### 承担责任
在任何公司里能让你脱颖而出的最重要法宝就是承担更多的责任
>这看起来显而易见,但在你的职业生涯中,你经常会面对更多金钱还是更多责任的选择。至少从长远来看,正确的选择几乎永远是更多责任。
**如何能让自己承担更多责任**
- 有一个不受重视的项目,你能去负责它吗?
- 你能帮助团队里的新人快速成长吗?
- 你能负责文档制作流程,并保证及时更新这些文档吗?
- 哪项工作是没有人愿意去做,你愿意承担起来,并将其简化或者自动化的?
### 引人注目
**如何令自己引人注目**
- **每天都记录自己的活动日志**——把这个日志以周报的形式发送你的经理。
- **提供演讲或培训**——选择一个对你的团队有用的话题。
- **发表意见**——只要在会议上就这么做,或者只要你能得到的机会就这么做。
- **保证“曝光度”**——定期与老板会面,确保你经常被注意到。
### 自学
不要只学软件开发,你还需要学习领导力、管理和商科的相关知识
### 成为问题的解决者
### 关于政治
应该对所在组织的政治气候保持警觉。尽管不能完全避开政治,但至少应该知道会发生什么,哪种人需要避开,哪种人永远不要有交集
## 第10章 成为专业人士
“专业”与“外行”之间的区别:
>成为专业人士是一种心态。如果我们总是与恐惧、自毁、拖延和自我怀疑作斗争,那么问题就是:我们正在像外行那样思考问题。外行毫不起眼,外行人废话连篇,外行屈从于逆境。专业人士可不这么想。不管怎样,他引人注目,他恪尽职守,他始终如一。
成为专业人士的全部在于:引人注目,恪尽职守,以及不屈服于挫折
### 什么是专业人士
简而言之,专业人士会严肃对待自己的责任和事业,愿意作出艰难的选择去做自己认为是正确的事情——往往还要自己承担代价
表10-1 一些专业人士和外行的差异
专业人士 | 外行
---|---
遵守自己的原则 | 让干什么就干什么
专注于正确完成工作 | 专注于完成工作
不惧怕承认自己错了,不会文过饰非 | 不懂装懂
持续稳定 | 无法预测,不可靠
勇于承担责任 | 回避责任
### 成为专业人士(养成良好习惯)
一切都始于习惯
### 坚守正道
软件开发人员所要面对的最大的道德挑战就是:以他们了解的决策前行是正确的,也符合客户的最大利益,但是这样的决定可能会危及自身福祉或职业稳定
>plus you can sleep better at night
### 追求品质,完善自我
>你做的每一件事情就是你所做的一切。
## 第11章 赢得自由——如何辞职
### 明智的处理方式
想知道辞职为自己工作的最简单的方法?明天直接走进你老板的办公室,告诉他你要辞职
如果我真的想跳槽,唯一可能的方法就是,弄明白如何开展我的新业务(维持现有的工作岗位,把这个当作副业),并让它足够成功,这样即便薪水大幅减少,我依然能完成转型
### 准备好为自己工作
### 你真正工作的时间到底有多长
### 切断脐带
## 第12章 成为自由职业者:开启自己的一片天地
自由职业者不只为某一个客户工作,而是以固定价格或时薪的方式将自己“出租”给多个客户
### 开始
随着时间流逝不断增强业务能力
### 问问你认识的人
### 获得客户的最佳途径
吸引式营销(inbound marketing)
电子邮件营销是推广产品或服务的最佳和最有效的方法
“吸引式营销”的方法多种多样,例如,你也可以做免费的网络课程、写书、在大会上做演讲、做客播客节目、制作自己的播客等
“吸引式营销”唯一的问题是起效时间略长
### 怎么收费
表12-1 全职雇员与自由职业者对比
全职雇员的薪酬 | 自由职业者的薪酬
---|---
每小时50美元 -无 | 每小时100美元 - 自主就业税 - 办公设备 - 会计或者记账员 - 非计费时间
实际收入=每小时50美元 | 实际收入=每小时50美元
**以下两种表述方式你认为哪一种更好?**
- “我可以为你的业务设计出全新的网站。我非常擅长HTML5、CSS以及网页设计,并成功地为许多与贵公司类似的公司创建了网站。”
- “你当前的网站能够给你带来足够的点击量,并且将这些点击量有效地转换成为客户吗?贵公司可能和大多数小企业一样,答案是‘不能’。不过不用担心,我可以帮你创建一个顶级的定制化网站,专门来提高你的流量和转化率。我已经帮许多其他的小企业提高了两倍甚至三倍的客户,我也可以帮你做到。”
如果没有任何潜在客户跟你讲“不行”或者“你的收费太贵了”,马上提高费率!不断给你的收费加码,直到你听到“不行”为止。客户愿意为你的服务付的价格可能会让你大吃一惊
## 第13章 创建你的第一个产品
### 找到受众
### 测试市场
你可以这么做:创建一个简单的销售网页,讲述你将要创建的产品以及它将解决什么问题,讲述你的产品会包含哪些内容以及产品上市的确切时间,给个折扣价让感兴趣的人可以提前预订产品,保证产品一发布他们就能拿到。你还要提供退款保证,让潜在客户知道如果你的产品不能如期交付或者不能令他们满意,他们可以得到退款
### 从小处着手
### 开始
## 第14章 你打算开始创业吗
### 创业的基础
实际上还是存在两类不同的创业型公司
- 第一种创业公司在成立伊始就试图以获得外部投资者的投资来刺激公司快速成长。与创业有关的术语和讨论实际上指的就是这类公司
- 另一类创业就是自力更生创业
### 不做大,毋宁回家
典型的退出策略就是说,当公司成长到一定规模的时候希望公司被人收购,这样,创始人和投资者都可以获得丰厚的回报,公司未来发展所要面临的风险可以在很大程度上得到规避
### 创业的典型周期
### 创业加速器
最受欢迎的创业加速器计划是[Y Combinator](https://www.ycombinator.com/)
加速器项目是一个强度非常高的项目,通常只持续几个月,旨在帮助创业型企业度过启动阶段的难关
### 获得投资
第一个重要里程碑就是获得第一笔资金,可以说这是创业生死攸关的大事。第一笔资金通常被称为种子资金,一般天使投资人会投给早期创业者
种子轮之后的第一轮融资通常被称为A轮融资,风险资本通常会在这一轮介入
“见风投”,它通常是指把自己的公司推销给风险投资人(VC,以下简称“风投”),希望从他们那里得到一大笔投资,使公司得到成长。风投通常会向创业公司注入大笔资金以换取公司的大量股份
## 第15章 远程工作的生存策略
### 做“隐士”面临的挑战
- 挑战1:时间管理
- 挑战2:自我激励
- 挑战3:孤独感
## 第16章 假装自己能成功
### “假装自己能成功”的真实含义
“假装自己能成功”:在你做事之前,可以暗示自己“我已经成功完成任务”。要如心理暗示那样行事:
- 你仿佛已经具备了成功完成任务的技能和天分
- 你仿佛已经成为自己想成为的那类人
- 仿佛战斗已经结束,而你大获全胜,因为你深知如果自己坚持不懈,胜利就在眼前
- 你仿佛已经对即将踏上的未知道路驾轻就熟
### 付诸实践
建议你坦率、诚实地面对自己的能力或不足,同时保持“我以前已经克服过那些困难”的心态和姿态,因为你清楚地知道,唯一横亘在“现在的你”和“未来的你”之间的是时间
## 第17章 单调乏味的简历——如何修改
### 你不是专业的“简历写手”
### 雇一个简历写手
表17-1 怎样寻找靠谱的简历代笔者
熟悉技术行业 | 不能雇一个不知道该如何充分推销你的开发技能的专业简历写手
---|---
可以给你展示简历样本 | 想知道你能得到怎样的工作的最好的办法就是,看看简历写手已经写好的简历上的工作
当你找到一位简历写手的时候,你主要是要请他做两件事情:
- 为你的经历做一个文字优美引人入胜的广告,令你看起来光彩照人
- 让这份广告看上去装帧精美,格式赏心悦目
### 比别人多做一点点
对软件开发人员来说,简历不一定要花哨好看,但一份专业的简历非常重要
### 如果不想雇专业的简历写手该怎么做
表17-2 改善简历的提示
提示 | 好处
---|---
把简历放到网上 | 确保雇主能够很容易访问你的简历。如果你申请Web开发的职位,这一点尤其重要
简历要有创意 | 简历样式不落俗套,别人一眼扫过去就会被深深吸引
使用“行动-结果”的描述 | 你的简历应该展现你都做了哪些工作及相应的结果。这样你的潜在雇主既能了解你会干什么,还能了解你能取得的成果,以及雇用你会给他们带来的收益
校对 | 即使是聘请专业的简历写手,你也要通篇校对。简历里有错别字或拼写错误会让人觉得你粗心大意
## 第18章 请勿陷入对技术的狂热之中
我坚信,如果你能让自己不成为某种技术的信徒,你会在职业生涯之路上走得更远
### 我们都是技术的信徒
没必要只是选择最好的而贬低其他的
### 天生一物必有用
不是所有的技术都是“伟大的”,但多数被普遍应用的技术至少是“好的”。
必须认识到:至少在历史的某个时间点,每项技术都被看作是那个时代里“好的”甚至是“伟大的”
### 发生在我身上的转变
### 不拘一格
没有理由去强烈坚持自己选择的技术就是最好的,而轻视甚至无视其他技术。如果固执己见,最终受损失的是你自己
_第二篇 自我营销_
>**营销就是一场争夺人们注意力的竞赛。**——Seth Godin
营销追求的是“实现价值在先,要求回报在后”
## 第19章 针对“码农”的营销基础课
伟大的音乐家和超级巨星之间的真正区别无非就是营销而已。对于有才华的人来说,营销就是一个“乘数效应”——你的营销越好,你的才华才能表现得越发淋漓极致
### 自我营销意味着什么
“自我营销”也就是把希望得到你提供的产品或者服务的人和你自己连接起来
自我营销的正确方式就是为他人提供价值
成功进行自我营销的关键在于:如果想让别人喜欢你,想和你一起工作,你就必须要为他们提供价值
### 自我营销为何如此重要
### 如何自我营销
自我营销要从打造能代表你自己的个人品牌做起
对于软件开发人员,最突出也是我个人推荐的还是博客
表19-1 自我营销的方式
方式 | 描述
---|---
博客 | 你自己的博客,以及你在别人的博客上发表的特邀文章
播客 | 创建自己的播客频道,同时接受其他播客频道的访谈
视频 | 在YouTube这样的视频网站上上传自己的分享内容和课程主题视频
给杂志投稿 | 给软件开发相关的杂志写文章
书籍 | 著书或者自出版
代码营 | 大多数代码营都允许参加者自由发言
技术会议 | 拓展社交网络的好方法,如果能在研讨会上发言尤佳
## 第20章 打造引人注目的品牌
### 什么是品牌
品牌即承诺:承诺按照你预期的方式交付你所预期的价值
### 构成品牌的要素有哪些
要打造一个品牌,你需要四个要素
- 品牌所要传递的信息
- 品牌的视觉符号
- 品牌的一致性
- 品牌的曝光率
### 创建属于自己的品牌
创建品牌的步骤
- 明确要传达的品牌信息
- 挑选细分市场
- 创建品牌口号
- 创建电梯内销售概要
- 创建视觉符号(即标识)
例如,我的口号就是“化繁为简”
在你的“电梯内销售概要”里你一定要讲明你是做什么的、你能带来的独特价值是什么
## 第21章 创建大获成功的博客
### 为什么博客如此重要
- [Coding Horror](https://blog.codinghorror.com/)
- [Joel on Software](https://www.joelonsoftware.com/)
### 创建博客
[Simple Programmer](https://simpleprogrammer.com/)
**创建博客的步骤**
- 决定要使用哪种托管服务:免费的、付费的还是VPS
- 设置或安装博客软件
- 配置或者自定义所有主题
- 开始写吧!
### 打造成功博客的秘诀
打造成功博客的最大秘诀有且仅有一个——持之以恒
持之以恒地坚持写作,坚持不懈地产生高品质的内容,如果你做到了这两点,基本上你就成功了
### 提升访问量
- 第一个策略就是开始评论其他人的博客
- 在社交网络上分享你的博客文章,在你的电子邮件签名的底部以及所有的在线个人主页中添加你的博客链接
- 让分享内容的方式更简单,以方便其他人分享你的内容
- 如果你足够勇敢并且认为自己的文章足够优秀或者富有争议,可以把自己的文章提交(或者请别人提交)到[Reddit](http://reddit.com)或者[Hacker News](http://news.ycombinator.com)这样的社交新闻网站
### 我可不能保证你能够一鸣惊人
>如果你遵循这些建议,你更有可能获得成功
## 第22章 你的主要目标:为他人增加价值
>**不要努力成为一个成功的人,而要努力成为一个有价值的人。**——阿尔伯特•爱因斯坦
>如果你能帮助足够多的人们得到他们想要的东西,你就会得到自己想要的东西。
### 给人们想要的东西
### 把你工作成果的90%都做成免费的
### 奔向成功的快车道
### 赠人玫瑰,手有余香
思利及人
帮助他人实际上就是在帮助自己获得成功
## 第23章 善于运用社交媒体
### 培育你的社交网络
### 有效地运用社交媒体
表23-1 通过社交媒体分享的内容
方式 | 内容
---|---
博客文章 | 转帖一些博客文章,或者自己的博客
新闻报道 | 转载一些有趣的文章,尽量与你的细分领域有关,或者与软件开发相关
励志名言 | 名人名言,特别是鼓舞人心、非常流行的名言警句
技巧、小窍门 | 任何你所了解的特殊技巧或者知识,别人会很欣赏
幽默故事 | 发一点儿幽默故事挺不错的,但是一定要确保确实好笑,另外千万别冒犯别人
吸引人的问题 | 这是一个很棒的吸引你的听众并和他们互动的方法
自己的一些推广活动 | 别太多,并且跟其他内容混合在一起
### 保持活跃度
### 不同的社交网络,不一样的功能划分
- Twitter,许多开发人员都在使用
- LinkedIn,最为人津津乐道的功能就是你可以邀请联系人为自己的能力背书
- Facebook
- Google+
## 第24章 演讲、报告和培训:做“说话的极客”
### 为什么现场演讲如此有力
### 开始演讲
- 一开始最好是在自己的工作场合做讲座
- 另一条成为“演说家”的路径是代码训练营和用户组举办讲座
>你要记住,作为人类,我们拥有良好的适应能力。只要你把一件事情重复足够多次,你自然就会接纳它。伞兵们第一次跳出机舱的时候都很害怕,但是经过多次成功跳伞之后,恐惧最终都会消失。如果你一直坚持在公共场合发表演说,你一定会应对自如,恐惧感终将消散。
### 做培训怎么样
做培训,不论是现场培训或录制培训,都是建立自己的声誉的另一种很棒的方式,甚至还能赚点钱
免费的培训课程
- 与像[Pluralsight](http://simpleprogrammer.com/ss-pluralsight)这样的专业为开发者提供培训的公司合作。通常只负责制作内容,无需为市场和销售操心
- 更为激进的“单飞”路线
- 混合方式是与线教育公司[Udemy](http://simpleprogrammer.com/ss-udemy)开展合作
## 第25章 著书立说,吸引追随者
### 为什么著书立说如此重要
### 书籍和杂志都不赚钱
事实很简单,你不会为了赚钱而去写书。写书是为了提高自己的声誉
### 获得出版机会
要想让自己有机会出书,最好的办法就是明确一个有市场需求的主题,同时也能够充分展示你作为该领域专家的学识
>别担心自己不擅长写作。现在写作能力不行,这并不打紧。要紧的是,你现在就开始写并坚持下去,随着时间的推移你的写作技能终将会得到提高。
### 自出版
[Leanpub](http://simpleprogrammer.com/ss-leanpub)
- 使用Markdown进行写作
- Leanpub将书籍做好格式转换后上架销售,并收取相关费用
## 第26章 百折不挠,越挫越勇
如果你真的想在自我营销方面获得成功,你就一定要学着克服我们大多数人都会有的一种恐惧——看起来像个傻瓜。
### 万事开头难
### 被看作傻瓜又如何
当你的手还不受控制地颤抖,几乎无法握住麦克风的时候,你该如何做到这一点呢?
很简单,别太在意。
>在我的职业生涯中,我一共错失了9 000多次投篮,输掉了近300场比赛。我本来有26次绝杀的机会却投球不进。我失败了一次又一次。这就是我能够成功的原因。——迈克尔•乔丹
### 小步快跑
并不是每个人都接受这种“要么大获成功要么一败涂地”的激进方式,你可能更想采用小幅前进的方式稳扎稳打
- 让自己勇敢起来。今天就是你的大日子。走出去做一些令你害怕的事情,大小都不要紧,迫使自己处于不自在的环境,并且提醒自己:“这没什么大不了的。”
- 现在,重复上一步,至少每周一次。
_第三篇 学习_
>**教育就是当一个人把在学校所学全部忘光之后剩下的东西。**——阿尔伯特•爱因斯坦
## 第27章 学习怎样学习:如何自我教育
### 剖析学习过程
>**教育的首要目标,并不在于“知”而在于“行”。**——赫伯特•斯宾塞
### 自我教育
本方法的关键指导原则是通过玩儿、探索以及将自己所学教给他人来学习
## 第28章 我的“十步学习法”
### 体系背后的逻辑
在我职业生涯的早年间,我学习知识的主要途径就是“从封面到封底”仔细阅读专著
为了能够掌握一门技术,需要了解以下三个要点
1. **如何开始**——要想开始使用自己所学的,我需要掌握哪些基本知识?
2. **学科范围**——我现在学的东西有多宏大?我应该怎么做?在开始阶段,我不需要了解每个细节,但是如果我能对该学科的轮廓有大致的了解,那么将来我就能发现更多细节。
3. **基础知识**——不止在开始阶段,要想使用一项特定的技术,我需要了解基本的用户案例和最常见的问题,也需要知道自己学的哪20%就能满足80%的日常应用。
如果我了解三项主题——如何开始,我能做什么,以及相关基础知识,那么我就能随着学习深入学会所需的其他知识
### 十步学习法体系
基本思想:
- 要对自己要学的内容有个基本的了解——了解自己不知道什么就足矣。
- 然后,利用这些信息勾勒出学习的范围,即需要学哪些内容,以及学成之后又会获得什么。依靠这些知识,你可以找出各种资源(不局限于书)来帮助自己学习。
- 最后,你可以创建自己的学习计划,列出要去学习哪些相关课程,筛选学习材料,只保留能帮助自己达成目标的优质内容。
“学习—实践—掌握—教授”(Learning, Doing, Learning and Teaching,LDLT)
“十步学习法”的第一部分是研究,它是一次性完成的。但是从第7步到第10步则是重复的过程,贯穿于你的学习计划的各个模块。
“十步学习法”体系
## 第29章 第 1 步到第 6 步:这些步骤只做一次
### 第1步:了解全局
“未知之未知”(unknown unknowns)
### 第2步:确定范围
表29-1 将一个大的主题分解成可控的子主题
初始的主题 | 可以分解为子主题
---|---
学习C# | 学习C#语言的基础知识,掌握如何创建一个简单的控制台程序
学习摄影 | 掌握针对人像拍摄的数码摄影知识
学习Linux | 了解如何设置和安装Ubuntu Linux,以及如何使用它的基本特性
### 第3步:定义目标
表29-2 “好的”和“不好的”成功标准
不好的成功标准 | 好的成功标准
---|---
我可以用我的数码相机拍出好照片 | 我可以使用我的数码相机里的所有功能,能够清晰地描述这些功能是什么,并且知道何时何地使用各功能
我学习了关于C#语言的基础知识 | 我可以利用C#语言的主要功能写出一个小的应用程序
我知道如何使用HTML去构建一个网页 | 我可以使用HTML5在网上为我自己创建一个主页,展示我的简历和我的代表性工作
### 第4步:寻找资源
**信息来源**
- 图书
- 博客文章
- 在线视频
- 专家,或者对你所想要学习的内容已经熟知的人
- 播客
- 源代码
- 示例项目
- 在线文档
### 第5步:创建学习计划
好的技术书都遵循这样的规律:打好基础,做好铺垫,然后逐个展开每一章的论述
打造自己的学习计划,一个好方法就是观察别人是如何教你感兴趣的主题的
### 第6步:筛选资源
## 第30章 第7步到第10步:循环往复
### 第7步:开始学习,浅尝辄止
在学习过程中通常会犯两类错误:
- 第一类错误是在知之不多的情况下就盲目开始,即行动太快
- 第二类错误是在行动之前准备过多,即行动太晚
这一步的关键在于过犹不及
### 第8步:动手操作,边玩边学
你无需提前了解全部内容,你要做的首要的一件事情就是亲自操作和亲身体验
### 第9步:全面掌握,学以致用
这一步的目标就是让你找回好奇心驱动的学习
不过请记住,你依然没有必要把收集到的所有资料全部仔细看一遍。你只需要阅读或观看与当前所学相关的部分
### 第10步:乐为人师,融会贯通
>**你告诉我的,我都忘了。你教会我的,我都记得。让我乐在其中,我就一定能学会。**——本杰明•富兰克林
**教授知识的途径**
- 撰写博客文章
- 创建YouTube视频教程
- 发表演讲
- 与朋友或爱人进行对话探讨
- 在在线论坛上回答问题
### 最后的思考
## 第31章 寻找导师:找到你的尤达
### 导师的修养
**寻找导师时的检查单**
- 他们做到了我想要去做的?
- 他们曾经帮助他人做到了我想做的?
- 他们现在取得了什么可以展示的成就?
- 你能和这个人和睦相处?他充满智慧吗?
### 在哪里可以找到导师
### 虚拟导师
### 招募导师
## 第32章 开山收徒:成为尤达一样的大师
### 做一名导师
### 身为导师的好处
**做导师的好处**
- 帮助他人时的成就感。
- 深入学习和领悟知识的途径。
- 你的徒弟有朝一日会帮到你。
- 自身的成长。帮助别人成长的过程也就是自己成长的过程。
### 挑选一位“值得”指导的门徒
## 第33章 传道授业:若要学知识,必得为人师
### 我不是老师
### 在你传道授业的时候都会发生什么
### 入门
我发现最好的教学方式就是以谦虚的视角来观察问题,以权威的口吻去诠释问题。我的意思是说,当你教别人的时候,无需让自己表现得比学生更智慧、更博学,但要充满信心,坚信自己所说的一切。
你教的目的是为了帮助别人,而不是为了证明自己的优越性或者寻求认可
建议是:你从“小”做起,渐渐习惯去分享自己的想法
另一个重要方法就是在本地用户组的聚会上或者自己的工作场所进行演讲。只要记住一个原则:心态谦卑,信心满满(而不是傲慢自大)
## 第34章 你需要一个学位吗,还是可以对此忽略不计
### 获得成功必须要有学位吗
与其他行业相比,软件开发最大的不同就是:该领域总是不断变化
### 拥有学历的优势
表34-1 学位的好处和缺点
学位的好处 | 学位的缺点
---|---
接受有关软件开发方面的全面的系统教育 | 花费原本可以赚钱的时间去学习
无需经验就可以入行 | 可能会受困于思维定势,难以打破
有更多选择,更容易转到行政或管理岗位 |
### 没有学历又当如何
证明自己的能力的最好的办法就是以往的工作经验
## 第35章 发现自己的知识短板
### 为什么我们会有短板
### 找出你的短板
- 准确识别它们的最佳方式之一就是看看自己在哪些工作上花费了大量的时间,或者一直进行重复性劳动
- 时刻都要试图了解自己不理解或不清楚的事物
表35-1 检查知识短板
知识短板高发区 | 你的短板
---|---
在哪些工作上花费时间最多? |
可以改进的重复性劳动 |
自己没有完全理解的东西 |
你回答不出来的面试题 |
### 消除短板
通常情况下,你可以通过“提问题”来快速填补自己知识上的短板
_第四篇 生产力_
>**外行静坐等待灵感,其他人则唤起激情努力工作。**——斯蒂芬•金,《写作这回事:创作生涯回忆录》(On Writing: A Memoir of the Craft)
## 第36章 一切始于专注
### 什么是专注
### 专注的魔力
### 如何更专注
### 没有听起来那么容易
## 第37章 我的私房“生产力提升计划”
### 概览
基本思路就是,我把一周的时间分配给一个一个用时不超过两小时的小任务
典型的状态有“未启动”“进行中”和“已完成”
### 季度计划
在做季度计划时,我会尽力列出我想在本季度完成的每一个大项目,我还会制订一些较小的目标
作为软件开发人员,你如何营销自己(How to Market Yourself as a Software Developer)
### 月计划
每个月的第一天我会打印出当月的月历,并且规划出每天要完成的工作
### 周计划
每周一的早晨,我会做我的周计划。
- 我原来使用名为[Trello](https://trello.com/)的工具作为看板来组织我一周的工作
- 但最近我一直在用[Kanbanflow](http://simpleprogrammer.com/ss-kanbanflow)创建自己的看板,因为Kanbanflow有一个内置的番茄钟定时器
![weeklyPlan-min](https://s1.wailian.download/2020/05/31/weeklyPlan-min.jpg)
### 日计划及执行
### 与干扰作斗争
### 休息和休假
充充电,陪陪家人
## 第38章 番茄工作法
番茄⼯作法([Pomodoro Technique®](https://francescocirillo.com/pages/pomodoro-technique))
### 番茄工作法概述
基本思路:你规划出打算一天之内完成的工作,然后设置一个时长25分钟的定时器,去完成计划中的第一项任务
- 在25分钟结束的时候,设置一个5分钟的定时器,休息一下。这就是所谓的一个“番茄钟”
- 每4个番茄钟后,你都需要休息一会儿,通常为15分钟
### 有效利用番茄工作法
番茄工作法只有被当作估算和评估工作的工具使用时,才能发挥它的真正威力。通过跟踪自己在一天内完成了多少个番茄钟,以及为每天要完成的番茄钟的数量设定目标,你瞬间有能力去真正评估自己每日工作的努力程度,也能知晓自己的工作能力。
### 心理游戏
### 你可以完成多少工作
番茄钟上限的实际值可能令你大吃一惊。你可能会这么计算,每个工作日你平均工作8小时,一个番茄钟是30分钟,所以理论上讲,你应该在工作时间内能完成16个番茄钟。但实际上,即使是在12小时以内完成16个番茄钟也是极为吃力的
## 第39章 我的“定额工作法”:我是如何做到超额完成工作的
### 问题
我试用过的所有生产力提升方法都有一个主要问题:它们对于每天都会重复发生的任务似乎都束手无策。我还需要一种能够处理需要几周甚至几个月才能完成的大任务的方法。
### 什么是定额工作法
对自己做的任何重复性工作的频率进行了量化,有的一月一次,有的一周四次,有的则是每天两次
**定额示例**
- 每周跑步3次
- 每周发布一篇博客
- (写作本书时)每天写一章
- 每周完成50个番茄钟的工作
### 定额工作法的工作原理
1. 明确自己要做什么、多久做一次
2. 承诺,是“定额工作法”的核心
如果定额定得太高,我只有一个规则:不能在定额必须完成的有效时间段之内放弃
**定额工作法的规则**
- 挑选一项重复性任务
- 明确有效时限,在此期间该任务被重复执行
- 明确在给定的有效时限内该任务应该完成的次数的定额
- 给自己承诺:一定要达成定额
- 调整。调高或者调低定额,但是不能在有效时间段之内调整
### 定额工作法为什么会有效
定额工作法成功的秘密可以追溯到“龟兔赛跑”的故事。以缓慢但稳定的节奏工作,要优于快速但缺乏持久和坚持的工作方式
>如果自己能够让那些哈士奇狗一直拉着雪橇前进,早晚都能到达诺姆市
## 第40章 对自己负责
让人们完成工作主要有两大动机——内部动机(来自内心的动机)和外部动机(来自外部奖励或惩罚的动机)
### 责任感
### 对自己负责
### 外部问责
- 抉择一下:你想如何度过自己的一生。花点儿时间创建一些自己的规则,确保自己朝着正确的方向前进
- 创建自己的责任制度,帮助自己严格执行规则
## 第41章 要不要多任务并行
### 为什么多任务并行一般都很糟糕
多任务导致效率低下的根本原因似乎在于,我们根本没有能力真正去践行多任务并行
实际上我们做的不过是在不断地进行任务切换。这样的任务切换看起来确实是工作效率下降的罪魁祸首
多任务并行的时候,很容易打破专注力
### 批量处理生产效率更高
如果你每天都因为有多个任务要完成就深陷多任务并行的泥潭,最好学会如何批量处理这些任务,一次性完成一系列互相关联的任务,而不是将它们拆分完成
**潜在的适合批量处理的领域**
- 处理电子邮件
- 打电话
- 修复bug
- 开短会
### 什么才是真正的多任务并行
将一项不费脑筋的任务和一项一定程度上需要精神专注才能完成的任务组合起来
我通常会尝试把体育运动与培训活动组合在一起。在健身房跑步或举重的时候,我经常会听有声读物或者播客
## 第42章 职业倦怠:我已找到解药
提高生产力的最大障碍之一就是身体和心理上的倦怠
### 为什么会产生倦怠
### 事实上,你不过是撞到了一堵墙
### 在墙的另一侧
### 穿过那堵墙
1. 意识到墙的另一侧有东西在等着你
2. 需要为自己创建一套确保自己继续前行的规则
我为自己设定了一个时间表,并且坚决执行。无论刮风下雨,无论自己感觉如何,我都坚持每天写完一章
## 第43章 时间是怎样被浪费掉的
### 最大的时间杀手
还是让我直截了当地说出来吧——停止看电视!
### 戒掉电视
### 其他时间杀手
社交媒体是一个主要的时间杀手
**一些常见的时间杀手**
- 看电视
- 社交媒体
- 新闻网站
- 不必要的会议
- 烹饪
- 玩电子游戏(尤其是网络游戏)
- 工间喝咖啡休息
### 跟踪你的时间
使用[RescueTime](https://www.rescuetime.com/)这类工具来跟踪自己一天当中到底是如何花费时间的
## 第44章 形成惯例的重要性
生产力的真正秘诀在于:长期坚持做一些小事
### 惯例可以让你……
### 创建一个惯例
最成功的方法就是围绕5个工作日来形成惯例。建议你把每天最开始的一两个小时投入到最重要的目标上
### 让惯例更细化
表44-1 例行安排示例
时间 | 活动
---|---
7:00 am | 锻炼(跑步或者举重)
8:00 am | 吃早餐(周一、周三、周五,早餐食谱A;周二、周四,早餐食谱B)
9:00 am | 开始工作,并且挑选最重要的工作做
11:00 am | 检查和回复邮件
12:00 am | 吃午餐(周一、周二、周三、周四,自己做午餐;周五,外出吃午餐)
1:00 pm | 专业开发时间(研究新技术,提高技能)
1:30 pm | 做第二重要的工作,开会或其他
5:30 pm | 为明天的任务做好计划,记录今天完成的工作
6:30 pm | 晚餐
7:00 pm | 陪孩子做游戏
9:00 pm | 读书
11:00 pm | 睡觉
## 第45章 培养习惯:刷新你的代码
>**成就我们的恰恰就是那些不断重复做的事情。因此,优秀不是一种行为,而是一种习惯。**——亚里士多德
### 了解习惯
习惯主要由三个要素构成:
- 暗示:是导致习惯被触发的某样东西
- 惯例:是你做的事情,也就是习惯的本质
- 奖励:是让习惯真正保持下去的“锚”
### 找出坏习惯,改掉
要找出坏习惯,最好的办法就是设法找到日常生活中令你感到内疚的事情或惯例。什么事情你想停下来却又总是推迟到另一天?
- 选一个你找出来的坏习惯,不要试图马上就改变它。相反,尽量找出这个习惯被什么触发,你这么做有什么表现,以及是什么奖励激励你产生冲动要这样做
- 努力找出是否有别的惯例可以代替当前这个为了某个习惯正在执行的惯例
- 强迫自己坚持足够长的时间,以使新习惯取代旧习惯
### 养成新习惯
只要将惯例坚持足够长的时间,你就可能会成功地形成新习惯
## 第46章 分解任务:如何吃掉一头大象
>要吃掉一头大象,每次吃一口。——克雷顿•艾布拉姆斯(Creighton Abrams)
### 为什么更大并不总是更好
原因之一就是:大型任务给人带来沉重的心理负担
### 分解任务
事实证明,大多数大任务都可以被分解成更小的任务
### 如何分解任务
### 分解问题
## 第47章 努力工作的价值,以及为什么你总是逃避努力工作
### 为什么努力工作是如此的辛苦
艰苦的工作最有可能是推进我们职业发展或者为我们打开机遇之门的工作
### 如果我只是“聪明地”工作
### 努力工作总是枯燥的
**赛跑比的是谁耐力更长久,而不是看谁冲刺更有力。**——约翰•杰克斯,《北与南》(North and South)
### 现实
### 努力工作:如何做到这一点
每当我们试图提升自己至一个更高水平的时候,阻力一定会伸出它那丑陋的脑袋,试图让我们原地不动
## 第48章 任何行动都比不采取行动好
**任何行动往往都比没有行动好,特别是当你一直停滞在不愉快的情势下很长时间的时候。如果这是一个错误,至少你学到了一些东西。这样一来,它就不再是一个错误。如果你仍然选择停滞不前,那么你就学不到任何东西。**——埃克哈特•托利,《当下的力量》(The Power of Now)
### 我们为什么拒绝采取行动
原因很简单——恐惧
### 不采取行动会发生什么
如果你愿意采取行动,可能5分钟内就能解决
### 可能发生的最坏情况是什么
- 通过采取行动,即使你发现这个算法无效,也有时间去实现另一个算法
- 而选择不做选择,也就是延迟行动,最终会导致最糟糕的结果
### 跑起来的汽车更容易转向
通常,要找出一个方向是错的,唯一的方法就是向着那个方向前进。如果错误的代价很小,有所作为总好过无所事事
### 现在要怎么做
表48-1 采取行动时的检查表
采取行动的检查表 | 答案
---|---
阻拦我采取行动的障碍是什么? |
如果我需要做出选择,我的选择会是什么?我要从哪些选项中做出选择? |