猜你喜欢
大话程序员:从入门到优秀全攻略

大话程序员:从入门到优秀全攻略

书籍作者:安晓辉 ISBN:9787302526049
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3059
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书分为选择、修炼、面试和职场基本功四部分。

第一部分有3章,分别是软件开发工程师一览,你适合做软件开发吗,选择适合你的方向。从职业规划和发展的角度,提供了一些工具、方法和模型,帮助我们解答是否要从事软件开发、干什么岗位、在什么样的行业和公司工作等问题。

第二部分有2章。开发者的职场成长路径一章介绍了开发者的未来发展方向,让大家对自己的职场发展路径有所认识;技术成长指北一章提供了一种技术修炼的模板方法论,每个人都可以将其用到自己身上,变成自己的技术修炼道路。

第三部分,讲述了如何打好面试这场硬仗,分澄清、准备、面试、复盘四个阶段,系统介绍了如何准备一次求职面试,善用之,能够大幅提高面试的成功率。

第四部分,我们跳出开发者的技术性工作,精选了日常职场中频繁用到的10种职场基本功,包括结果导向的工作思维,结论先行的汇报策略,沟通中如何区分事实和判断,如何请求帮助,怎样给别人反馈,如何追随上司,怎样超上司的期待,如何坚持计划实现目标,怎样突破成长困境,以及职业规划的3个锦囊。这些思维、方法、意识和工具,能够为技术之路保驾护航,让我们走得更高、更远。


前言
前言
  这本书的“种子”,在我2005年初决定从事软件开发的那一刻就埋下了,经历了十几年岁月的滋养,现在才破土而出。因此,我们要回到最初,从我的职业路线图说起。粗线箭头代表工作的主线剧情,细线箭头代表发展出的支线从上图可以看出,我从2005年到2018年,先后经历了6个主线剧情,完成了5次转型,下面简要回顾一下。
  2005年年初,我决定告别程控交换设备的售后技术支持工作,转型从事软件开发工作。在这个过程中,经历了技术选择、自学、跨行找工作、漫长的面试与被鄙视等跨行进入软件开发领域会必然遇见的问题,最终转型为开发宽带接入产品的软件工程师。
  对职业选择与个人发展相关问题的探索,从这个时期的各种“切肤之痛”开始。
  2008年下半年至2009年年初,从开发者转型为研发部门经理,同时还负责部分软件架构设计和核心模块的编码工作。这样的状态持续了将近6年,一直到2014年9月。
  在这个过程中,从零开始从事智能机顶盒产品开发并且持续6年不断打磨、反复迭代,我的技术能力在软件架构、程序设计、编码实现等方面都发生了跃迁。同时,因长时间使用Qt,在Qt应用开发方面也有了比较深的积淀,出版了《QtonAndroid核心编程》和《QtQuick核心编程》两本技术图书。
  也是在这个时期,我完成了从“自己单干”到“带团队一起干”的转变,从技术角色转向了管理角色,对技术、项目、管理等有了较为全面的经验和思考。
  2014年下半年,接受朋友邀请,加入创业者行列。这算是很多程序员都会做的一道附加题,它让我深刻体会到什么是“无路可退、无人可靠”。
  2015年年底,解散创业团队。
  这时我已经系统地学习了职业规划技术,于是对自己做了深入挖掘和分析,发现自己的成就感还是来源于技术性工作,所以果断选择了回归开发岗位。
  还是在2015年,考虑到我独特的“软件开发+职业规划”背景,可以更好地帮助从事开发的小伙伴规划自己的职业生涯,我开通了微信公众号“程序视界”,分享我对职业的理解。
  2016年年初,很多小伙伴开始在公众号后台问我各种问题,所以决定开通“有问有答”栏目,免费回答“程序视界”关注者的提问,希望能帮到更多的有缘人。
  2017年7月,我对自我支配的渴望强烈到难以再忍受组织束缚的地步,于是主动离队,成为自由职业者。
  经过几次生涯探索和规划,我决定专注于开发者的职场成长领域,将自己定位为程序员的成长顾问,以写作、课程、职业咨询等方式养活自己。
  成为自由职业者后,我有了更多的时间思考IT职场的问题,公众号“程序视界”的“有问有答”栏目经过两年多的运营,回答的问题已经涵盖了技术选择、跳槽策略、职场适应、生涯规划、上下级沟通、怎么转型从事软件开发、如何快速提升自己等各个方面。
  在这些问题中,有两类问题出现了周期性,反反复复、持续不断地被提出来。
  一类是薪水方面的问题,例如,选择什么样的公司会有高薪?如何面试能拿到高薪职位?Java后台服务开发和前端哪个薪水更高更有前途?公司好久没涨薪水了该怎么办?该不该发展副业赚点外快?
  一类是能力提升方面的问题,例如,工作两年多感觉技术很菜该怎么办、想学新东西总是坚持不下来怎么办?要学的技术好多,时间不够用怎么办?公司的技术氛围不好,我成长得太慢要不要跳槽?做开发好痛苦,还要不要坚持下去?
  这些问题以各种形式反复出现,让我意识到,那些刚从事软件开发工作没几年,还没走过初、中级阶段,尚未建立自己的知识体系形成优势的小伙伴们的普遍问题,于是我就萌生了“写一本书系统回答这些问题”的想法。
  经过分析,我发现这些问题通常是由下面几种原因造成的。
  不了解自己的个性和职业倾向,行差踏错进入软件开发领域。
  不懂职场选择的通用逻辑。
  不知道什么样的岗位更适合自己。
  不了解技术修炼的一般性方法和框架。
  不懂怎么系统地为面试做准备。
  不具备必要的职场基本功(软能力)。
  于是,我就面对着这些问题和潜在的原因,不断追问自己,梳理、整合、抽象、重构,慢慢地把自身的职场经历与体验、职业规划技术、超过500小时的开发者职业规划咨询,以及凝结在“有问有答”栏目的近两年的思考融汇在了一起,形成了现在的答案,并以书的形式为大家呈现。
  假如你:想知道自己是否适合从事软件开发工作。想知道如何在诸多软件开发岗位中做选择。想知道怎样才能在技术之路上更有效地“升级打怪”。想知道开发者的职场发展到底有哪些方向。想知道那些可以助力开发者走得更远的职场基本功。
  那么,这本书可以提供一些方法、思维和工具给你,帮助你更好地探索自己,更快地走向你想要的未来。
  安晓辉
  2019年3月
目录
第一部分选择
第1章 软件开发工程师一览
1.1 什么是软件开发工程师/ 2
1.2 程序员小雷的一天/ 3
1.3 软件开发工程师的收入现状/ 6
1.4 软件开发工程师未来十年
还会有这么高的收入吗/ 10
1.4.1 行业趋势/ 11
1.4.2 国家规划/ 12
1.4.3 结论/ 15
1.5 你为什么想成为一名软件开发工程师?/ 15
第2章 你适合做软件开发吗?
2.1 工作的三种维度/ 19
2.2 MBTI 性格测评/ 19
2.2.1 外向(E)—内向(I)/ 20
2.2.2 实感(S)—直觉(N)/ 21
2.2.3 思考(T)—情感(F)/ 22
2.2.4 判断(J)—认知(P)/ 23
2.3 五大职能定位/ 25
2.3.1 专业技术者/ 25
2.3.2 自由职业者/ 25
2.3.3 管理者/ 26
2.3.4 创业者/ 27
2.3.5 投资者/ 27
2.4 HBDI 模型/ 28
2.5 程序开发者必备的性格特征/ 34
2.6 优秀开发者的必备能力/ 36
第3章 选择适合你的方向
3.1 通用逻辑:选择大于努力/ 45
3.2 个人倾向大于通用逻辑/ 48
3.3 根据场景对开发者的分类/ 49
3.4 根据应用层次对开发者分类/ 52
3.5 研究型与应用型开发者/ 54
3.6 自顶向下的机会选择模型/ 57
第二部分修炼
第4章 开发者的职场成长路径
4.1 全路径图/ 61
4.2 普通程序员/ 64
4.3 熟练开发者/ 65
4.4 精通技术和业务的高级开发者/ 65
4.5 混日子的“老司机”/ 67
4.6 技术专家/ 68
4.7 架构师/ 70
4.8 技术管理者/ 78
4.8.1管理者必须要外向吗?/ 78
4.8.2管理者没那么轻松/ 79
4.8.3常见的技术管理岗位/ 81
4.8.4技术管理者的职责/ 81
4.9 技术Leader:技术和管理哪个重要/ 83
4.9.1技术咖/ 84
4.9.2管理者/ 84
4.10 开发者的两种修炼/ 84
第5章 技术成长指北
5.1 技术成长三阶段/ 89
5.1.1 初级阶段:专项能力的提升/ 90
5.1.2 中级阶段:技能体系的构建/ 91
5.1.3 融合创新/ 92
5.2 专项能力修炼/ 95
5.2.1 基础层/ 98
5.2.2 进阶层/ 101
5.2.3 改造层/ 103
5.2.4 专项能力和知识体系的关系/ 104
5.3构建知识体系/ 105
5.3.1 定位/ 106
5.3.2 场景辐射/ 108
5.3.3 知识关联/ 111
5.3.4 梳理整合/ 113
5.3.5 知识体系的进化/ 115
5.4 成为技术专家或架构师/ 116
5.4.1 技术和业务/ 117
5.4.2 技术专家和架构师的区别/ 120
5.4.3 成为技术专家/ 121
5.4.4 成为架构师/ 128
第三部分面试
第6章 如何打好面试这场硬仗
6.1 澄清阶段/ 137
6.1.1 明确自己的职业价值观/ 137
6.1.2 盘点自我价值/ 138
6.1.3 筛选公司/ 139
6.1.4 分析职位/ 142
6.1.5 寻找亮点/ 144
6.1.6 设定期望/ 145
6.2 准备阶段/ 147
6.2.1 简历优化/ 147
6.2.2 练习自我介绍/ 150
6.2.3 温习掌握的知识、技能、做过的项目/ 151
6.2.4 储备目标职位需要的知识和技能/ 152
6.2.5 多做笔试题/ 152
6.2.6 准备常见的非技术问题/ 152
6.2.7 备好要向面试官提问的问题/ 155
6.3 面试过程/ 156
6.3.1 外在形象/ 156
6.3.2 心态/ 157
6.3.3 理解题目要点/ 157
6.3.4 结构化表达/ 158
6.3.5 应对不会的问题/ 161
6.4 复盘/ 163
第四部分职场基本功
第7章 开发者的职场基本功
7.1 结果导向/ 166
7.1.1 先有结果,再论过程/ 166
7.1.2 行动前明确目标/ 167
7.1.3 公司结果决定个人的结果/ 169
7.1.4 选择工作机会的通用逻辑/ 170
7.2 结论先行/ 171
7.2.1 先提供对方最关注的信息/ 171
7.2.2 前因后果沟通习惯的背后/ 173
7.2.3 怎样才能做到结论先行 / 177
7.3 区分事实和判断/ 179
7.3.1 不说事实,只作判断/ 179
7.3.2 不带评论的描述事实/ 180
7.3.3 如何做到区分事实和判断/ 181
7.4 如何请求帮助/ 183
7.4.1 为什么没人愿意帮小倩/ 183
7.4.2 找到那个对的人/ 185
7.4.3 说出你的具体请求/ 186
7.4.4 有效表达你的感激/ 189
7.5 通过反馈帮助别人/ 190
7.5.1 表面反馈与深度反馈/ 192
7.5.2 感谢他人/ 193
7.5.3 提出建议,帮助别人提高技能/ 195
7.6 追随上司/ 198
7.6.1 赞成上司的提议/ 198
7.6.2 帮助上司实现目标/ 201
7.7 超越上司的期待/ 204
7.7.1 小周和小齐的在线音乐播放器/ 204
7.7.2 超越期待的螺旋与让人失望的螺旋/ 208
7.7.3 怎样超越上司的期待/ 211
7.7.4 沟通与反馈/ 214
7.8 怎样坚持计划,实现目标/ 215
7.8.1 两步滚动法/ 215
7.8.2 具体化你的目标/ 218
7.8.3 下一步行动/ 220
7.8.4 任务清单法/ 221
7.8.5 持续成长的关键代码/ 226
7.9 引入变量,突破成长困境/ 227
7.9.1 引入变量,4步跳出死循环/ 228
7.9.2 我开发者生涯中引入的一个关键变量/ 230
7.9.3 13个方法帮你发现变量/ 232
7.9.4 选择变量的原则/ 240
7.10 程序员职业规划的3个锦囊/ 241
7.10.1 程序员职业发展的四个阶段/ 242
7.10.2 公司内的下一个职级/ 243
7.10.3 榜样/ 244
7.10.4 职业规划图/ 245
附录
A.1 程序员必去的技术社区与网站/ 248
A.1.1 专业技术社区/ 248
A.1.2 资讯/ 250
A.1.3 工具/ 251
A.1.4 在线教育平台/ 251
A.1.5 招聘/ 253
A.2 本书提到的46本书/ 254
产品特色