《程序员跳槽全攻略》读书笔记

写在前面的话

  我是一个状态型选手,就像海潮,随着地月相对位置的变换涨潮退潮,我总是一段时间蹬蹬蹬像一个恐怖的工作狂,然后又进入一段时间的萎靡不振每天吃喝玩睡,吃喝玩睡够了以后(可能是够了,也可能是忧患意识起来了)又开始蹬蹬蹬蹬马不停蹄。
  但是每一次的成魔都有立刻要完成的事,这次似乎没有太明确的目标。没有目标就是这一次疯魔的针对对象,作为一个没有太多社会经验工程经历仍在学校里摸鱼玩耍的我,该怎么应对研究生毕业以后的工作生活?我的研究生阶段才刚刚开始,我还有足够的时间为自己积累竞争优势,但是首要的是要明确一个较为具体的方向。说来惭愧,本科开始学信息安全,硕士继续在网安学院,但是我的安全知识并不多,不会挖洞不会逆向,反而着眼DL。
  说实话,其实我以后不想做安全相关的工作,我希望具有安全知识能作为我在同样的技术人员中的一个优势,但不应成为我的日常工作。当然,站着说话不腰疼,如果最后遇到了安全相关的职位难道我会不去吗?我会去的!(一秒真香)
  说多了,为了应对未知的焦虑,我开始规划自己。我开始学习个人理财(一辈子的码农是需要用爱发电的,而我喜欢养狗遛狗喝茶睡午觉),规划了爬虫到数据工程的一系列学习路线,开始学习DL课程,by the way,现在恰逢期末哦。
  所以我有时候也挺佩服我自己的,真的很能折腾,很会挑时间。但是我尚存有一咪咪的理智!先看一下这个短篇的立身高处的程序员职业规划吧!简单记录一些笔记,供日后的自己回顾逝去的时光。
  书是在亚马逊买的电子书,0.99,四舍五入就是一块钱吧,感兴趣的也可以买来看看,现在一块钱都买不到一瓶怡宝了好吧?

读书笔记正式开始

  换工作不是一场说走就走的旅行,而是一个深思熟虑的结果,是一项复杂的系统工程。作者建议每次换工作花一到三个月(业余时间)来准备,不要嫌麻烦,只要试一次就会觉得这是值得的。
  全书分为三个部分:第一部分介绍原理,第二部分介绍准备工作,第三部分介绍具体操作。

原理

  程序员是一种逻辑动物,只有当他们理解求职到底是一种什么行为以后,才能做出有意义的行动。

价值论

  把人才作为一类商品来看待。

使用价值

  使用价值直白地说就是人才如何直接或间接地为公司挣钱。所以要关注的是公司眼里我具有怎样的价值,而不是我到底都会什么。(所谓对口)

供需

  供需是可以调整的,技巧在于选择更好的细分市场。因为需求的多样性是存在的,所以如果你能在一个大的需求中切入一个需大于求的细分市场,那么你就能得到远高于其他人的回报。
  比如普通运维和云计算运维的薪资差异是非常大的。一个普通的运维要变成云计算运维需要补充的知识却并不是特别多。所以只要合理安排好自己的职业规划,比如以相对较低的薪资到类似新浪云这样的地方工作一到两年,你的能力和交换价值都会大幅度提升。(对于我来说可能就等同于第一份工作很重要吧)

信息透明度

  当人才市场很小的时候,信息是透明的。因为很容易了解到各自的情况。(完蛋,此处的透明可能和我理解的透明——体系结构中的“透明”指屏蔽,即“看不见”。不太一样啊!)
  但当信息量变大后,你就会发现虽然整个市场很大,但只有你接触到的才对你有意义。
  要想拿到足够好的薪资和获得足够多的机会,我们要学会和信息不对称进行抗争。

跳槽不是什么

  跳槽不是为了追求价值最大化:工作是生活的一部分,按工作8小时每天计算,工作占据了人生的三分之一,不能太不开心了;职业的不可逆性,职业的选择每一步都是好几年时光,所以要着眼未来发展。
  跳槽不是找工作:它是换工作,是有成本的。(刚毕业就是“找工作”啦)跳槽之前一定要考虑好自己的付出和收益,权衡好得失,没事别裸辞。
  跳槽不是加薪的砝码:以跳槽作为砝码谈加薪只会让主管对你丧失信任。不管加不加薪,主管都会开始为你的离职作准备(可能是再招一个的意思,所以就算用加薪挽留也最好不要留下)

程序员如何谈薪资

  指的是对现在公司很满意,就是对钱不是很满意:

  1. 首先,讲一讲自己最近在工作上的成长
  2. 然后,从能力提升角度向主管要求一个更大的发展空间和业务挑战
  3. 最后,问问当你的能力达到这个新的水平时,薪资可否同步提升
      这建立了一个谈话的基础,就是薪资应该和能力相匹配,且谈的并不是现在的薪资而是未来,也就是并没有立刻向主管施加提薪压力,同时也体现了自我对能力提升的渴望。坏处是没有办法获得即刻的加(快)薪(乐)。

为什么跳槽

求职的本质

  工作最重要的目的是积累金钱。(“积累”是认真的吗?)
  挣钱的四种模式:帮别人挣钱(打工);为自己挣钱(SOHO);雇别人挣钱(企业主);让钱自己挣钱(投资)。显然第一种的风险系数和门槛都是最低的。

跳槽的意义

  跳槽其实是打工挣钱形态下,我们进行自我调节的方式,通过合理地跳槽,我们可以寻找到市场需求和自我实现的最佳匹配,从而在金钱和成长上双丰收。
  “市场需求”描述了企业渴求的员工,“自我实现”描述了你想要的生活;当它们重合到一起,梦想就照进了现实。这会带给你几年非常愉快的工作生活,但随着我们不断成长,职位和能力可能出现不匹配,这时候我们又需要通过跳槽来再次调节。

跳槽的原则

  永远不要因为“现在很差”而跳槽,要因为“未来更好”而跳槽。只有这样才能保证你一直往上走。

跳槽的节奏和路线图

  时间并不是用来衡量是否应该跳槽的指标,能力才是。假设我们的目标是CTO,我们从CTO往下一层层画出节点:应届生–>初级程序员–>小组主管–>部门经理–>总监–>CTO。
  然后我们会给每一个节点设置一个达标能力和一个参考时间。当我们的能力已经开始胜任下一个节点的工作时,我们就会开始寻找相关机会,最理想的是在当前公司进入下一节点。(如果由于人为因素不太可能,则考虑跳槽)
  有些时候,我们也会根据具体情况对职业线做出调整,比如当你小组主管做得很出色,但部门经理这个节点却很难达到时,我们可以这么走:应届生–>初级程序员–>小组主管–>初创公司CTO–>B轮公司CTO–>上市公司CTO。
  但不管再怎么调整,我们自己头脑里面要有清晰的目标。我们总是先在风险最小的路径(比如当前公司)寻求成长,不成功时再考虑其他的路径。

准备

自我认识和自我实现

  你该去什么样的公司,做什么样的事情、拿多少钱,都取决于一个问题:你想成为什么样的人。工作只是人生的一部分,是用来支撑你人生价值的核心框架之一。在你自己没有想明白的时候,没有人能帮你。
  没有人生目标的同学,在此有两个建议:

  • 第一给自己定义一年期的目标。我曾经花了很长时间去思考人生的意义,但最后却发现意义都是我们赋予它的。人生有时候就像一个没有终点的旅程,有人的意义是行程的边界,有人的意义是沿途的美景,有人的意义是同行的伴侣。当你定下一个目标,人生就变得有了意义。
  • 第二,如果你暂时没有发现人生的意义,那就多攒点钱,因为等你有一天发现它的时候,一定用得上。

程序员职业的四大象限

  《穷爸爸富爸爸》从现金流将人类分到了四个象限。
在这里插入图片描述
  这四个象限分别描述了不同的挣钱方式,这里我们从程序员的角度来进行解读。

E象限(帮别人挣钱)

  E象限是雇员象限,一般来讲,我们刚工作时都在这个象限里面。这里是风险最小的地方。
  程序员的世界是靠实力说话的,所以如果你刚开始工作,那么你刚刚进入成长期,不顾一切地学好用好各种技术就行,不要想太多。当你工作了两到三年,成长成为资深程序员后,你才开始有资本选择路线。
  E象限有两种典型的发展路线,专家线和管理线。专家线主要和机器打交道,而管理线主要和人打交道。专家线分析机器和程序,优化性能和数据;而管理线控制资源和进度,随时要和下属谈心、向上级汇报。
  在E象限,有一批幸运儿通过公司的期权和股票获得了足够多的财富,比如阿里核心员工们。但公司上市这种情况并不太多见,所以更多的人主要还是靠月薪在获取收入。

S象限(为自己挣钱)

  E象限的薪资通常是有天花板的,很多公司总监的月薪也就3W到5W,扣掉税和每月花销,其实攒不了太多钱。如果公司一直不上市,那么回报就不会太高。于是有一部分人就选择了S象限,为自己打工,这个路线我叫它小老板线。

B象限(让雇员挣钱)

  B象限是创业象限,玩法和S象限很不一样,它是以规模化为前提的。投资、上市和出售是这个象限的关键词。
  A轮以前的公司,主要在寻找商业模式,会频繁地变更需求,对开发速度要求更高,这时候CTO只要能敏捷开发产品就OK;A轮以后的公司,着力于规模化,会有大量的推广,可能在某些时间点遭遇高并发,同时技术人员、设备会迅速增加,这时候CTO需要考虑业务的高可用,还要能处理好团队、资源的管理工作。这时候CTO需要迅速地跟上公司的发展速度,否则投资方会建议从大公司挖一个,平心而论,这也是没有办法的事情。

I象限(让钱挣钱)

  钱多了以后,让钱保值增值却是你的新课题。于是很多人开始做天使投资,其实技术人做投资存在一定优势,因为可以很好地规避掉产品的技术风险。正因为如此,很多投资机构也很喜欢有技术创业背景的同学,所以投资行业的程序员也开始多了起来。

职业路线图

在这里插入图片描述

市场需求的分析

  假设大学毕业以后,你已经在一家建站公司工作了两年,已经熟悉了门户、论坛、商城等常见网站的开发,接下来你希望能使自己编写的代码更规范、更优雅、能承受更多压力,所以你希望下一家公司有较大的业务量、成熟的技术体系和NB的技术团队。

定量分析

  做市场调研,把符合你标准的公司一个个列出来,没在你所在的城市也没有关系。去他们的官方网站,从你想要的招聘启事复制下来,放到数据库里边。样本量稍微大点,至少50份以上吧,然后分词,按词频降序列出来。很快你就可以了解到这些公司对这个职位的要求是什么。

定性分析

  定性分析比较简单,找一下你想要去的公司的工程师,吃个饭聊聊天就能知道基本情况了。

  在做以上分析的时候一定要记住一件事情,你不是要做一份行业调查报告,你只需要着重了解你关心的情况就可以了。

根据需求调整自己的定位

  当你了解了市场的需求后,就要开始和自己的能力进行匹配,看看哪些地方是你的强项,这些在写简历的时候要重点突出;哪些是自己的弱项,争取在准备期强化它,把自己提升到一个新的层次。两个建议:

  • 学会观察技术趋势
  • 投资新兴市场和细分市场
    站在风口不一定能飞起来,但站在冰山上必然会沉下去

如何构架价值

我是谁,我有什么资源
  • 我的竞争优势:除了写上你已经有的优势外,还可以写上你可以有的优势。然后我们可以在准备期把这些暂时还没有的优势变成现实。这就是为什么我们建议大家提前1~3割月来准备下一次的跳槽。
  • 谁可以帮助我:可以帮助你构建价值的人。我们把内部推荐放到这个地方的原因是,推荐你的人会为你做背书,从而证明你的高价值。推荐你的人是否认识和了解你,是否愿意赌上自己的名声为你做背书,这很重要。

如何传递价值

雇主需要什么样的人
怎样让雇主知道你
怎样宣传和证明自己

预估收益

  我需要为这次求职付出哪些成本,比如放弃原来公司的期权;学习哪些东西,比如在一个月内学会Swift。如果我成功入职这家公司,我会有哪些收益。如果我求职未成功,哪些投入可以在对其他公司的求职上重用,哪些不能,我是否承受得起。
  在求职过程中,你还可以随时对画布进行更新,来判断要不要接受某家公司的offer。

构建个人品牌

公司品牌不是个人品牌

  在大公司工作的同学经常有一种错觉,就是把公司的能量当作自己的能力,很多时候,你能把事情做好,别人愿意和你合作,不是因为你个人,而是因为你供职的这家公司。

程序员如何做个人品牌

  对于技术人员,下面这个列表是我建议你要有的:

  • Github
  • 技术博客
  • 微博
  • 技术社区账号
      勿以善小而不为,勿以技小而不分享。平时遇到的大小问题可以零星记录到微博上,相对大块的东西,可以写成文章放到博客,通过微信推送给订阅的朋友;称系统的东西,可以在文章基础上整理成迷你书。

学会沟通和写作

条理性
逻辑性

走完分享的最后一公里

  我们走过了程序开发的这千里长征,我们一定要坚持走完分享这最后一公里。为自己的项目写概要说明文档,为新手用户写Quick start,将项目提交到各个技术咨询站,为感兴趣的同学提供讨论和交流的场所。
  充分的交流不但会让你的影响力扩大,更会聚集各种有意义的想法,往往让你喜出望外,获得新的启示。

提升架构能力

  架构能力和写作能力一样,不是能一蹴而就的东西。在我看来,软件本质上是一种能力,是封装好的、可高速、廉价、重复执行的能力。

DRY

  DRY是Don’t Repeat Yourself的缩写,翻译过来就是“不做重复的事”。
  这正式一个逼近软件本质的原则,它指导我们把经常使用的功能抽象成库,把重复出现的代码重构为可重用的框架模块。如果你用DRY来要求自己,很快你就会发现自己抽象和架构能力的飙升。

半自动化

  我们活在现实世界,所以我们不可能把所有的事情都给自动化了。但我们不能放弃,不要二元思维,除了手动和自动,我们还可以半自动化——让机器做完所有繁杂的常规操作,人类来处理需要智慧的那一点点工作就好,这也能极大的提升工作效率。

正交性

  正交性的意思是,功能和功能之间应该尽可能不互相干扰。只有这样,我们才能有效地控制每个部分的行为。所以功能之间的依赖尽可能少,如果有,规则一定要明确,不要试图去做一些自作聪明的事。
  API其实也是强化正交性的利器,它通过接口规范确定了互不影响的功能,又通过接口协议隐藏了后端实现,去除了对实现技术的依赖性。


操作篇此处省略(对具体内容感兴趣的话还是推荐自己去看一看的,文章不长,很快就能看完)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值