程序员跳槽全攻略》读书笔记
原理篇
价值论
你的价值,和你技术牛不牛无关,只和你能为你的雇主提供多少价值有关。这是最根本的规则。增加自己的使用价值很简单,提升自己的业务能力就好。
供需
虽然交换价值以使用价值为基础,但它更容易受供需的影响。
供需也是可以调整的,技巧就在于选择更好的细分市场。因为需求的多样性时存在的,所以如果你能在一个大的需求中切入一个需大于求的细分市场,那么你就能得到远高于其他人的回报。比如一个普通运维要变成云计算运维,需要补充的知识并不是特别多,所以你只要合理安排好自己的职业规划,比如以相对较低的薪资到类似新浪云这样的地方工作一到两年,你的能力和交换价值都会大幅度提升。
信息透明度
当人才市场很小的时候,信息是很透明的。因为很容易了解到各自的情况。但当信息量变大后,你就会发现虽然整个市场很大,但只有你接触到的才对你有意义。所以要想拿到足够好的薪资和获得足够多的机会,我们要学会和信息对称进行抗争。一定要在短时间内获取到大量的机会,这样才能“做选择题”而不是“做判断题”。
跳槽不是什么
跳槽不是为了投资)追求价值最大化
不推荐求职者单纯地通过薪资的高低来进行选择雇主,原因有两个:
- 工作是生活的一部分
-
职业不可逆性
别的事情错了我们可以重来,而职业选择上,每一步都是好几年的时光。一旦走下去,就很难回头,因为一旦换职业方向,哪怕换个开发语言,都意味着你之前的积累很可能前功尽弃。所以眼光放长远点,不要只看眼前的高薪,更要看好未来的发展,方向错了,跑得越猛输得越狠。
跳槽不是找工作
跳槽不是找工作,而是换工作,她是由成本的,需要放弃原来公司的期权,需要重新熟悉业务,重新和同事搞好人际关系。跳槽要考虑好自己的付出和收益,衡量好得失,没事别裸辞。
跳槽不是加薪的砝码
不要以跳槽为砝码去谈加薪,这种迫胁性的谈薪资方式会使主管对你丧失信任。类似的,当你提跳槽时,如果你的主管通过加薪来挽留你,最好也不要同意。
程序员如何谈薪资
如果你对现在公司很满意,只是觉得薪资太低,那么可以先和你的主管聊聊:
- 首先,讲一讲自己最近在工作上的成长,看主管是否认同;
- 然后,从能力提升角度,向主管要一个更大的发展空间和更大的业务挑战;
- 最后,问问当你的能力达到整个新的水平时,薪资是否可以同步提升起来。
跳槽到底为什么
求职的本质
工作最重要的目的是积累金钱。挣钱这个事情,至少有四种形式:帮别人挣钱(打工);为自己挣钱( SOHO);雇比人挣钱(企业主);让钱自己挣钱(投资)。第一种门槛和风险最低。而求职只是我们在自己资源和能力不足以进入后几种挣钱形式时,通过出卖自己的劳动能力换取资源的阶段性行为。
跳槽的意义
跳槽其实是打工这种挣钱形态下,我们进行自我调节的方式,通过合理地跳槽,我们可以寻找到市场需求和自我实现的最佳匹配,从而在金钱和成长上双丰收。“市场需求“描述了企业渴求的员工,”自我实现“描述了你想要的生活;当它们重合到一起,梦想就照进了现实。
跳槽的原则
永远不要因为”现在很差“而跳槽,要因为”未来更好“而跳槽。只有这样才能保证你一直往上走。
跳槽的节奏和路线图
比如最终目标是CTO,那么它的路线图可能是:应届生----->初级程序员----->小组主管----->部门经理----->总监----->CTO。然后我们会给每一个节点设置一个达标能力和一个参考时间。当我们的能力已经开始可以胜任下一个节点的工作时,我们就会开始寻找相关机会,最理想的是在当前公司进入下一个节点,如果当前公司提供不了的话,那么就要通过换公司来前进。当然路线图是可以调整的,比如应届生----->初级程序员----->小组主管----->初创公司CTO----->B轮公司CTO----->上市公司CTO。但不管怎么调整,自己头脑里边要有清晰的目标。我们总是先在风险最小的路径(比如当前公司)寻求成长不成功时再考虑其他的路径。
准备篇
自我认识和自我实现
你该去什么样的公司、做什么样的事情、拿多少钱,都取决于一个问题:你想成为什么样的人。工作只是人生的一部分,是用来支撑你人生价值的核心框架之一,在你自己没有想明白的时候,没有人能帮你。
对于没有人生目标的同学,我有两个建议:
第一,给自己定义一年期的目标。人生的意义都是我们赋予它的。
第二,如果你暂时没有发现人生的意义,那么就多挣点钱,因为等你有一天发现它的时候,一定用得上。
程序员职业的四大象限
雇员象限
SOHO象限
创业象限
投资象限
职业路线图
市场需求分析
在认识了自我,想清楚了自己未来要走的大致路线后,就可以根据你自己已经掌握的技术,定出你下一步想要到达的节点。接下来我们就要开始做市场调研了,把符合你标准的公司一个个列出来,去他们的官方网站,从你想要应聘的招聘启事复制下来放到数据库里,样本量稍微大点,至少50份以上吧,然后分词,按词频降序列出来,很快你就可以了解到这些公司对这个职位的要求是什么。如果想知道某个公司的情况,可以找那个公司的工程师吃个饭聊一聊,或者让在那个公司的朋友介绍下,或者在微博上搜一下。
根据需求调整自己的定位
当你了解了市场的需求后,就要开始和自己的能力进行匹配,看看哪些地方是你的强项,这些在写简历的时候要重点突出;哪些时自己的弱项,争取在准备期强化它,把自己提升到一个新的层次。
学会观察技术潮流
如果你要知道什么语言流行,就去看看技术Guru们都在用什么。
从根源上讲,一个技术是否流行,和人们使用技术的方式密切相关。
投资新兴市场和细分市场
新兴市场
新兴市场对程序员来说,就是一种新的语言、一个新的平台、一套新的框架。新兴市场因为刚刚兴起,所以几乎所有人都在同一个起跑线,特别适合后进者。
细分市场
如果你只能进入一个成熟市场,那么记得给自己确立一个细分的定位。
JobDeer职业画布
如何构架价值
我是谁,我有什么资源
这部分是对自己能力和资历的一个梳理。
我的竞争优势
这部分是基于自己的能力和资历,我们认为自己比的求职者更有优势的地方。注意除了写上你已经有的优势外,还可以写上你可以有的优势。然后我们可以在准备期把这些暂时还没有的优势变成现实。这就是为什么我们建议大家提前1~3个月来准备下一次的跳槽。
谁可以帮助我
这部分是指可以帮助你构建价值的人。
如何传递价值
雇主需要什么样的人
这部分其实属于价值主张部分的,它详细描述了雇主的需求。
怎样让雇主知道你
将在“求职渠道”中详细介绍。
怎样宣传和证明自己
将在“个人品牌”中详细介绍。
预估收益
完成了上边的规划以后,我们就要开始来计算收益了:按照上边的规划,我需要为这次求职付出哪些成本,;学习哪些东西。如果我成功入职这家公司,我会有哪些收益。如果我求职未成功,哪些投入可以在对其他公司的求职上重用,哪些不能,我是否承受得起。在思考完这些以后,我们就可以得出一个详细的求职规划。
构建个人品牌
公司品牌不是个人品牌
一身相随的个人品牌
个人品牌是你可以带有的东西,可以从上一家公司带到下一家公司,可以陪你一辈子。
程序员如何做个人品牌
对于技术人员,下边这个列表是应该要有的:
- Github账号
- 技术博客,可以直接放到Github上
- 微博,最好能加V,用于业内交流
- 技术社区账号,比如stackoverflow
有了这些账号还不行,还得有持续更新的优质内容。
所以勿以善小而不为,勿以技小而不分享。平时遇到的大小问题可以零星记录到微薄上;相对大块的东西,可以写成文章放到博客,可以通过微信推送给订阅的朋友;成系统的东西,可以在文章基础上整理成迷你书。
学会沟通和写作
只要有条理性和逻辑性即可。
走完分享的最后一公里
如果我们只是将代码直接push到Github上,其实是达不到分享的目的的。应该为自己的项目写概要说明文档,为新手用户写Quick Start,将项目提交到各个技术资讯站,为感兴趣的同学提供讨论和交流的场所。充分的交流不但会让你的影响力扩大,更会聚集各种有意思的想法,往往让你喜出望外,获得新的启示。
渠道
下边是一些常见的渠道:
- 首先可以发布到自己的技术博客
- 然后同步到微博(可以用ifttt)
- 如果方向不错,可以再通过微信公众号推送给订阅读者
- 提交到Startup news和CSDN极客头条
针对文章受欢迎程度,我们还可以进行二次加工:
- 根据文章内容制作PPT,通过Slideshare和微盘分享
- 定期精选系列文章,更新到最新后整理成PDF,通过微盘分享
- 对于特别受欢迎的教程类文章,可以做screen-cast,通过在线教育网站(比如优才网、慕课网等)进行传播
如果时开源项目,当然就是Github了。
开始你的开源项目
开源项目在技术求职中是大规模杀伤性武器。
通过开源项目转型
如果想要转型,做一个开源项目是非常有帮助的。
开源项目不是遥不可及的
开始一个开源项目其实很简单,找一些在做项目时遇到的费事费时的小细节做好,然后开源就可以了。比起技术能力,更多的时来自于真实的需求以及持续更新的毅力,这就是做好开源项目的秘诀。
提升架构能力
两个方法:DRY(Don't Repeat Yourself)和正交性
操作篇
简历的本质
简历的存在只有一个目的,就是帮你约到面试。只要达到这个目的,简历可以是一段视频,一个开源项目,一张照片,甚至是一行字,比如:I wrote python。当然,绝大部分简历的形式,就是我们所熟知的,是一篇文章。
简历要说什么
不光要说明事实,更要通过FAB法则来增强其说服力。
Feature:是什么
Advantage:比别人好在哪些地方
Benefit:如果雇佣你,招聘方会得到什么好处
提供论据,把论点留给阅读简历的人自己去得出。论据要具体,最基本的是要数字化,再好点的论据要让人印象深刻。每天PV8个亿,这是数字化;访问量超越Google App Engine,这是让人印象深刻。
具体、量化、有说服力,是技术简历特别需要注意的地方。
工具和模板
用markdown写,并转换成PDF格式。
要一直维护一份Markdown简历,不要等到找工作的时候才去更新简历,每到一个里程碑,都应该更新简历,这样可以帮助你回顾你最近的经历对你职业规划的影响,提醒你多去做值得写入自己履历的事情。
求职邮件
求职邮件只需要简单地写上在什么地方看到招聘启事,应聘什么职位即可。最好在正文写上完整的文本简历,然后在附件i类附上PDF版本。这样招聘方更容易找到你。
邮箱
不要使用QQ邮箱,建议使用Gmail或者自己的域名邮箱。
文件名
作为附件的PDF不要起名为“个人简历.pdf”,而应该是“XXX简历.PHP开发工程师.pdf”,这样当HR分拣简历文件时能第一时间看到你。
求职渠道
- 人脉:最优途径
- 竞拍:遍历潜在机会
- 猎头:求职中的隐私保护
-
直投:绕过HR
通过微博等,搜索技术主管,然后直接投递。
直投类招聘网站:快简历。 -
常规渠道
第一首选企业本身的官网,然后是技术社区的招聘版,最后时招聘网站。下边是用得比较多的一些网站:
技术社区的招聘版
V2ex http://v2ex.com/go/jobs
ChinaUnix http://bbs.chinaunix.net/forum-32-1/html
OSchina http://www.oschina.net/job
行业招聘网站
内推网 http://neitui.com
拉勾网 http://lagou.com
面试准备
知识补全计划
遍历简历知识点
面试时,很多问题都由简历引申出来,所以首先将你自己简历中提到的所有知识点进行复习,思考可能遇到的问题。面试是对知识的一种测试,而我们日常工作是对知识的消费和积累,它们的侧重点不同。所以不要以为你天天在用的东西就不需要去复习了,要记得在概念和常识层面去复习它。
常见面试问题
一个小技巧,在和面试官沟通时,如果提到对方公司,尽量用咱们,少用你们。这样可以提升亲切感,在讨论比较尖锐的问题时,更像是内部的探讨,而不是外部的指责。
为什么要离职
不要说上一家的坏话,而要说现在这家公司的好话。
遇到过的最大的挑战以及解决的办法
这是试图了解候选人在压力情况下的表现,你可以挑一个最具有代表性的情景来回答,突出自己面临压力时,如何冷静地分析问题和解决问题的。不一定非要将难度最大的,你可以说“以前的挑战太多,记不太清了,将一个最近发生的事情吧”,从而将问题降级。
你希望三年后,成为一个什么样的人?
这是对你职业规划的考察,看是否和招聘方能给你的空间匹配。在回答中应该强调成长和稳定性。
你还有什么要问我们的?
反向提问一般会在面试结束时出现,可以相对随意地问一些你关心的问题,但最好问一个带有“兴趣指标”的问题。不要对产品细节挑刺,等入职以后再挑。
知己知彼
最好能搜到面试人的微博或者博客,阅读一下。
准时和礼节
一定要准时,如果已有offer,要群发邮件或短信告诉原来承诺参加面试的公司,已经有offer了。
离职
离职访谈时,要将因为新的机遇比较好,所以才离职;原来公司同事都很好,有些舍不得,所以现在才走;给公司的建议挑两个无关痛痒的提就好 了,没必要当真。记得开离职证明。