本书是《软技能:代码之外的生存指南》一书作者的新作,主要围绕软件开发从业者职业生涯的发展历程,描述软件开发者在职场中需要具备的各种“软技能”—如何入行成为软件开发者,如何学会第一门编程语言,如何写求职简历,如何准备面试,如何选择工作岗位,如何选择技术方向,如何拓展技术技能,如何与团队和领导融洽相处,如何以著书立说方式为自己在业界赢得赞誉,等等。
本书适合各层次的软件开发者阅读。尽管本书名义上是专门写给软件开发者的,但实际上这也是一本关于管理个人职业生涯以及如何获得成功的书,对软件开发行业的各类从业者做好职业发展规划都很有帮助。
·作为一名软件开发者,我该如何起步?
·我该如何培养自己的技术能力?
·我该如何谈判薪水?在合同制员工和正式职员之间我该如何选择?
·我该如何跟我的老板、同事打交道?我该如何对待职场偏见?我该如何跟技术女性打交道?我该如何成为一名技术女性?
·我真正需要知道什么?又该如何学习它们?
·大学学历教育、编程训练营还有自学成才,该选哪一种?
·我如何找到一份工作?如果没有经验,我该怎么办?
·我怎样才能通过面试?
·身在职场我该怎样穿着?
·我怎样才能推动自己的职业发展提升到一个新的水平?
这是一本为软件开发者量身定做的职业发展指南,处于任何发展阶段的软件开发者,都将从本书中获益。如果你是软件开发/编程的初学者或者只是对软件开发感兴趣的人士,可以通过本书了解如何开启软件开发的职业之旅,如何获得第一份工作;如果你是中级软件开发者,可以通过本书发现自己的知识短板,学会如何进一步拓展和掌握新的技术技能,如何学习新的编程语言,如何提升技术水平,如何在自己梦想的编程工作中深耕细作;如果你是身经百战的专业软件开发者,可以通过本书了解如何拓展和推进自己的职业生涯,如何更好地与同事和老板相处,如何推销自己的想法,如何做好向上管理,如何升职加薪。
资深软件开发者兼软件开发者的人生导师约翰·森梅兹在本书中针对职场上的各项重要的“软技能”,为软件开发者提供专业的职业发展指导,让软件开发者的职业生涯更加精彩和辉煌。
本书与《软技能:代码之外的生存指南》既相得益彰,又各有侧重——《软技能:代码之外的生存指南》全方位论述软件开发者生活和工作中需要关注的各种“软技能”,而本书则从软件开发者职业生涯的时空关系出发,描述软件开发者职业发展整个历程中应具备的各种“软技能”。
作者简介
约翰·森梅兹(John Sonmez),畅销书《软技能:代码之外的生存指南》作者、“Simple Programmer”网站的创始人。他努力追求“将复杂问题转化为简单解决方案”。他为在线培训机构Pluralsight开发了50多门在线课程,涉及iOS、Android、.NET、Java和游戏开发等多个主题。他是“Get Up and Code”播客的主持人,在这里他讨论“程序员健身”;他还是“Entreprogrammers”播客的主持人,在这里他和其他三位开发者/企业家分享他们构建在线业务的真实故事。
他是软件开发者的人生导师,他帮助软件工程师、程序员和其他专业技术人员推动事业进步,过上更充实的生活。他通过“化繁为简”的方法,赋予他们实现自身目标的力量。
译者简介
王小刚,畅销书《软技能:代码之外的生存指南》译者。毕业于西安电子科技大学计算机学院,硕士研究生学历,曾先后服务于华为、IBM、中国移动无线数据研发中心,参与过3G基站、MISC(移动信息服务中心)等产品/系统的研发工作,担任过项目经理、质量保证经理、质量总监等职务。
业界知名的咨询顾问和培训讲师,拥有NPDP、PMP、PBA、ACP、CSM、CAL等多项认证资质。六西格玛黑带,致力于研发管理、项目管理、产品创新、过程改进等领域的研究工作,帮助IT企业持续提升产品创新与研发管理能力,先后为100多家企业的20000多名软件开发人员提供过咨询和培训服务。
目 录
这本书是为我量身定做的吗 4
初学者或者只是对学习软件开发感兴趣的人士 4
中级开发者 5
身经百战的专业人士 5
第 1章 整装待发:写在开篇的话 22
本书的写作目的 22
本书的目标 22
如何使用本书 23
反复阅读与付诸实践 24
第 一篇 入行成为软件开发者 26
第 2章 跬步千里:如何入行 28
我是如何入行的 28
了解专业 29
理解问题 29
设计 30
写代码 30
测试和部署 31
不只是写代码 31
做好计划 31
把计划组合在一起 32
创建计划 32
谁想当“运动员“ 33
具体示例 34
第3章 傍身之技:你需要拥有的技术技能 36
安身立命的本领 36
一门编程语言 36
如何结构化代码 37
面向对象设计 38
算法和数据结构 38
开发平台及其相关技术 39
框架或者栈 40
基本的数据库知识 40
源代码控制 41
构建与部署 42
测试 42
调试 43
方法论 43
感到不知所措?千万别 44
第4章 格物致知:如何拓展技术技能 45
学习如何快速学习 45
基本过程 45
做中学 46
如何做中学 47
做中学的示例 47
我是怎样教别人技术技能的 48
阅读专家写的东西 50
重要的事情说三遍:实践,实践,实践 50
第5章 无问西东:到底应该学哪门编程语言 52
编程语言其实并没那么重要 52
选择编程语言时的考虑因素 53
第6章 姗姗学步:如何学好你的第 一门编程语言 58
从查看一款实用的应用程序开始 58
寻找好的资源或书并浏览它们 59
学习如何创建Hello World 59
学习基本结构并用实际问题检验学习效果 60
了解语言的功能特性和库之间的区别 61
通过理解每一行代码来检查现有代码和工作 61
构建某个程序,构建很多程序 62
将编程语言应用于特定的技术或平台上 63
通过解算法难题来精通这门语言 63
第7章 巍巍学府:通过上大学深造成为软件开发者 65
优势 65
劣势 67
策略 70
第8章 躬行实践:通过参加编程训练营成为软件开发者 74
什么是编程训练营 74
优势 74
劣势 78
策略 80
第9章 自学成才:通过自学成为软件开发者 83
自学编程的优点 83
自学编程的缺点 86
策略 88
第二篇 找到一份工作 92
第 10章 初出茅庐:怎样获得实习机会 94
什么是实习 94
我该拿报酬吗 95
怎样获得实习机会 96
如何成为优秀的实习生 98
如何从实习人员转变为正式员工 98
第 11章 柳暗花明:没有经验如何找到工作 100
公司在雇用软件开发者时面临的最大风险 100
屏蔽这些风险 101
在网络空间里崭露头角 101
善打组合拳 102
创建自己的公司 104
面试准备 105
拓展人际关系网络 105
无偿工作 105
主动提出做一个小项目 106
先做其他工作 107
获得认证 108
持之以恒 109
第 12章 独辟蹊径:找工作时的创新思维 110
传统的方法,也就是千篇一律的方法 110
独辟蹊径 116
第 13章 移樽就教:怎样写简历 123
第 一步:不要写简历 123
挑选简历写手 125
与简历写手协同工作 125
一份优质简历的构成要素 126
自己动手写简历怎么样 127
第 14章 锦囊妙计:如何对付面试 133
不同类型的面试 134
你需要了解的面试中常见问题 138
面试小贴士 141
第 15章 唇枪舌剑:关于薪酬谈判 146
了解你的薪资范围 146
当拿到录用通知书的时候 147
讨价还价 151
定位 152
谁先出价谁先输 153
不要害怕还价 154
薪酬包里的一切都是可以谈判的 156
不要屈服于时间节点的压力 156
面临多重选择的时候 157
第 16章 山高水长:如果要离职,该怎么做 159
离职的时机 159
怎样离职 161
世界很小,小到出乎你的意料 165
第 17章 半路出家:如何从其他行业转行成为软件开发者 168
中途转行的优势 168
不利因素 169
怎样实现转型 170
第 18章 遇水叠桥:如何从测试或者其他技术性角色转型成为软件开发者 173
你将面临的最大障碍 174
把你的目标公之于众 175
寻求机会 176
自己创造机会 176
利用你自己的时间 177
遇水叠桥 177
换一家公司 178
我的最后一条建议 179
第 19章 掎摭利病:合同制员工与领薪制正式雇员之间的比较 180
合同制员工的类型 181
领薪制的工作岗位 183
钱 183
详细分析合同制岗位的所谓“小时工资” 184
为什么合同制员工可以得到更多的报酬 185
其他福利待遇的价值 185
职场环境 186
其他考虑因素 187
第 20章 去梯之言:从未公开过的招聘行业运作的秘密 189
招聘人员和招聘机构的类型(以及他们如何盈利) 190
对你而言这些意味着什么 193
第三篇 关于软件开发你需要知道些什么 199
第 21章 走马观花:编程语言概述 201
C 201
C++ 202
C# 202
Java 203
Python 203
Ruby 203
JavaScript 204
Perl 204
PHP 205
Objective-C 205
Swift 206
Go 206
Erlang 207
Haskell 207
忽略细节 207
第 22章 知难而进:什么是Web开发 209
简短的概述 210
Web的工作机理 210
Web简史 211
主流的Web开发技术 212
第 23章 前途大好:移动开发 217
什么是移动开发 217
主要移动开发平台 218
移动开发是如何完成的 219
移动Web应用 222
移动开发的注意事项 223
第 24章 幕后英雄:后端开发 224
后端开发的确切定义是什么 224
后端开发者都做些什么 224
后端开发中主要技术与技能 225
全栈开发者怎么样 225
总结 226
第 25章 游戏人生:游戏开发者的职业生涯 228
一项忠告 228
选择正规教育 229
必备技能 230
为大型游戏工作室工作 231
成为独立游戏开发者 231
资源和建议 233
第 26章 事无巨细:DBA与DevOps 234
DBA 234
数据库需要呵护与照料 235
我需要成为DBA吗 235
DevOps:一个全新的角色 236
运维:过去我们是怎么做的 237
什么是DevOps 237
这对你意味着什么 238
第 27章 高屋建瓴:软件开发方法论 239
传统的瀑布式 239
你讨厌SDLC吗 240
敏捷 242
其他方法论和非方法论 248
第 28章 层层设防:测试和QA基础 250
测试背后的基本思想 250
常见的测试类型 251
测试过程 255
敏捷团队如何开展测试工作 256
测试与开发者 256
第 29章 源头把关:测试驱动开发与单元测试 258
什么是单元测试 259
有时被称作“单元测试”的又是些什么 260
单元测试的价值 260
什么是测试驱动开发 261
测试驱动开发的目的是什么 262
测试驱动开发的典型工作流 263
以上还只是皮毛 263
第30章 清清爽爽:源代码控制 266
什么是源代码控制 267
为什么源代码控制如此重要 267
源代码控制基础知识 268
源代码控制的技术 271
最流行的源代码控制概览 273
第31章 步步为营:持续集成 276
以前构建代码是怎么做的 277
构建服务器应运而生 278
持续集成闪亮登场 279
持续集成的典型工作流程 280
CI服务程序与软件 283
第32章 火眼金睛:调试 286
什么是调试 286
调试的第 一条规则:不要使用调试器 287
重现错误 287
坐下来思考 288
检验你的假设 289
检查你的前置条件 290
分而治之 290
若要要修复bug,应了解其产生的原因 291
艺术与科学 292
第33章 日臻完善:代码维护 293
你职业生涯的大部分时间都要花在维护代码上 293
伟大的开发者都会编写可维护的代码 294
童子军规则 294
第 一重要的是代码的可读性 295
重构代码使其更优秀 295
自动化是必不可少的 297
如果要写注释,一定要写好 297
学习编写可维护代码的资源 297
第34章 实至名归:工作岗位与头衔 299
头衔,其实没那么重要 299
但你要尽力得到最好的 299
一些常见的头衔 300
有一个头衔要避开 301
基本角色或工作 302
大型科技公司里的头衔 303
关于头衔其实还有相当多门道 304
第35章 多姿多彩:软件开发者的工作类型 305
编写代码 305
修复bug 306
设计和架构设计 306
开会 307
学习 307
实验与探索 308
测试 308
思考 308
与客户/利益相关人打交道 309
培训/辅导 310
就到这里吧…… 310
第四篇 软件开发者的日常工作 311
第36章 和而不同:与同事相处 313
第 一印象 313
尽你所帮助别人 314
置身于戏外 315
但对于冲突也不用逃避 315
政治与宗教 317
无所事事的同事 317
喋喋不休的同事 320
有毒人群 321
还有好多状况呢,我该怎么处理 322
第37章 顺势而为:与老板相处 323
理解你的老板 323
“责任在我”的认知 324
怎样让你老板的工作更容易 325
坏老板 326
你不能总是选择你的老板 334
第38章 协力共进:与测试人员相处 335
测试人员并非敌人 335
你要知道考试内容是什么 336
自己要先测试一下自己的东西 337
避免陷入“发现bug-修复bug”的连环套之中 337
帮助他们实现自动化测试 338
要是遇到一个混蛋测试人员该怎么做 338
第39章 等量齐观:工作与生活的平衡 340
平衡工作/生活就是一个神话 340
加班毫无益处 342
但是,没有借口不努力工作 342
首先要让自己有收获 343
好自为之,这个要放在第 一位 344
谨慎选择你的人际关系 345
活在当下 346
真正的工作/生活平衡之道 347
第40章 并肩作战:与团队协作 348
团队,一荣俱荣一损俱损 348
团队拥有共同的目标 349
对团队负责 350
沟通与协调 351
要坦诚,但也要机智 351
第41章 谠言嘉论:推销你的想法 353
为什么推销你的想法如此重要 353
不要争论 354
具有说服力 354
循循善诱 355
清晰沟通 356
向权威借势 356
树立权威 357
好为人师 358
勤于练习 358
第42章 衣冠楚楚:如何着装 359
外表很重要 359
比你目前职位高出两个等级的着装 361
追随领导 362
魅力与矛盾 363
着装可以改变你的个性? 364
象征社会地位的符号 364
头发、化妆和基本卫生 365
如果我不在乎怎么办 366
第43章 谋事在人:安然渡过绩效评估 368
我是如何逆转对我的绩效评估结果的 368
提早着手准备 370
要有明确的目标,还要让他们知道 371
跟踪和记录你的进展 372
准备好充分的理由 372
必要时,你可以上诉 373
陷阱——给自己评定等级 374
同事之间互相打分 375
员工排名制度 376
第44章 光明磊落:处理偏见 379
要接纳人们无意识的歧视偏见与陈规陋习 379
给自己最好的机会以远离偏见 380
不要让自己与世隔绝 382
对自己要有信心 383
尽可能无视它 383
如果你不能无视,那就报告 384
偏见糟透了 385
第45章 身先士卒:处于领导的位置 386
什么是领导力 386
如何做高效能的领导者 387
成为所有领域内的楷模 387
让自己保持有更高水准的责任心 388
你要对团队负责 389
相信你的团队,合理授权 389
身先士卒 391
第46章 前程似锦:获得提拔与晋升 392
总是选择责任而不是薪酬 392
主动 393
投资于对自己的教育 394
把你的目标公之于众 395
让自己在公司之外更有价值 396
成为资产 397
询问具体数字 398
不要制造威胁 399
不要谈论你为什么需要钱 400
如果一切都失败了,去别处 401
第47章 巾帼英雄:科技女性 403
陈旧腐朽的观念和污名 404
为什么男人骚扰女人 404
给女士的忠告 406
给男人的忠告 412
衷心希望本章内容能帮上忙 416
第五篇 推进你的职业发展 417
第48章 名满天下:建立声誉 419
名满天下的收益 420
风格造型与真材实料,相辅相成 421
打造个人品牌 422
如何做到名满天下 423
为他人创造价值 425
这一切需要持之以恒 426
第49章 广结善缘:社交与人脉 428
拓展人脉的错误方式 428
拓展人脉的正确方式 429
到哪里去拓展人脉 430
创建和掌管一个团体 432
拓展人脉并不困难 433
第50章 与时俱进:让你的技能紧跟上时代 434
没有计划其实也是计划,只不过是一个糟糕的计划 434
阅读博客 435
读书 435
挑选一样新东西去学习 436
学习的质量 438
参加活动 438
阅读新闻 439
大量编写代码 439
不要让自己过得太舒服 440
第51章 行家里手:做专才还是做通才 441
专业化的力量 441
为了做到专业化,你必须要有广泛的基础 442
这一切都与T型知识体系有关 443
但每个人都说寻找通才 443
今天,你甚至没可能成为通才 444
如果我选择术业专攻的方向是错误的,我该怎么办 444
所以你该怎么办 445
第52章 传经布道:演讲和参加会议 447
参加会议 447
演讲 449
一些实用技巧 453
走出去实践吧 457
第53章 笔耕不辍:创建博客 459
为什么博客仍然是你最好的选择 460
怎样创建博客 461
选择一个主题 462
怎样撰写博客文章 463
坚持不懈的力量 466
引流 467
找到你的声音 469
笔耕不辍 471
第54章 海阔天空:做自由职业者乃至创业 472
你确定要走上这条道路吗 473
什么是自由职业 474
怎样迈出第 一步 475
上一节中说过有一条轻松一些的途径…… 476
怎样设置收费费率 477
创业 480
所有这一切很艰难,但是值得付出 486
第55章 策马扬鞭:职业发展路径 488
3种类型的软件开发者 488
职业发展的选项 490
穿越“玻璃天花板” 493
做管理还是搞技术 494
“我要去哪里”的问题需要一直在思考,从不间断 495
第56章 未雨绸缪:工作稳定性与工作保障 497
没有什么是安稳的,不过这没关系 497
工作保障并非来自囤积知识 499
取而代之地,要做完全相反的事 500
用能力代替稳定 500
建立自己的安全防护网 501
拥抱不确定性 503
第57章 学无止境:培训与资格认证 506
证书物有所值的吗 506
小朋友,你为什么又拿了那么多证书 507
怎样获得证书 508
那么培训呢 509
都有哪些培训 510
充分利用好培训机会 511
让你的雇主为你支付培训费用 513
做培训讲师 515
关键在于你投入了多少精力 515
第58章 乐此不疲:兼职项目 517
兼职项目应该常伴你的左右 518
挑选一个兼职项目 519
让兼职项目服务于至少两个目标 520
整装待发 522
坚持不懈 523
成为终结者 524
从兼职项目中赚钱 525
勇敢迈出第 一步 526
第59章 开卷有益:要读的好书 527
怎样写出好代码的书籍 528
进阶类书籍 529
如何重构代码的书籍 529
培养自己成为优秀开发者的书籍 530
培养自己更加人性化的书籍 531
深入研习类书籍 533
娱乐消遣类书籍 534
励志类书籍 536
读书吧,我的朋友…… 537
第60章 余音袅袅:结束语 539
最后一个请求 540