[读书笔记]《程序员的成长课》

图书信息

豆瓣读书:

https://book.douban.com/subject/27591389/

参考书评:

https://book.douban.com/review/9268010/

基本信息:

本书主要讲的是一名刚入行的菜鸟程序员如何成长为顶尖程序员/技术管理人员的历程。从技术上的选择,提高,专职管理,跳槽和求职转型多方面进行了介绍。

备注:

借阅于北大图书馆,2019年6月10日



图书内容


技术方向的选择

在这一节中,提出了技术发展的三个阶段以及影响技术选择的普遍要素是什么。接着分别写在这三个阶段的时候主要有哪些重点因素影响技术选择

技术三模型(开发者经历的三个阶段):

1、提升专项能力,迅速可以完成一些需求。

2、技术体系的构建,掌握了一套相对完整的技能网络

3、融合创新,能更好的整合资源,选择最合适的方式来解决问题

影响技术方向选择的要素:

1、就业机会 2、难易程度 3、个人兴趣 4、薪酬待遇 5、技术前景(稳定而经典的/利用风口卡位(市场需求/技术革命))

6、接触的人都在做什么 7、已有知识图谱的相似性 8、技术互补性 9、团队要求

入行时的技术方向选择:

1、城市,领域,公司,产品

2、技术需求旺盛还是较冷,普遍薪酬待遇如何

3、快速尝试一种技术,查看自己的兴趣(P11,有一些自学用资源)

构建技能树时选择技能方向:

1、相似性/迁移性

2、互补性

技术转型时的方向选择:

1、原有技术上做关联性转型

2、抛弃原来技术

3、风口卡位

方案选型:

1、适合于解决某类问题的技术

2、新技术的成熟程度,市场认可度

3、生态环境

4、团队技术掌握情况

6、引入学习新技术的成本(时间,人力,机会)

参考工具:(用来看当前市场的热度)

1、stackoverflow

2、Tiobe语言排行

3、技术热门度曲线

4、Gtihub

5、招聘网站热度与薪酬报告(100offer)


技术上的提高

在这一部分先明确自己要做什么方向上的技术提高,然后提出了自己在心态上的准备(自我激励,学习心态)。接着提出了找到目标的方法以及如何比较合理的实现这些目标。最后提出了技术以外的核心竞争力。

做开发还是做管理:

1、工作上的三种维度:人际工作,数据和信息处理工作,事务操作

2、成就感来源:自己到底在做什么的时候可以获得成就感,回顾自己获得成就感的情况(做开发,解决事情。协调关系并不会)

3、预估自己未来的样子,看看身边是否有类似的模板。

寻找激励自己的动力:

1、明确我做一件事情的原因和目标:成就感,薪酬,价值观认可等等

2、面对倦怠期:对自己的工作进行改变/重新赋予其不同的意义

总之就是一定要明确意义,探索意义

学习型心态:

1、主动学习,去积极的改变自己,明确自己身上的改变,不要想着说我自己吃老本

2、学习也是一种工作,而工作也是学习的过程

技术精进:

在这里我们可以使用原本应用于企业管理的对标管理法,我们首先评估自己的现状,然后找到一个合适的目标。根据目标和我们之间的差距,罗列出一个可行的计划去不断迫近,从而提升了自我。常用的寻找标杆(即目标)如下:

1、寻找身边的优秀者和闪光点

2、寻找普遍的发展规律,定位自己在其中的位置以及期望达到的位置

3、技术本身的应用层次

4、把自己做的每一个作品进行提升和打磨

可以参考的提高策略和方法:

重构过去的代码,同一需求使用不同的方式实现;了解前沿技术,参加开源项目,阅读源代码;阅读相关的设计,需求文档;输出内容,写博客,给别人讲课等等

目标的制定与执行:

1、目标是否适合自己:是否有清晰的主次内容,具有可行性;与自己的职业发展规划是否相辅相成,有所关联

2、如何完成目标SMART:specific 具体的; measurable 可衡量的;attainable 可实现的;relevant 相关性的;timebound 有明确的deadline

3、下一步行动:动词开头;内容清晰具体;有时间上的限制。

4个良好的习惯:

1、对标管理

2、提问:我昨天做了什么;我遇到了发么问题;我今天要做什么

3、刻意练习(设定目标,尽快去做,获得反馈,迅速修正)

4、复盘:时间周期/项目周期,回顾目标是什么,在这个过程是怎样做到的等等

习惯的养成:

1、寻找内在的驱动力

2、降低改变的难度,不要步子迈得太大

3、让改变的效果可见

4、给自己一些奖励(消除负罪感)

5、可以发生例外

非技术的核心竞争力:

1、个人资源(显性)

2、应用流程(看待问题的方式,解决问题的模式,思维思考层面上的)

3、个人的价值观(什么重要,什么不重要,什么人物事物自己想要或者不想要,想成为什么样的人)


成为技术管理者

这一部分不是我现在的重点,简略看一下。这部分先探索如何判断自己是否适合管理岗位,然后思考管理岗位需要处理什么事情以及需要什么样的能力。最后讨论如何走向技术管理的岗位。

是否要做管理岗位:

是否有这种个人需求,个人价值实现,个人成就感来源

职业职能定位:

1、专业技术者:亲自解决问题

2、自由职业者:自我支配

3、管理者:资源分配

4、创业者:企业所有人

5、投资者:资本持有者

管理岗位的情况:

1、管理者的困难:完成团队目标,处理上下级的关系,发展下级的能力

2、常见的技术岗位:技术经理,项目经理,研发经理,研发总监,VP,CTO...

3、职责:略

4、技术管理的能力:共情;委派任务;统一目标;反馈;辅导;选择性;背锅;复盘与反思

走向管理的方法:

1、技而优则管

2、打杂到管理

3、大公司到小公司

4、获取PMP证书

如何为走向管理做准备:

0、知识储备

1、站在项目管理去看问题

2、主动做一些管理方面的杂物

3、寻找职业榜样


技术管理者面临的挑战

这一部分也不是重点,略看一下就OK

1、角色转变

2、被动管理(被问题驱动而管理)

3、弄不清职责

4、委派任务

5、目标管理

6、资源管理

7、压力管理

8、冲突分歧管理

9、绩效问题

10、担心丢失老本行

11、外界反馈

12、他人评价

13、一对一沟通

14、害怕犯错

15、时间占用

16、激励他人

17、向上管理

18、提升领导和管理能力


跳槽的常见问题

这部分可以先略过。总之就是跳槽的话一定要想想为什么跳槽,出现了什么需求或者目的。然后选择的方向最好是对自己个人成长性强,未来收益高的地方去。


优化简历

这一部分对于我自己比较重要

1、简历优化模型 

2、明确自己想要的工作特征:你想要什么;你不满什么;

3、盘点自我价值:知识;技能(技术,管理,通用);经历;人脉;天赋

4、寻找机会:可能的机会;寻找合适的公司;了解公司信息;确定感兴趣的公司

5、招聘信息分析:找出匹配点

6、简历优化:突出卖点,明确重要的匹配的信息;描述做的事情,操作环境,职责,成绩

7、检验效果


薪酬谈判

这部分我目前不太需要,但是很重要

略读一遍,主要强调了薪水的锚位在于自己的卖点价值与市场行情,这种情况下可以得出一个大体的区间来估计自己的薪酬范围。然后在这个范围上为自己设置好心理价位,进而进行谈判。


转型

转型是我们在一生中不得不面对的问题。在这一部分中,我们先审视一下自己是否还喜欢目前的工作,探讨转型的困难、转型的分类,再了解一下转行的常见方向,提供一个人物模型来辅导寻找方向,最后一个可供实践的框架。

1、是否不再喜欢目前的工作:对工作的感受;对实践的感觉

2、转型难处:路径依赖;薪水落差;缺乏技能;他人期待;对不确定性的抗拒

3、转型的分类

4、开发者相关的转型:

5、如何确认哪个适合自己:找出自己的兴趣,明确自己想做什么,然后发散。


附录

作者在后面列了一个很长的书单,我这个人估计有书单也未必能看,所以就把它拍下来,等以后有机会也许会看看。

 



读书感悟

终于到读书感悟这里了。这本书的精彩内容我觉得还是挺多的,不像是一些书特别的水,东拼西凑;同时也不像是一些文集那样想到哪里写到哪里,整本书是一个顶的逻辑性在里面的。从程序员该怎么样选择技能到选好后如何精进再到面对管理岗位时判断自己是否适合,成为管理岗位后该怎么做都写的很有内容。之后的跳槽,简历,薪酬待遇都很有实用性。

看完这本书我印象最深的几点:

第一是如何选择一个方向,要不然就是选择自己真正喜欢的(成就感来源),要不然就是判定风口卡位置。

第二个是如果希望有所精进的话,最好找到一个可以对标的标杆,然后客观列出自己和标杆之间的差距,有步骤定量的一步一步完成差距,而不是说我放豪言壮语,然后无头苍蝇一样。

第三介绍了技术管理者的问题,作为一个管理者,既要面对下属,还要学会处理上司的关系。光人际管理就已经很累人了,然后对于一个项目而言,如何合理的分配工作,跟踪进度,绩效考评,奖惩措施等等,还有作为领导的心态,压力等等。光是新手管理员的挑战就列出了18种。突然发现其实作为一个管理者比单纯的技术要更累人得多啊...不好做。

第四点是能力的问题,对于一个人来说,他的技术知识是第一层的能力。但是这种能力需要不断不断的迅速更新才能保证它的有用性,本身也充满了局限。但是第二种是方法论,思维模式,行动方式等等这些是可以有更广阔的前景的应用。之前学到的马可斯哲学中提到的方法论可能就属于这一层面,已经上升到了哲学的范畴。第三层是价值观,喜欢什么讨厌什么,原理什么趋谨慎,重视什么忽略什么,这决定了我们人生的方向。就算前两层能力再深刻,如果第三层出现了问题,那可能也是南辕北辙

第五点关于应聘,很多人习惯把简历写的天花乱坠,一顿转水胡吹。我对这种行为不予评价,但是对于本书来说,更重要的是了解买方(招聘方)的需求,在买方需求的基础上适当的修改简历使得自己所展示的那一面和对方的需求更加匹配,从而提高自己的成功率。在我看来,公司招聘的就好比购买了一个人的时间以及在该时间内的劳动成果,应聘人的聪明才智,技能和性格等因素将对买方是否购买产生影响。而与此同时,决定把劳动时间和劳动成果卖到哪一家同样也是求职者的自由和权利,所以同样需要筛选好到底是哪一家值得自己应聘。

最后一点第六点是关于转行等问题,很多时候完全生硬的转型并非很合适,不仅仅是职业上的转型,考研中的跨考,生活方式的选择,生活中可能会遇到各种需要转型的问题,比如我现在是学计算机,如果试图转行到法律的话,那么从事互联网方向的律师难度会比成为一名刑诉律师要容易一些。这就考虑到了关联度的问题了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  C++是在C语言的基础上发展而来的,但C++又可视为是一门全新的语言,C++独有的面向对象特性使其极具生命力,获得了众多软件厂商和开发人员的青睐。 《程序员成长堂:C++标准教程(附光盘)》内容共分4篇11章。其中,第1篇是C++概述篇,主要内容包括:C++的起源和特点、C++源程序的构成、C与C++的比较、C++代码规范、排版风格、命名规范以及代码设计风格等;第2篇是C++基本语言篇,主要内容包括:C++基本数据类型、表达式、运算符、操作符、C++语句以及C++标准模板库等;第3篇是C++面向对象编程篇,主要内容包括:类和对象、继承、多态、运算符重载等;第4篇是C++编程实践篇,通过教学管理系统的开发实例,讲解如何使用C++进行实际开发。 全书配合了大量实例及代码说明,随书光盘中含有视频讲解,非常适合入门读者阅读,以迅速掌握C++开发技术。对于已有相关编程经验的读者,《程序员成长堂:C++标准教程(附光盘)》也可作为学习和开发的参考用书。 第一篇 C++概述 第1章 由C迁移到C++ 2 第2章 C++代码规范 11 第二篇 C++基本语言 第3章 C++数据类型 40 第4章 表达式 96 第5章 C++语句 106 第6章 标准模板库STL 130 第三篇 C++面向对象编程 第7章 类 148 第8章 类的初始化、赋值和析构 169 第9章 模板 190 第10章 面向对象程序设计 213 第四篇 C++编程实践 第11章 教学管理系统的C++实现 260 附录A Visual C++菜单中文注释 299 附录B Visual C++操作技巧小代码 302

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值