花了一周多的时间阅读完了《程序员成长课》,以下是我们在阅读《程序员成长课》记录下来的笔记,有时候发现一个人学习比较枯燥,但幸运的是,我有一帮朋友和我一起学习,一起成长。
最后欢迎大家加入知识星球“大前端交流”,我在星球内开展了读书打卡、健身打卡活动,加入我们一起见证属于我们的成长之旅。
我们在一个专业领域内的成长,基本上都会经历三个阶段:
1、初级阶段:专项能力的提升
必须先具备某些基础能力,比如从事软件开发工作,要学会某种语言、某个IDE、某种技术框架。
让自己能够迅速搞定一些别人安排给你的事情,体现出你的价值。
2、中级阶段:技能体系的构建
拥有一组技能,围绕某个方向构建了自己的知识图谱,能够用自己的方式来解决问题。
3、融合创新
具有丰富的实践经验,具备了T型知识结构,形成了自己的思维框架和解决问题的框架,能够融合不同领域的知识,组合各种资源,创造性地解决各种问题。
❝进入这个阶段非常重要的一种标志就是,你遇到问题,不再从下而上去思考(即从技术实现细节来考虑问题好不好实现、拿技术去裁剪问题或重定义问题),而是从实现细节跳脱出来,站到更高的层面,自顶向下去思考、去分析,先运用框架、逻辑去分析真正的问题是什么、问题的目的、问题的现状、如何去解决。搞明白这些之后,你才会沉降到技术层面去考虑实现的选择,而且实现时,你也不会拘泥于某种技术,而是什么技术合适就用什么技术。
❞
1、就业机会
考虑的是哪种技术更容易就业,需要结合特定地区、特定行业来看,因为你找工作是面向地区和行业的。
这中间又有两种典型的策略,热门的和冷门的。
热门和冷门是相对的,根据开发者多少、市场需求而定。
2、自我感觉的难易程度
难易程度与人相关,所以最好的方法,就是把你感兴趣的语言,都学学试试,可能每种语言花上一到两个星期,你就可以做出判断。
3、兴趣
很多人做开发可能是出于某种兴趣。
4、薪水高低
大多数人选择技术的出发点是工作和未来发展前景,而选择工作时一定会把薪水作为参考因素,而且是非常重要的因素。所以我们在选择技术时,也可以考虑某种技术对应职位的薪水高低。
5、技术在将来的发展前景
选择技术时存在两种考虑:一种是选择稳定的、经典的技术,一种是卡位将来的市场缺口,选择将来可能需要用到的技术。
回顾历史,经典技术都是从新技术发展来的,展望未来,一定也有一些现在的新技术会发展成将来的经典技术。如果你能抓住它,就可以享受它带来的技术红利。
要抓住可能成为经典技术或热门技术的新技术,就要应用卡位策略。
卡位策略是指看到某种技术会在未来具有稀缺性,非常有价值,选择提前介入,让自己在未来具备竞争优势。
运用卡位策略时,有两种方式。
一种卡位方式是根据市场需求和未来预期。
还有一种卡位方式,是根据技术本身的发展程度。
6、你接触的人的推荐
我们是否选择某种技术,和我们看到的可能性有非常大的关系。只有看到它,它才会进入你的选择范围,如果你看不到它,它再牛,对你也没意义。
7、相近性
当我们已经掌握了一些技术,要学习新技术时,就可以根据一种技术是否和自己已经掌握的技术比较接近来选择。相近的技术,学起来会更容易上手。
8、互补性
和相近性类似,互补性也常用在拓展我们技术能力的情景下。它指的是,有一些技术可以和你已经掌握的技术互相补充,组合在一起,形成更完整、更系统的技术图谱,给你带来更大的竞争力。
9、团队的技术图谱
我们所在开发团队的技术图谱,也可能会影响我们的选择。
为了明确自己的求职目标,可以问问自己下面的问题:
当你能够勾画出工作目标的大概轮廓时,对应的技术方向就会浮现出来。
当你可能在想做开发时并没有明确的职业目标,此时你考虑的是这些因素:
当我们过了专项能力提升的初级阶段之后,就应该开始构建自己的技能体系了。在为搭建技能树而选择技术时,通常考虑下面两个原则:
1、相近原则
相近原则指和你当前所用语言、技术框架比较接近的其他语言和框架。
2、互补原则
互补原则指那些组合在一起完成特定任务的技术。
做了几年开发工作之后,你很可能会面临技术转型。通常有两种情况:
有经验的开发者做技术转型时,通常有三种情况。
当你构建了自己的知识图谱、能够胜任比较复杂的工作后,在团队中就会越来越重要,就有机会参与到新项目、新产品、新服务的方案选型中来。
做方案选型时,目标是得出现实可行、成本可接受的方案,需要综合考虑各种因素。
1、某种技术适合解决某类问题
很多开发者容易犯“拿着一把锤子看什么都是钉子”的错误,用自己熟练的语言、技术来解决一切问题。
我们在为新产品、新服务、新项目选择技术方案时,一定要跳出自己已经掌握的技术,首先站在问题域去考虑,想想这个问题到底是什么、哪种技术更适合问题场景,这样才能选择好方向,后期开发、维护才会更顺利。
2、新技术的成熟度
做技术方案选型时,一定要考虑这种技术有没有顶级公司支持、有没有知名产品。
3、生态
4、团队的技术图谱
我们做方案选型时,也要考虑团队已有的技术积累。
5、技术引入的成本
引入一种新技术的成本,包括:
开发者的迷茫分两个层面:
有三种方法可以帮助你进行判断
1、工作的三种维度
根据交互对象不同,工作可分为三类:
假如你发现自己更愿意围绕着人际交互来做事情,希望自己的工作中大部分时间都在和人打交道,那么你可能更适合做管理、销售、市场、客服、咨询等方面的工作。
假如你发现自己更愿意做操作性的工作,比如修理电脑、组装电脑、搭建局域网、修理汽车等,那么软件开发工作可能不太适合你,运维或者网管也许和你更匹配。
假如你觉得信息很迷人,很享受与信息和数据之间这种确定性、一致性、可预期性较高的互动方式,也很享受通过组织、修改、整合、创造信息来解决问题这种工作方式,那么你现在正在做的开发工作,基本上和你的偏好是吻合的,因为开发者偏重于和数据、信息打交道,以信息和数据为输入,也以信息和数据为输出。
2、成就感来源
可以遵循下面的步骤寻找成就感来源:
3、未来的样子
问自己两个问题:
从倦怠期走出来,有两个方向:
做软件讲究迭代,讲究热更新,我们个人也是一样的,要不断自我探索和更新,找到技术在不同阶段对自己的不同意义,只有找到开发工作对个人的意义所在,你才可能有动力去精进。
所谓学习型心态,指的是:有主动学习的意识,时刻以学习的眼光和心态来看待发生在自己身上的事情。
1、对标管理法
对标管理法模型中有三个要素:
要想日有寸进,必须要在日常的开发工作中找到努力的目标。
下图是实践对标管理法指导个人成长的基本过程。
在针对个人运用对标管理法时,可以从4个方面来寻找标杆:
2、从优秀者身上找目标
3、一般性规律
所谓一般性规律,指的是那些通用的、可以指导我们在什么时候做什么事情的规律。
对于开发者来讲,要关注专业能力成长的一般性规律,即技术成长三阶段。
在技术领域内的成长,基本上都会经历三个阶段:
4、技术本身的知识层次
一般来讲,学习一门技术时,有三个阶段:
5、项目指标
开发者的工作往往是由一个又一个项目串起来的,每个项目都会有预期结果,都会界定怎么样才算是完成,然后会有一系列的指标用于衡量项目做得怎么样,比如Bug率、延期时间、并发用户数、持续运行时间、单元测试覆盖率、安全性等,
6、拿来即用的自我提升方法
下面给出一些经过验证切实有效的提升策略:
当我们运用个人对标管理法从人、规律、技术、项目4个方面找到目标后,还要仔细地考虑两个问题:
1、适合性评估
先来看看如何判断某个目标是不是适合自己。有两个方面:
❝如果只能在一个技术方向上做到出类拔萃,你的选择是什么?当你确定了这个方向,就拥有了主线剧情,可以运用个人对标管理法来确保主线剧情充足发展,同时也可以在必要的时候引入支线剧情,辅助主线剧情的发展。
❞
2、如何完成目标
当你选定了与你相关的某个目标后,如何完成呢?有两个关键点:
1、对标管理
2、三个问题
3、刻意练习
一旦我们养成刻意练习的习惯,就可能在很多领域内称为高手。
❝推荐《刻意练习》一书
❞
4、复盘
复盘分两种:
通过复盘我们可以知道,事情结果比预期好还是坏,在执行过程中,有哪些环节做得好,哪些环节做得差,好的总结经验,差的反思原因,这样我们就可以获得成长。
❝推荐《复盘:对过去的事情做思维演练》和成甲的《好好学习:个人知识管理精进指南》
❞
1、找到内在驱动力
要想让一个习惯真正在自己身上落实,这个习惯必须是由你发自内心的渴望驱动的,只有从你自身出发,由衷地想要去做,你才可能养成这个习惯。
2、降低改变的难度
很多时候我们无法养成一个习惯,源自于开始时给自己设置的难度太大。
3、让改变可视化
即便你找到了内在动力,想长期坚持做一件事时,还是会有很大的困难。要走出这种状况,提高成功率,一个切实可行的方法就是:让改变可见。
这样的感觉会激励你继续前进。
4、奖励
当你完成一件事情、坚持了一星期以后,就可以给自己一个奖励。这样你的坚持就会更好玩儿,更有趣,更值得期待。
5、允许例外
在养成一个习惯的过程中,一定要允许自己有例外。偶尔有一两次例外没什么关系,修复一下,继续执行,只有这些低频的例外不影响整体的效果,就不用纠结。
人的能力分为三类:资源、应用流程、价值观。
所谓资源,包括知识、技能、时间、金钱、人脉、天赋等。
资源往往是显性的、外在的,非常容易被自己和别人感知。
应用流程指的是解决问题的方法、思维的框架、分配资源的方式、自我管理的模式等。
应用流程是内在的,容易被人忽略,但它却是解决问题的真正能力,当你拥有应用流程能力之后,才能很好地利用资源来解决问题,创建价值。
一个人的价值观,是其最根本的能力。价值观决定了你在哪个方向做、以什么原则去做。没有价值观,你就会像浮萍一样,东飘西荡,很难做出有长远意义的选择,就很难形成有效的应用流程,也很难积累能被社会感知的资源。
❝决定程序员是否具有优势,是应用流程方面的能力,即逻辑能力、思维能力、想象力、架构设计、解决问题的框架、快速学习、自我管理、创新与创造等。
❞
很多公司都对各个职级有描述,比如阿里的工程师,职级从P3~P10每一级的要求都有,可以查到。
你可以去研究这一级别的岗位定义和职能描述,看看它需要什么知识、技能、经验,有针对性地去准备。
从开发者到管理者,并不是简单直接的职位晋升,而是一种转型,这种晋升,发生了职能转换。开发者更多的是做事,亲自解决具体问题,而管理者,更多的是领导团队做事,通过他人完成工作,以团队的成绩来界定自己的工作结果。
管理者通过他人完成工作。这是管理者的定义。
管理者有两大任务:
优秀管理者应当做到这几点:
❝《代码之道》中说:“成为一名优秀的管理者,所有你要做的就是确保你的人能够工作,并且把他们当人(而不是资源)去对待”。
❞
1、技而优则管
“技而优则管”一般分为三步:
如果你的技术能力很强,在某些技术方向上有深厚的积累,能够解决复杂的问题,在项目中做出了成绩,那么你往往会被领导注意到,会让你带一些新人或者不如你资深的同事。这是走向技术管理的发端,第一步。
你带人带得不错,小伙伴们跟着你能够快速成长,你就可能被安排带项目,带着你的小伙伴一起做项目,此时你因为技术能力强,又有带人的经验,一些项目管理、人员管理的事情就会由你来完成。这是走向技术管理的第二步。
当你带着一个小团队,完成了项目,并且结果还不错,符合领导的预期时,你就在领导那里留下了“某某可以带团队做管理”的印象。如果你持续带人、带项目,就会不断加强领导心中的这种印象。
最后,若有做管理的机会,你就会顺理成章成为技术经理或研发经理。
2、从打杂到管理
真正决定你是否能做好管理的,并不是技术是否出色,而是你是否能把打杂打好,即:
上述事情的结果,并不取决于你的技术多厉害,而取决于你是否真心想为大家服务、为项目服务、为公司的目标服务。
3、从大公司跳入小公司
用你现在的大平台为你背书,跳到小公司做技术管理。
4、获取PMP证书
这条路有两点需要注意:
一个人的能力其实分为两个层面:知识和技能。
所谓知识,就是你知道的、能引发你改变的信息。
所谓技能,就是你运用知识解决实际问题的能力。
要为技术管理者做准备,可以从知识和技能两方面着手。
首先,你要储备管理知识,这一点可以通过阅读来完成。其次,你要想办法实践你学到的知识,把各种管理知识内化为你的技能。
❝推荐书籍如下:
❞
《管理的实践》
《卓有成效的管理者》
《管理:任务,责任,实践》
《巨变时代的管理》
《创新与企业家精神》
《21世纪的管理挑战》
《人月神话》
《成为技术领导者》
《人件》
《项目管理知识体系指南(PMBOK指南)》
《软件工程》
《软件工程:实践者的研究方法》
《项目百态:深入理解软件项目行为模式》
《所谓情商高就是会说话》
《关键对话》
《内向者沟通圣经》
《带人的技术:不会带人你就自己做到死》
《别让猴子跳回背上》
《交办的技术:职场晋升第一课》
《目标管理实务手册》
《高效演讲》
《金字塔原理》
《演讲的力量》
《影响力》
《横向领导力》
《你的团队需要一个会讲故事的人:用故事思维解决问题》
《认同感:用故事包装事实的艺术》
《小强升职记》
《搞定》
《高效能人士的七个习惯》
《做事的常识:事情一来,马上就知道怎么做》
当你储备了技术管理所需的知识之后,就要努力去发现工作中管理相关的机会,去应用你所学到的知识,把这些知识慢慢地变成你的技能。
要在工作中发现管理相关的机会,关键在于你要跳出工作内容和岗位职责的范围,放眼全局来思考。分三个方面,第一方面是产品或项目本身,多想想自己要做的软件到底要解决什么问题,给用户带来什么价值,为什么要做成这个样子,它是怎样被用户使用的;另一个方面是工程实践,思考整个项目,从立项、需求、开发、测试、交付、运维、项目生产工具,分析哪个环节做得不好,哪个环节改善之后效果可以被看见,主动去做这些事情,主动成为衔接不同环节、不同人员、不同部门的桥梁;第三方面,发现领导的目标是什么,他看重什么,他在为什么困惑,自己能不能帮到他,因为从某种意义上讲,你的工作,就是为了让领导的工作更顺利,你的工作目标,就是实现领导的目标。
站在项目管理角度看问题,琢磨现在的项目是怎么管理的,有哪些问题,怎么改善。给自己定一个目标,争取每天挑出一个问题来琢磨解决之道。
主动承担与组织、协调、沟通、管理相关的事情,比如组织会议、跟踪计划、分派任务、推动多干系人协作等。
站在管理者的角度思考,向身边的管理者学习,复盘身边的管理者,看他们哪里做得好、怎么借鉴,哪里做得不好、怎么改进,设想如果自己是管理者会怎么做。
在组织内找一个从事技术管理岗位的人作为自己的职业楷模。
寻找这样的职业楷模时,要考虑他实际的管理水平、团队的状态、他个人的行事风格是否与你的价值观相符。
从技术岗位晋升而来的管理者,在他们刚开始做管理工作时,往往会顶着管理者的头衔做执行者的事情。
可能经常会拿自己的技术水平衡量团队的其他人,当一个技术领导因为担心下属会出错或不能按自己预期完成任务而收回这个任务自己做时,会让下属自己觉得自己无能,或是让下属觉得这个领导越俎代庖不干他该干的事,这就会产生严重的不良影响,不利于团队成员自己成长、自己解决问题。同时,这位技术领导也会因为过分关注技术细节而忽略其他的组织、领导工作,导致“只见树木,不见森林”,严重影响整个团队的效率和生产率。
技术管理者,除了管理自我之外,还要管理他人。团队需要你做规划、定目标、跟踪计划、协调资源,他人更需要你辅导而非代替他们做事情。
❝谨记,一定要把更多的精力放在人、流程、项目上,你的工作是保障别人的工作能够顺利开展,是创建一个可以让大家各尽所能、实现团队目标和个人成长的环境。
❞
要顺利完成角色转变,下列事情可能有帮助:
刚上任的技术管理者往往还习惯于做具体的事,把大部分精力放在设计、编码、解Bug等具体工作上,只留少部分时间和精力给管理,有问题了才需要管,没问题则不用管。
这种被问题驱动的管理方式,就是被动管理(消极管理)。
管理者应该以积极、主动的态度实施管理。
对一个项目、应该在前期花费更多的资源,明确任务的目标、资源、时间、反馈机制、沟通方式、风险、制定相应的计划和应急预案,同时在实施计划的过程中周期性地采集状态,根据项目状态动态调整计划,及早解决各种问题,确保所有项目参与者和干系人步调一致,最终顺利交付。
对一个人,应该在工作中经常性地和他沟通,无论是工作上还是生活上的事情,都要有所了解,要了解他为什么在这里工作,要帮助他制定成长计划,要让他感到自己是特别的、被重视的,让他愿意在这里工作。
要想尽快搞明白你的职责,下面几个策略可以帮到你:
要想比较好地委派任务,需要做到以下几点:
作为技术管理者,首先要和自己的上级沟通团队的目标,然后再把团队目标拆解到每个人身上,形成个人目标。
管理者的一个重要工作是保证下属能够开展工作,不要让任何资源阻碍开发者开始工作。
关于开发或者测试所用的资源,协调不来往往有客观原因——没钱、要审批、等待发货等等,但如果管理者不想办法尽快解决,不但会产生很多隐形浪费,还会大大打击开发者的积极性。
还有一种无形的资源——开发者的时间,也需要好好管理。这方面需要提醒几点:
管理者要尽量避免用消极的行为应对压力,要努力积极地面对压力,勇于承担责任,一切以解决问题为目标。
可以从两个方面进行压力管理:
作为管理者,冲突处理是必修课,只有恰当地处理冲突,才能维护关系健康,促进团队合作,塑造团队文化。当你再次面对冲突时,一定要先停下来想一想:
这样有助于你用恰当的方式解决冲突,避免给团队造成严重的不良影响。
从技术岗位晋升到管理岗位后,你往往是不能胜任工作的,在上任后到那个绩效评估周期内,你所得到的结果,大概率是比你做普通员工时差。
面对这样的时刻,你肯定会有情绪,这是自然反应,可以理解。但在情绪过后,你应该换个角度来看:其实技术领导岗位上,你是从0开始的,有一个爬坡曲线也是符合逻辑的。
技术管理新人会陷入纠结中,一方面想提升整个团队的工作效率而不得不做很多的组织、激励、领导、协调等工作,另一方面,这些非技术方面的工作会占用他们大部分精力,导致无暇深研技术而产生焦虑感。
其实,此时更重要的是视野。你可能对技术细节了解得少了,但对技术方案选择、技术类别、技术的影响力等可能了解得更多,会形成更为广阔的视野,这足以弥补你在技术深度上的欠缺。而且,其实你之前达到的技术深度仍然存在,甚至会发酵,反过来滋养你的技术视野。
有了反馈机制,就可以知道自己做得怎么样,哪些地方好、哪些地方坏,找到改进的方向。
在构建反馈机制时,可以从4个维度来考虑:
无论你做什么事情,都不可能符合所有人利益,总是有人会议论,为此而战战兢兢实无必要。
注意在谈话过程中要保持尊重,不要批判对方的人品,不要随便打断对方的说话,不要随便批判对方的话。
其实犯错也是一种成长,没有犯错就很难成长,把错误当作练习和机会,错误就可能变为财富。
要想少犯错,从犯错中成长,请记得以下几点:
时间管理的重点就是:管理下属占用的时间。
管理下属占用的时间,重点是交办与授权。
薪水是我们找工作的保障因素,是显性到,那些激励因素(有挑战性、获得认可、责任感、成就、个人成长)则是隐形到。
管理者如何创造隐形价值,可以从以下几个方面进行改善。
向上管理指为了给公司、给上级及自己取得最好到结果而有意识地配合上级一起工作的过程。
领导的职责就是创造这样一个环境,每个人都能在其中发挥出更多到能力。
要想越跳越好,有两个要点:
跳槽可能会有很多原因。
回顾以下工作中让你感到不能接受的事情,一一列下来,形成一个“不能接受”清单,对清单中的每一项问三个问题:
把你不愿意因为它离职的、可以通过做点什么事情来消除的事情,都从不能接受清单上划掉。重复做这一步,直到清单只有三项,那就可能是你离职的直接原因。
你如果因为无法忍受某些事情而想离职,那么一定是这些事情触动了你内心的某个原则或你认为很重要的东西,你认为很重要的这个东西,就是你的需求,也就是你的职业价值观。我们需要把它找出来,这样就把离职这件事彻底想明白了。
跳槽的最好时机就是:你觉得真的该离开了,一天也不愿意再待下去了。
有四种方法判断你自己是否真的该离开了:
你留在这个地方,一直用已经熟悉的技能、方法被动地完成事情,不再有成长,你处在营养流失阶段,一点点被消耗。
在周日的晚上,想到周一要去工作,你的心情是:沮丧、拒绝、低落、痛苦、担忧,还是期待、高兴、兴奋、还是无所谓?
盖洛普的Q12可以用来测试你对当前工作环境的满意度。12个问题如下:
你选择一种职业,往往是因为你看重什么,也就是你的行为价值观决定你的选择。
职业目标,简单地说,就是你要在什么领域、做什么事情、取得什么样的成就、成为一个什么样的人。
职业目标应当与你的人生目标和规划关联起来,这样你的工作才能帮助你实现人生规划。
按时间可以把职业目标分为短期(1~2年)、中期(3~5)、长期(5~10年)。想想3年后自己在做什么?每年审视、更新你的中期规划。
跳槽的一个关键属性:不确定性。无论你权衡多少因素,都无法保证这次跳槽一定比上一次好。
所以跳槽时一定要优先考虑某个机会是否有助于实现自己的中长期目标,这样才能大概率地做出有价值的选择,避免越跳越糟。
持续性积累非常重要,不管是跳槽还是卧槽,我们都要以自己能否在某个方向建立积累为原则。符合你职业目标的跳槽,能持续为你在某个方法带来积累,能让你的职业生涯更上一个台阶,就是好的选择。
最理想的跳槽是:既符合职业发展方向,薪水又高。
我们看到一个Offer,不仅要关注薪水数字,更要关注:它能提供给我们什么发展空间和成长机会。
做选择的关键在于:你自己想要什么工作特质。
假如你很难确认自己想要什么,但又必须作出选择,考虑到“从大公司进入小公司容易,从小公司进入大公司比较难”这种现状,那就选择大公司,去享受它的各种好处。这样当你发现了自己的职业目标或者厌倦了大公司,需要离开时,这段经历也可以为你的履历增色。
城市大小对个人职业选择与发展有较大影响,可以从下面四点来看:
我们会在多个机会前纠结,难以选择,往往是因为想要这个选择能有一个确定的、好的、100%有保障的结果。然而,遗憾的是,所有的选择,都可能有坏处。
我们能做的就是:接纳不确定性,尽量明智地去选择。
HR通常会快速扫描以下这些信息:
简历优化在于提高匹配性、突出亮点。
围绕着这个核心,我们的简历优化可以分为下面几步:
1、明确你想要的工作特征
2、盘点你的价值和亮点
3、寻找机会
4、招聘信息分析
5、简历优化
当我们更换工作时,心中都有期待。你对工作的期待,就是你希望这份工作具备什么特征。
只有你明确了对工作的期待,找到了你想要的工作必须具备的特征后,你才能有选择地、有效地寻找工作。
可以从两方面找出你想要的工作特征:
1、你想要什么样的工作
2、你对当前工作有什么不满
找到你的价值,对自己有个客观的认识,这对你撰写自己的简历非常有帮助,也是找到理想工作的关键所在。
个人的商业价值体现在5个方面:
对开发者来讲,在简历中,通常会重点体现知识、技能、经历这3个方面。
在投递简历时,可以优先考虑人脉推荐的方式,它的成功率是海投简历的好几倍。
寻找机会可以分为四步:
1、分析可能的职位
2、确认哪些公司提供这些职位
3、了解公司和职位信息
4、确定自己感兴趣的公司和职位
要想让你的简历在3~5秒的时间内抓住目标公司筛选人员的眼睛,就必须要细致入微地研究招聘信息。
一份好的招聘信息应该包括:工作内容、工作收获、工作成就、工作伙伴、工作认可与奖励、任职要求。
可以从6个方面提取招聘信息中的关键字:
分析目标职位招聘信息的过程,逻辑上分为两步:
1、拆解关键词
2、对照自己的价值筛选匹配点
当你筛选出招聘信息中和你匹配的关键词后,就可以有针对性地优化你的简历了。
简历优化主要分为两部分:
1、技能评价栏
2、项目经历
「技能评价栏的优化」
优化技能评价栏时,要瞄准招聘信息中的关键词,列出匹配的三五点足矣。
「项目经历的优化」
在简历中梳理呈现你的项目经历时,请遵循下面4点:
有3种方法:
1、设想自己是HR或研发部门的程序员,根据招聘需求来评估简历
2、请他人担任简历筛选人员,让他根据招聘信息来评估你的简历
3、选取一些公司的职位,优化简历,投递实验
薪水不是谈判出来的,而是取决于双方的匹配度。
薪水由下列因素决定:
能直接控制的只有个人自我评估和匹配度。
我们在跳槽时,就应该把精力花在这两方面。同时围绕这两点所做的工作,影响力还可能扩散,带动其他因素产生积极的变化。
匹配度这个因素的核心就是“知己知彼”。
“知己”这部分,在个人评估的过程中完成。
“知彼”这部分,主要是了解公司、产品、职位三方面的信息。
1、明确你想要的工作特征
2、盘点你的价值点
3、寻找与你价值点匹配的工作机会
4、了解市场行情
5、自我评估
自我评估时,以市场行情为基准,上下浮动20%~30%即可。
6、搜集目标职位的可能薪水范围
7、有针对性地优化简历
8、搜集常见的面试题、精心准备
1、谁来拍板你发多少薪水
不是HR,虽然HR会负责和你谈薪水,但决定你的薪资的不是他们。
能决定给你发多少薪水的,是招人的部门领导或者他的领导。
2、谈钱伤感情,不谈才伤
3、薪水是可以谈的
很多公司给每个职位都有一个预期的薪水范围,最低多少,最高多少。
瞄准你和目标职位的匹配度精心准备,让面试管觉得你就是他们想要的那个人。
4、绝不要主动谈论薪水,除非他们问你
5、千万别先提数字
6、福利
当薪水之外的某个因素被你排在了清单的第一位时,你就可能会选择降薪求职。
金钱在你贫穷时会带来比较直接的幸福感,而一旦你的生活离开了贫穷状态,金钱的增加可能会降低幸福感——因为你为获得更多的金钱而牺牲了更多东西,比如时间、兴趣爱好、陪伴家人和朋友。
从两个角度来体会:
常见的难点5个:
1、路径依赖导致的隐藏假设
长时间做某件事,就会对它产生依赖、认同。一旦我们习惯了某件事,就会被它植入相应的隐藏假设——你必须做这个,进而在我们必须选择时影响我们选择。
这种路径依赖和隐藏假设牢牢地束缚住我们,一方面是因为我们不愿意放弃经年累月辛苦积累起来的价值,另一方面是因为我们低估了自己的潜能,高估了在新领域取得成绩的难度。
关于在开发经历中的积攒起来的价值,在转型时并不会归零,你在这条路上积累的经验、阅历、做事流程与方法、逻辑思维与分析等,都是通用的,可以迁移到新的领域。
2、薪水落差
我们习惯性地认为职场只能一个台阶一个台阶往上走,习惯性地认为薪水只能一年比一年高,我们不能接受成长过程中的凹陷。
如果我们能回到“为什么工作”这个元问题,这样的不舍和纠结就会瞬间散去。
3、缺乏技能
人的能力分为专业能力和通用能力。
专业能力是指只能在某个专业领域发挥作用的能力。
通用能力指的是可在不同领域间迁移的能力,比如学习、演讲、组织、沟通、计划、管理等能力。
如果你一直将焦点放在专项能力的淬炼上,忽略沟通、协调、管理、讲授、分析等能力,久而久之,你就会发现自己在工作上很难再有大的突破。
❝所有问题,最终都是人的问题。而要解决人和人之间的问题,你必须综合运用你的各种通用能力。
❞
4、他人的期待
别人会对你有期待,他们希望看得懂你,不希望你带给他们看不懂的意外。
别人会因为你做了软件开发工作,就把你等同于程序员这一身份,会一直强化你的优势——技术,而不看你别的方面。
❝当你因为别人给你贴的标签而举步不前时,要想想:
❞
你不是你的工作,你不是你的技术,你不是你的成功,你不是你的失败,你是一个立体的、多元化的人,你具有多重角色和身份。所有的角色都是你,但没有一个单一的角色代表全部的你。
5、对不确定性的抗拒
转型充满了不确定性,你可能会选错方向,也可能最初的方向正确但做上一段时间发现不喜欢,还可能做了几年也没什么起色,所以开发者在不能确定转型100%会成功时,往往很难迈出第一步。
要想让工作和生活走出枯井无波的状态,就要引入一些变化,承受这些变化发生过程中伴生的不确定性。
我们把职能分为5类:管理、专业技术、自有职业、创业、投资。
转型时,在行业或职能上有一个维度相关,就会相对容易一些。
比如你只是不想做开发了,还想做和软件相关的事情,就可以考虑如下方向:
遵循下面5个步骤,就可以快速找到你想做的职业:
1、罗列你感兴趣的或印象深刻的人、事、物。
2、分析它们可以关联的职业,形成清单。
3、对清单中的职业做信息搜集分析,筛选出你感兴趣的职业。
4、选择某个职业,学习相关知识、技能。
5、业余时间做做看,或者找兼职、实习机会做做看。
按照下列步骤推进是比较现实的:
1、找到转型方向
2、储备目标职业所需知识、技能
3、找机会实践,体验,看自己是否还愿意继续做,如果不愿意,回到1
4、在目标工作地区,寻找感兴趣的公司和职位。
5、针对每一个公司的每一个职位,准备一份简历,突出你与目标职位匹配的知识、技能、经历。
6、优先考虑通过人脉、内推等方式获取面试机会
重复上面的过程,迭代,优化,直到找到工作。
在转型时有两种选择:
本文使用 mdnice 排版