This commit is contained in:
louzefeng
2024-07-11 05:50:32 +00:00
parent bf99793fd0
commit d3828a7aee
6071 changed files with 0 additions and 0 deletions

View File

@@ -0,0 +1,99 @@
<audio id="audio" title="07 | 职业规划:如何选择一个公司?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/51/8f/5119992070e8913cd02612b3e36bdd8f.mp3"></audio>
“哪个公司好”,一直是职场圈内人们津津乐道的话题。每个人自然是想进入一家好的公司,既有前途,也有钱途。
但其实一家公司的好坏,除去客观情况之外,更多的是个人的主观感受。甲之蜜糖,乙之砒霜,别人口中的“好公司”未必适合你。
那么在今天这篇文章里,我就来谈谈选公司这件事儿。这里说的公司是指有一定规模,发展稳定的公司,创业公司我们会有一篇文章专门谈。两篇文章看完之后,相信你会对自己的选择有更清晰的方向。
在我看来,要想选择一个适合自己的好公司,需要考量如下几个角度。
## 企业文化和价值观
你可能会想,为什么首先是文化啦,价值观啦这么虚的东西呢?我们就是打工干活拿工资,为什么要关心这虚头巴脑的东西呢?其实这个东西一点都不虚,文化和价值观,上至公司管理层,下到员工在作出各种大大小小的决策的时候,起着重要的作用。一个具有一定规模的公司,一定会有一套企业文化和价值观,指导公司上下行事。
无法适应企业文化和价值观的员工,注定会被边缘化,获取不到资源,直到被淘汰。而适应企业文化和价值观的员工,在公司做事情则更能够得心应手。
我拿亚马逊举一个例子吧。
亚马逊的文化非常有名大名鼎鼎的“14条领导力准则”相信你一定听说过。读完这“14条领导力准则”基本上你就能感受到亚马逊工作的风格了。我随便列出几条Deliver Results完成业绩Customer Obsession顾客至上Bias for Action崇尚行动。如果不能够认同并适应亚马逊的这些准则那么在亚马逊工作将是非常别扭的。
拿“顾客至上”来说在亚马逊工作on call是每个人都必须的on call就是服务顾客以及用户的。亚马逊有一套专门的 Ticket 系统配合on call任何亚马逊的员工在使用相应的内部系统的时候比如库存管理系统都可以开 ticket 上报问题寻求支持,并且由用户自己指定 ticket 的优先级。如果优先级高,那么库存管理系统的 on call人员就会收到短信并需要在30分钟内登陆到 ticket 系统作出响应。否则on call人员的直接经理就会收到系统电话如果经理没有及时反应并及时找人处理 ticket那么再过30分钟总监也会接到电话。问题升级的次数Escalation 和 Ticket 的数量,都会纳入到绩效。
所以亚马逊的“顾客至上”不是说着玩的“customer”是不分内外的是落实到每一个Ticket的处理和响应的是落实到整个管理层级是要反映到业绩的。
### 如何选择适合自己的企业文化和价值观
要想评价一个人,并不能只看这个人平时的行为举止,更是看这个人遇到关键事情的时候,会作出什么样的决策。公司就好像一个人,公司的文化和价值观其实就代表了这个“人”的品质和性格。公司里的每个人,都是公司里的细胞,被这股力量裹挟着,需要做出符合企业文化和价值观的决策。我相信亚马逊的这一套 ticket 系统,绝不是一蹴而就的,而是在企业文化和价值观的影响下,逐渐形成的。我们国内公司的价值观也各有特色,比如鹅厂的内部竞争和华为的狼性文化。
企业文化和价值观要的就是一个贯彻执行。比较普遍的几点是,大部分的公司都会强调服从上级,强调奉献。但是根据我的经验,大公司内部不同的部门,具体的风格上也会略有不同。对程序员来说,会相对宽松一些。
如果你打算在一个公司长期发展,不妨先找找里面的熟人,聊聊公司内部做事的风格,比如晋升,奖金,淘汰,组内合作,跨部门合作以及如何处理各种意外情况的“八卦”,这样就能实际地感受到企业的文化和价值观了,然后再根据自己的标准,判断是否适合自己。
## 行业势头
除了公司价值观之外,“行业”也是选择公司时要考量的重要因素。一个行业一般都有风口期,黄金发展期和下降期三个阶段,我们分别来聊聊。
### 下降期的行业
首先,已经处于下降势头的行业要慎重考虑。举个例子,早在七八年前,通讯行业的发展已经显露出疲态了,当时我在的公司来了一位从头部的通讯公司跳槽来的经理。第一次开会大家闲聊,就问,他为什么愿意从这么有名的公司跳出来,甚至还换了行业。他回答得很直白,因为自己感觉通讯行业的黄金时代已经过去了,而互联网行业现在的势头,就像是通讯行业处于黄金时代时的样子,所以他要主动求变,投入还处在上升期的行业。
如果你只是短期的谋生,那么行业的势头可以不用考虑太多,但如果选择一个长期发展的公司,行业势头是必须要考虑的因素。
### 风口期的行业
互联网行业的风口每隔一两年就会来一个,甚至有时一个来好几个,应接不暇。我就随便说几个:云计算、移动互联网、社交、在线支付、电商、搜索、游戏、出行、短视频、机器学习、区块链、共享经济等等。
如果你之前从事的行业就跟新的风口有关系,知道深浅,那么不妨试试新的风口。比如说,原本就是做支付的,那么当在线支付、移动支付、刷脸支付等等风头起来的时候,不妨带着自己的行业经验去看看,没准就能抓住一个好的风口。
但如果你对这些风口背后的行业不是很熟悉,不妨等风口的势头明朗了,再做打算。前面列出来的那么多风口,每一个出现的时候都是风光无两,带着“颠覆性的使命”出现的。但是并不是每一个都能从风口发展为一个行业,比如说“团购”,当时这个风口可以说是席卷全球,在中国甚至有“千团大战”。但是现在这个概念基本上消失了,团购也不再是一级入口。再有就是区块链,现在还是很热,但是迄今为止还没有除了炒币之外成熟的盈利模式和业务场景。
### 黄金发展期的行业
那么最后再聊聊还处于黄金发展期的行业吧。相比之下,很多行业的发展已经稳定,有了盈利模式,而且行业还在持续发展。如果正好对这些行业有兴趣,不妨选择这些行业的公司。在一个行业积累的经验,会在行业发展上升期变得越来越值钱,相反,如果一个行业已经式微,那么积累的经验也就会随着时间变得越来越不值钱。
## 工资待遇
当然了, 前面说了那么多,我想你最关心工资待遇。工资待遇当然也很重要,但是工资待遇里面也有很多道道,我们来聊聊这些门道。
我们都知道,工资待遇不仅仅包括固定工资,还有一次性收入、奖金、股票以及各种福利等。在这里面,固定工资是最重要的,这个才是受法律保护的收入。因此在面试公司时,一定要问清固定工资是多少,免得被忽悠。
除了固定工资外,很多公司会给新入职的人一些一次性的奖金,显得待遇好一些,比如搬家费,签字费等等。这些基本上都只是一次性的,有时候还会附加“规定时间内不能离职”等各种约束。所以这部分钱的性价比比较低,但是一般钱还是不少的。如果是刚刚来到一个城市,这笔钱能解决不少问题。
至于奖金大概是除了固定工资之外我们最关心的东西了。事实上奖金这个事情要看公司的良心因为奖金是有很大操作空间的谈offer时约定的数字未必能给你这个受到工作表现、公司营收等等各方面的影响。即使发也可能会推迟。
至于人人都关心的福利,那就千差万别了,福利一般是商业医疗保险、年假、体检、补贴等等。福利的内容会随着公司的行业而灵活变化,非常具有公司特色,比如蚂蚁会有无息房贷,出版社一般会有免费图书等。这个就看你个人的兴趣了,选择空间也会比较大。
那么股票呢?我们这里主要谈股票,不谈期权。期权的水太深,说不清。不同公司给股票的风格也是不一样的。
大多数时候我们国内的大公司给股票的风格都是入职给一大波显得offer好看。这一大波股票分四年给但是后续可能不会再给股票或者就算给也不会给那么多。所以这个股票就相当于一个有效期为四年的奖金。当然在这种情况下公司一般都会给得比较多如果四年之后公司发展很好甚至上市了这也是一笔不少的钱但是如果四年之后不再给股票收入相当于会掉下一节。
总之,工资待遇项目繁多,选择一个公司之前,要弄清这个公司给的待遇的组成部分。
## 公司规模
很多人的梦想就是去“大厂”,公司规模也是影响选择的重要因素之一。如果待遇和岗位差别不大,建议优先选择头部大公司。这些公司的成功自然有自己的独到之处。在头部公司里,你可以学到更多的经验,接触更有挑战的业务场景,也会让自己得到更快的成长。
如果你看好一个行业,那么就要努力进入这个行业的头部公司。
## 人才水平
不可否认的是,每个公司对招聘的人才的水平要求是不一样的。一个公司的人才水平,决定了公司对人才的态度和公司内部合作与管理的风格。
举个例子,如果一个公司里程序员的水平都很一般,那么这个公司就更倾向于不相信员工的技术能力,并制定非常细致和严格的管理规范和流程,避免员工犯错。如果你的水平高,就会被各种管理规范和流程束缚住。同时,如果你发现与你合作的人的水平都很“感人”,你也需要调整自己的风格,让自己的工作成果能够适应公司普遍的水平。
当然,反过来也是一样的。如果勉强去一个技术能力很强的公司,难免会发现自己水平差距太多,工作很吃力。当然,正所谓见贤思齐,如果自己能奋起直追,自然是好的。
## 总结
说到如何选择一个公司,大部分人的答案应该就是两条:名气大,给钱多。通过这篇文章,我希望你能够在换工作之前思考得更加长远。
我见过很多在之前公司表现极为优异的人,换到另一家公司就表现平平,甚至有些人的表现竟然差到要被末位淘汰。也见过很多能力很强的同事,只想要更多的钱,不注重自己的积累,以至于发展受到限制。
所以选公司是个非常个性化的事情。当自己在一个城市站稳脚跟之后,不妨做个长久的打算,找个适合自己的,能够在里面长期发展的公司。
<img src="https://static001.geekbang.org/resource/image/fa/f1/fa8e648c1d0a2a90ab1e26597f7b53f1.jpg" alt="">
## 思考题
看完今天的文章之后,我想问问你,你在换工作选公司的时候,都会考虑哪些方面的因素呢?欢迎在评论区和我交流,也欢迎你把这篇文章分享给你的朋友或者同事,一起交流进步一下。

View File

@@ -0,0 +1,106 @@
<audio id="audio" title="08丨管理者关系怎么才叫“跟对人”" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/c8/32/c8a0dd1fcf91a65315c545e1af757d32.mp3"></audio>
职场两大幸事就是跟对人,做对事,也就是在一个值得跟的经理下面,做有价值的事情。这就好像是千里马遇伯乐,而好巧的是伯乐管着一个赛马场,带着千里马用来赛马而不是用来驮货。
其实一般来说,只要跟的人非常好,那么做的事情一般也是可以接受的。但反过来,如果跟的人实在是不行,那么如果有更好的机会,可以考虑求变。
但每个经理都有自己的风格,对于身为程序员的我们来说,怎样才叫跟对人呢?今天,我们就从一线程序员的角度,谈谈这个话题,希望对你选择工作和公司有所启发。
下属和领导,某种程度上来说是互相成就的,你们认可彼此的价值观和人格,也可以就一个问题互相讨论,甚至争论,他还会和你定期沟通,合理地安排资源和利益。
那么,我们分别从这四点详细说明一下。
## 认同彼此的价值观和人格
你可能觉得这太虚头巴脑了,咋还放在第一位呢?其实不然,我们中的大多数人会被直接经理所影响。
比方说,一个经理每天都要求别人按时上班,但自己吃完午饭才来。作为他的下属,你会心甘情愿地每天早晨按时上班吗?反过来,如果一个经理什么都不说,但每天都是第一个来,每天下班的时候都往外“撵”自己的员工,让他们早点回家。那么,作为他的下属,你会好意思不按时上班吗?
人以类聚,物以群分。你的价值观和性格,也会被你的经理所影响。如果你无法认同一个人的价值观和人格,那么你是很难融入到这个人的队伍中来的。
在我看来,值得跟的人还有一个很重要的特性,就是有担当,勇于承担责任。经理作为管理者,有权利支配所有人去做事情,甚至开除办事不力的人,但是同样的,他也要对手下的人做的事情负责。组里的成员如果工作没做好,出了问题,那么经理应该承担起责任,做“背锅侠”,同时制定相应的策略,避免问题再次发生。如果一个经理出了事情就拿手下的人开整,那么这不算一个值得跟的经理。
同样,一个负责任的经理还或多或少有这几个品质:优秀、真诚、公平。在你眼里,一个比你优秀,对你真诚,处事也公平的经理,毫无疑问会潜移默化地影响你,让你也更上一层楼,正所谓见贤思齐。
简单来说,不要跟着自己讨厌的人干,要跟着自己欣赏的人,佩服的人,认可的人干。
## 定期和你交流
这里说的交流,指的不是经理居高临下地在上面讲话,你在下面拿着小本本一边记录一边点头;也不是安排工作时的交谈,而是和你交流你工作中遇到的问题,对组里做的事情的看法,未来想要发展的方向,自己的兴趣,甚至平时生活工作中的琐碎事情等等。同时,他也会和你聊他眼中的组里的发展方向,事情的优先级,可能的机会等等。更重要的是,他会根据你这段时间的工作,指出好和不好的地方。好的地方给予肯定,不好的地方也要指出根本原因,并给你进一步发展的建议。
这种沟通有个名字叫做一对一会议one-on-one meeting是由经理发起的和手下人定期一对一交流的会议。这种会议的作用就是让经理和手下坐在一起把平时不方便说的话都说了能够放开沟通增进彼此理解是上下级关系的润滑剂。
在这种沟通中,你能了解自己工作的意义,看清“诗和远方”;也能把自己对问题的认识和看法跟经理讲一讲,让彼此的认知能够同步;还能够对自己进行一个非正式的“绩效考核”,对自己的工作成果有一个阶段性的认识。
那么,如何高效地利用一对一会议呢?我来举几个我自己的例子。
我曾经有一个阶段,工作进度并不顺。虽然工作时间很长,但是工作成绩并不怎么样。然而我自己却忙得顾头顾不了脚,完全没跳出来反思自己的问题。结果有一次一对一会议上,经理很直接地指出了我最近工作的问题——优先级。这一点我们之前也说过。
所谓当局者迷,旁观者清。当时我的责任在增加,事情也多了起来,之前会努力把每件事情做到最好,现在必须要学会给事情排优先级。所以如果你有什么困惑,不妨利用这种机会跟上司领导直接沟通,也许会柳暗花明。
同时,这种沟通还可以给你带来职场发展上的启发。
我其实算是一个比较典型的80后内向程序员。喜欢闷头做事情以把事情做出来为乐。但是在我能够出色地完成自己的工作之后我的经理不止一次地指出我发展的局限和别人交流得太少不能塑造自己的影响力。慢慢的我会试着花更多的时间来帮助找我问问题的同事甚至主动帮助解决问题。经过一段时间我发现这样不但让自己的能力得到更多人的认可也扩展了自己的知识自然的让自己向更高的级别发展。
这些都是管理者站在更高的角度,看出来的问题,对个人成长来说,有很大帮助。
## 没有一对一会议该怎么办?
根据我的经验一对一会议这种舶来品在中国有点水土不服。很多公司也有规定要经理定期和手下员工做一对一沟通但是贯彻的质量却参差不齐。我有个朋友离职的时候HR做离职调研问他上次和经理进行一对一沟通是什么时候朋友说从来没有过我从来不知道我们公司还有个一对一沟通。HR表示很惊讶并且表示要调查清楚。
但其实,撇开这种会议不谈,你可以抓住一切机会,和经理进行类似内容的沟通,甚至可以主动和经理定这样一个会议。如果一个经理从来不跟你进行一对一的会议,也不以任何形式和你进行类似的沟通,那么只能说明经理并不看重你,认为不值得为你花时间,也不打算培养你。
## 可以互相讨论甚至争论
前面我提过,程序员需要发挥自己的主观能动性。与之相对应的,程序员应该也要获得和经理讨论问题的权利。如果不明白问题的来龙去脉,怎么发挥自己的主观能动性呢?
所以可以和经理讨论问题,在我看来也是很重要的。经理要有足够的心胸,愿意和自己的手下讨论问题,听取大家的意见。能够在和下属讨论问题的时候,平等的交流甚至争论。
讨论的目的是能够得出比最初更好更完整的结论,能够提升大家对问题的认知,而不是争得面红耳赤,为吵而吵,甚至发展到对人不对事。尤其是在一组人一起讨论问题的时候,经理要有能力引导讨论,指出讨论的方向。
## 资源和利益的分配
前面讲的都是偏向价值观的内容,如果不落实到行动,那么就都是“大忽悠”。那么下面我们就来聊聊,好的经理会如何落实上面的价值观,如何说到做到。
如果一个上司足够重视你,那么肯定会为你合理安排资源,下面我列举两个比较常见的资源。
### 新技术新方向等机会
首先是新技术、新方向的学习机会。作为程序员,我们的工作领域就是不断变化的,一直都有新的方向,新的技术。
如果你曾经跟经理表示,自己对云计算感兴趣,并愿意付出时间学习,那么如果组里有一个将服务迁移到云计算平台上的机会,经理应该要让你参与。
如果你原来是一个测试,表示自己想转开发,那么经理应该愿意给你这个机会,让你日常的工作慢慢减少测试的内容,逐渐增加开发的内容。
当然,组里可能还有各种大大小小各种各样的机会,比如新的项目、新的客户、新的平台、技术培训等。这都是经理可以掌握的资源。如何合理公平地分配这些资源,就很考验经理的素质了。
从经理的角度来讲,肯定愿意组内有更高的产出。如果你和经理交流的时候明确表达过自己的兴趣和下一步希望发展的方向,但是真有了这种尝试的时候却没有考虑你,那么不妨开诚布公地和经理聊聊。经理可能觉得你现在的工作更重要,也可能觉得你现在火候不够,也可能觉得你平时工作不够踏实,新的机会给你对别人不公平。
### 时间
第二点就是时间了。每个人的工作时间可以说是经理掌握的最有价值的资源了。培养人才和为公司创造价值这俩目标,都需要用到组员的工作时间。当两者冲突的时候,如果经理愿意出于培养人才的目的,安排一部分时间让你成长,那么可以说是一种非常明显的培养你的信号了。而且经理愿意这么做,更重要的原因是他愿意相信付出的这些培养人才的时间,后续可以获得更多的回报,能够为公司创造更多的价值。
还是拿我举个例子。之前我提到,我有一段时间因为事情多,自己又没有养成按照优先级做事情的职业习惯,导致工作效果不好。经理在帮我分析问题之后,后续安排工作时,都会花时间跟我多聊聊,讲清楚事情的优先级,以及为什么会是这种优先级,慢慢地我自己也能够准确地给事情排优先级,合理安排时间做事情了。
再后来,经理指出我应该拿出更多的时间帮助同事,培养自己的影响力,他也会注意在平时的工作计划中,减少我工作的内容,尽量只安排必要的事情给我做,为我腾出更多的时间发展自己。
### 能够争取到利益并公平分配
能不能为下面的人争取到合理的利益,就是对一个好经理的终极考验。最常见的就是升职和加薪。
如果经理不能将优秀的工作成果转化为大家的升职和加薪,那么就是经理的失职了。
当然,对于个人来说,也可能是有失公平公正。所以这里你能够理解为什么我把“公平”列为好经理必须考虑的品质之一了吧。如果你认为一个经理做事情不公平,那么大概率也会认为他对利益的分配是不公平的。在你眼里,这个经理就不能算是个好经理。
## 总结
最后我们来总结一下。跟对人很重要,可以说是一段职业生涯的好开端。经理可以站在更高的角度,分配合适的资源来培养自己的手下,让他们少走弯路,及时修正自己的错误,更快更顺利地成长。
其实经理的好与不好,有很大的主观因素在。这里列出的诸多因素,可能在每个人心中的重要性也不一样。所以遇到一个和自己非常合拍的经理是非常难得的,这也是为什么有些人愿意跟着一个经理一起换工作的原因之一。
在这里要补充一句,经理愿意培养一个人,肯定是看到这个人的潜力。也就是说,我们在讨论经理好不好的时候,要先做好自己,证明自己的能力。如果自己做事情的能力不行,单纯地埋怨得不到发展的机会是没用的。在一个公司里,好经理绝对不是一个滥好人,而是一个善于挖掘、培养与使用人才的伯乐。<br>
<img src="https://static001.geekbang.org/resource/image/91/a8/9145b9b54aba9e76b9033ada2a14b9a8.jpg" alt="">
## 思考题
不知道你有没有遇到过这样的经理或者领导呢?在你眼中,一个好的经理最重要的因素是什么?欢迎你在评论区写下你的看法,也欢迎和我一起交流,我们一起分享下彼此的经验。

View File

@@ -0,0 +1,97 @@
<audio id="audio" title="09丨管理者关系跟对人和做对事哪个更重要" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/32/9d/327bf4989e23fb62931f5a519164349d.mp3"></audio>
你好,我是臧萌。上一讲中,我们讲到了“跟对人”是怎样的,那么今天我们就来看看,如果跟不对,又会怎样呢?
其实一般来说,我们程序员和经理的关系都是“正常”的,很少能好到千里马和伯乐的地步,也很少能坏到水火不容的地步。但是常在河边走,哪有不湿鞋。工作换得多了,公司重组多了,难免会遇到和自己不对付的经理。
## 勇敢地问自己一句:是我的问题吗?
作为经理的下属,我们程序员自然会很努力地完成经理交给的任务。在无法完成任务的时候,就会难免陷入自我怀疑和否定。其实不必有心理压力,我觉得这是非常自然的职场现象。每个下属都是有迎合自己经理的惯性的,都想要得到经理的认可。毕竟下属创造的价值必须要得到经理的认可,才能保住自己的饭碗,进而升职和加薪。
但是,当你的工作进展很慢,陷入瓶颈的时候,不妨先把手头乱七八糟的工作先放在一边。仔细问问自己,确实是自己的问题吗?是自己的能力不行,还是经理给的资源和决定有问题?为什么偏偏就最近这段时间的工作不太顺利?有没有可能是经理的问题?
这里我希望你能在工作不顺利的时候,在纠结自己能力的同时,也好好思考一下自己的处境。
毕竟哪里都有奇葩,经理这个人群也会混入奇葩。这里我罗列几种奇葩经理的类型。
### 贬低控制型
这种类型的经理有的习惯使用各种言语手段,对自己的手下进行贬低,已达到让下属觉得工作摇摇欲坠的感觉。还有一些会抬高自己,变相地让手下觉得自己的水平和经理差很多。当然更多的是两招混用,这时候心理脆弱或者经不住忽悠的人,就很容易上套,战战兢兢,这就达到了经理的目的,让手下乖乖听经理的话,唯经理是尊。
我举一个我朋友的例子。当时朋友的公司进行了一次大的重组,他所在的组换了一个经理。新经理上任第一天,就把组里所有的人挨个叫过去一对一对话。朋友本以为这会是一次交流,没想到等来的是一场批判。
新经理将他做过的事情正在做的事情以及打算做的事情全盘推翻并否定。并在得知他并没有读过TAOUP原话即The Art Of Unix Programming中文译名《Unix编程艺术》之后表达出“你根本不配写代码”的意思。还好我朋友并不是很吃这一套虽然当时晕头转向的也对自己的价值有所怀疑但是回头和自己的同事一聊发现他对谁都是说的那一套朋友马上做出换组或者换工作的决定。当然还没等他来得及换这个人就被公司赶走了。据说后来还是在做经理。
这种经理常用的手段还有这些:
1. 攀附名人和上级:就算是点头之交的人也张口闭口说跟谁谁谁很熟;
1. 夸大成绩:听说过的项目就是自己做过,参与过的项目就是自己主导过,获得一点成绩在他嘴里就成了令人瞩目的成就;
1. 炫耀历史:张口就是我原来如何如何,曾经怎样怎样。但是对身边人的“成就”,则一概闭口不谈。
究其目的,这类经理的目的无外乎就是树立自己“金身不败”的形象,压制自己的下属,同时让自己对下属的工作成绩有充分的贬低空间,造成“你有这份工作是你的运气”或者“能跟着我干是你的运气”的氛围。
### 技术压制型
这种类型的经理一般是刚刚从技术岗位转为管理岗位,对手下人的技术不放心,必须要有技术上的压制,才能让他有足够的安全感。一般来说,很多人会慢慢调整过来,专心做管理,或者在技术和管理上找到一个平衡,抓大放小。
但也有人转不过这个弯来,会一直行使技术和管理的双重角色。这个其实是很尴尬的。手下一般不会愿意和经理抬杠,尤其是技术问题。而程序员作为真正做事情的人,如果在解决问题的技术层面被压制或被控制,那么肯定无法更好地发展自己的主观能动性——我想那么多干嘛,反正最后还是听经理的,经理怎么说我就怎么做算了。长期来说这是一种双输的局面。
### 极致压榨型
这种类型很直接,就是高压管理,恨不得让手下一直工作,但是在培养人才上,却十分吝啬。对下属的工作成绩,也不予以客观的评定,反而是极力贬低。如果这种类型的经理再叠加上“贬低控制型”的属性,那会活脱脱地打造出一个程序员的血汗工厂。
在这种经理的手下,程序员的成长空间有限,时间都用来干活了,没时间成长。加薪升职基本也是没指望的。这种经理更愿意耗到下属主动离职,重新招人。
### 性格缺陷型
每个人的性格都不能说是完美的,而很多人在转向管理角色之后,性格缺陷被放大,多疑、自私、爱耍官威、自我感觉良好、喜欢自吹自擂等等。对于登上管理岗位的人来说,手里忽然有了更多的资源,性格缺陷也有了更大的发挥舞台。各种奇葩的事情也就随之而来了。
## 别对公司抱有太多的幻想
我们前面说了那么多,也许有人会问,公司不讲理的吗?经理做的事情不对难道我不能申诉吗?
基本上,除非经理做了严重违反公司文化和价值观的事情,或者违反了法律和公序良俗,公司才会选择惩罚经理,因为这样传达的信息是公司为了维护文化和价值观,愿意牺牲经理。
而下属和经理之间的矛盾基本上都集中在做事是否公平,资源分配是否合理等等。在这些事情上公司很大概率不会站在下属一边。为什么呢?我给你分析一下原因:
### 程序员被替代的代价并没有那么高
很多程序员觉得自己在组里独当一面,以至于有种“我的重要性比经理还高,缺了我组里的事情就玩不转了,组里没有了经理也不能没有我”的错觉。
事实是一个程序员可以独挡一面但找个替换者继续独当一面也并非难事。一个稍有规模的公司随便哪个人被替代都没啥问题甚至CEO、VP或者总监被开了也没见多少公司会因此停摆。所以作为程序员更不能自视太高甚至想着以此作为闹的“资本”。
### 如何做事是经理权限之内的事情
我们上面说到那些矛盾该如何处理,基本都在经理自己的权限范围之内,而且是非常主观的,很难辩出个黑白分明。
从立场上来说,公司更倾向于在下属和经理起争执的时候,站在经理的一边。因为经理其实就是代表公司管理下属,也就是说,经理就是公司的一部分,如果站住员工一边,可以说是“胳膊肘朝外拐”。
### 公司不能传达按闹分配的信息
如果员工一申诉,公司就倾向惩罚经理,那么公司对经理传达的信息则是:不要“惹”自己的员工,否则你会被惩罚。对员工传达的信息则是:有事情就闹,闹一闹就能从经理那里获得好处,甚至把经理闹走。这么一来,员工敢闹,经理不敢管,公司就没法正常运转了。
### 惩罚经理对公司的损失大
从利益上来说惩罚经理会对公司带来的潜在损失更大。经理掌握着全组的资源同时他也背负着完成这个组的KPI的任务。如果惩罚经理对整个组的工作和完成KPI的影响都会大过惩罚经理的一个下属。
事实上经理无法完成自己的KPI是经理被“干掉”的最大原因而不是对自己的手下不好。对自己手下不好造成离职率高只是考核经理的一个并没有那么重要的指标而已。
## 跟对人,还是做对事?
我们用两篇文章讲了这个话题,回到结论,没有什么比跟对人更重要。事实上,跟对人,还是做对事,本身就是个伪命题。只有跟对人,才有可能做对事。如果你跟着一个不对的人,是很难做出成绩的,即使做出成绩,利益也没你的份,最后你还申诉无门。
我有个朋友,经理是个刚刚转管理的奇葩,但是当时组里做的事情是比较热门的,他觉得机会难得,想积攒点经验,本着“我就好好做事,少跟经理打交道”的原则忍着。但是事实是,一个再好的发动机,配上一个不对付的变速箱,也不可能在奔向目标的路上发挥自己的能力。最终也就导致想做的事情还是没有能做成。
如果真的愿意全心投入一个热门行业,不妨找个值得投靠的经理,哪怕换个公司。
## 总结
这节聊了一些腌臜的事情,毕竟生活不止诗和远方的田野,还有眼前的苟且。但是我们的生活还是要有正能量。顺境的时候别人的赞赏不要当真,逆境的时候,别人的贬低和冷眼也不要放在心上。遇到问题时,先反思一下是自己的问题,还是别人的问题,然后再解决问题。身为程序员,我们要靠能力吃饭,只要本事过硬,换个工作并不难。从这个角度来说,程序员没必要忍着一个奇葩经理。如果是对公司有感情,也可以考虑内部转岗。
当然,无论遇到多么糟心的事情,我都不建议你裸辞,或者作出任何冲动的选择。有奇葩的经理,也有奇葩的公司,我们要的不是改变环境,而是找到合适自己的环境。说句鸡汤一点的话,不要用别人的错误惩罚自己,遇到不顺心的事情,也要在规则和自己的道德底线的约束下,做出最符合自己利益的选择。<img src="https://static001.geekbang.org/resource/image/8c/cc/8cc32032afaf34f90b21964e30b8e0cc.jpg" alt="">
## 思考题
这一篇可能会引出你的共鸣,在你的职业生涯,都遇到过或听朋友说起过哪种类型的奇葩经理?你或者你的朋友都是如何应对的呢?
欢迎你在评论区和我讨论,也欢迎把这篇文章分享给你的朋友或者同事,一起分享一下彼此的看法。

View File

@@ -0,0 +1,107 @@
<audio id="audio" title="10丨职业规划 跳槽之前你想清楚这些事情了吗?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/15/26/1518fec534d116d92cb76a4c53299e26.mp3"></audio>
关于换工作,江湖上流传着很多说法:在一个地方工作满三年就应该换工作了;自己要主动出去看看,涨涨见识;工作一年不要换工作……等等等等。
我参加工作13余年了换工作的次数一只手数不过来。短的不到一年长的刚满五年。自己和周围的朋友换工作有经验也有教训这篇文章我想跟大家分享一下跳槽之前要考虑清楚的事情。
## 是什么,撩动了你跳槽的心弦
### 心态
马云说:“员工的离职原因很多,只有两点最真实:钱,没给到位;心,委屈了。”委屈了,就是自己心态不好了,心里有疙瘩了。
言论是死的,每个人所处的环境是活的。你需要结合别人的建议和自己的实际情况,好好思考一下,换个工作是很简单,但是换个工作就能奇迹般地让自己在以后的工作中都不会再受委屈了吗?难。
如果因为没有升职,就一口咬定是公司或经理瞎了眼,识不出自己这匹千里马。心中叫一声:“此处不留爷,自有留爷处。”然后跑去面个试,涨个薪,辞职走人。开始肯定是爽的,但如果确实是自己有不足而没有意识到,那么干了两年,可能发现自己还是没有升职。
其实,每个公司都有问题,包括你跳槽想去的公司。我工作这么多年,接触过来自不同类型的公司的程序员。关于前公司和现公司,大家都有吐不完的槽。没有完美的公司等着你加入,不要抱有不切实际的幻想:换个工作就好了。先想清楚看自己是不是有改进的地方,否则单单靠一份新工作,是不可能帮到你的。
你想想,为什么公司会对求职者进行背景调查,想要弄清楚求职者在前司的表现是怎样的?一个人在前司的表现情况,很大程度决定了这个人在新公司的表现情况。如果一个人之前做事就不认真不负责,那么新公司还凭什么相信这个人呢?
同样,对于我们自己的问题,无论是技术的硬实力,还是做事情的软实力,都可能随着公司的发展或者自己承担的责任变化,需要进一步提升。工作一时不顺心,就想要冲动换工作,其实只是逃避自己身上的问题而已。换个公司,自己却不做改变,工作一样也不顺心。
无论是因为什么原因,如果感觉自己心里受了委屈,不妨先放下之前的自己,找相关的同事和经理谈谈,听听大家对自己的看法。也许大家认为你做的事情还有改善的空间呢?也许这家公司就是不适合你,公司的价值观和文化与你的风格有冲突;也许换工作的决心已经定了,但是这并不妨碍你先把心情理顺了。
人都是一边经历一边成长的。既然都已经经历过了,何不弄清楚原因呢?这样才能帮助自己成长。所以要尽量弄清楚心里有疙瘩的原因,再审自己是否应该跳槽。
### 主动求变
除了工作不顺想跳槽之外,当然还有主动求变的因素。如果是自己主动求变,求突破,那么在想清楚之后,不妨直接行动。
我推荐先看看这篇文章:[《选公司 如何选择一个适合自己的公司?》](https://time.geekbang.org/column/article/242615)。除此之外,我们接下来还会进一步主动求变这个要素,比如创业、比如职业选择等等。
我刚刚毕业的时候在一家传统软件公司工作了几年工作的方向是单机的工具开发和UI也就是类似Eclipse这种基于SWT开发的工具和IntelliJ这种基于Swing开发的工具。几年后虽然自己也有成长但当时互联网又热了起来我2006年毕业没有经历过2000年的互联网泡沫破灭行业新闻里说的全是互联网新技术。当时就隐隐觉得这种传统软件公司的“风头”已经要被互联网盖过去了于是跳槽的种子就种下了。
后面换的公司是一家大型互联网公司,但工作还是工具开发。但无论是工作节奏,内容还是技术氛围,都和之前的传统软件公司有很大区别。
然后出于一个偶然的原因我换了一份Java后台开发的工作自此以后我基本都在做Java后台开发工具开发的技术就撂下了。不过即使我当时没有换工作工具开发的风头也马上要过去了。当时开源和标准越来越成熟傲娇的大型互联网公司也纷纷拥抱开源公司自己开发工具的价值越来越小。
没几年后Android和iOS开发火了起来。这次我玩了玩Android开发有点UI开发的底子学起来还是挺快的。但是当时并没有考虑换工作主要原因还是我自认没有什么艺术细胞对画UI做交互实在是没有什么心得。虽然有兴趣但是无奈没天赋。
主动求变需要考虑的因素有很多,既要看客观环境的机遇,也要结合自身的兴趣与长处。尤其是个人兴趣。因为变就代表着新的开始,代表未来可能很长一段时间内,付出要大于收获。要想坚持到开花结果的时候,需要兴趣和热情提供动力。
### 薪资待遇
公司的待遇跟不上行业水准,基本上是跳槽最直接的原因。毕竟大家一聊天,发现技术差不多,做的事情差不多,工资却差一截,谁心里都难免不爽。而且如果一个公司工资长期跟不上行业水准,有可能是公司发展不行,那么这种要跳槽,就不仅仅是为了涨薪了,也是为了长远做打算。
如果遇到远高于行业标准的薪资待遇,谁又能不心动一下呢?工资就像是颜值,颜值能用最简单直接的方式吸引一个人的注意力。“想挖人,开高薪”。但是跳槽涨薪有个基本的逻辑:公司能从你身上获取远高于你工资的收益,否则这种涨薪就是不健康的。公司很可能无法长久维系。毕竟我们期待的是长久稳定的高薪,而不是窜天猴式的“一飞冲天,瞬间跌落”式高薪。
另一个是2012年左右的万达电商。当时猎头给出的话是阿里等电商公司来的double没问题猎头的话不可不信当然也不能全信。那自然也是能招到很多人才。但是经历了很多年万达电商也没做起来。后面的裁员也是一波又一波。
我们是程序员并不能判断一个公司能否通过高薪招聘健康长期地运转下去。现在也有很多发展很好的公司能给的offer也是业界知名的高同样的工作压力也是业界知名的大。我给出这俩例子的目的是让你思考一下如果一个公司高薪招聘但是又不是特别忙没什么业务那么你就应该小心一点。
没人会跟钱过不去,但我的建议是,不要让薪资待遇成为你跳槽的唯一原因。公司文化,工作压力,发展方向,是否可持续发展,公司稳定性等等因素也是要重点考虑的。
## 是什么,稳定住了你的心弦
### 频繁跳槽的坏处
虽然现在软件行业已经没有那么疯狂了,但是想换一个工资更高的工作,还是不难的。那么为什么明知道跳个槽可以加工资,大部分人却不在每年加薪完毕就跳槽呢?因为大家都知道,频繁跳槽带来的那点工资涨幅,远抵不过它带来的副作用。
我有几年近乎是一年一跳基本上是觉得工作没意思了就跳。这样做带来最直接的坏处就是简历非常难看——不光HR嫌弃领导更嫌弃。
公司是一个有机的整体大家一起工作一起磨合新人也要熟悉公司的方方面面。公司还会安排系统的培训帮助新员工熟悉公司。一个新员工刚来的前几个月产出可能都是0。一年下来好不容易熟悉了又拍拍屁股走了公司损失的不仅仅是钱更多的是培训新人所耗费的一年时光。人走了又要招聘新人继续培训、磨合……我相信每个有经验的管理者都会有类似的经历。
为了避免培养人才的成本付诸东流经理和HR在聘用招聘频繁跳槽者时会非常谨慎。在条件差不多的候选人中他们会更青睐稳定性好的候选人。
当然,工作一年一换的简历,也不愁找不到工作。但是喜欢这种简历的公司,更多的是期待你能马上上手工作,输出价值。不会给你熟悉公司和业务的时间,这样的公司很可能也不打算培养你成长。将心比心,公司为什么要冒险培养一个习惯性跳槽的人呢?就好像如果你知道公司一年后大概率会开除你,你还会矜矜业业地工作吗?这样的公司,对员工的成长其实是不利的。
所以说,跳槽,要控制频率。
### 长期来看,在一个公司的积累和成长最值钱
无论想跳去的公司看上去有多美丽,无论猎头多么巧舌如簧,让你感觉错过这个机会就是错过了几个亿。你需要冷静一下,看看这句话是不是有道理:能够在一个行业或者一个公司有所成就的人,肯定是在这个行业和公司长期积累,长期耕耘的人。
不信你想想那些在业内作出实际成就的软件工程师,哪个不是在一个公司的一个领域耕耘积累多年,方能开花结果,一战成名天下知?
张小龙是程序员起家开发的Foxmail是当时最好用的国产邮件客户端没有之一。后被腾讯收购他也加入QQ邮箱团队。QQ邮箱在他加入的那几年可谓改头换面做得很不错。后来我们也知道了张小龙最成名的作品是微信。邮箱和微信都是沟通的工具。微信的成功我相信少不了他在邮箱这个产品上的积累和思索。
如此这般在一个领域耕耘多年的人,还有很多很多。
真正有金手指的天才可望不可求,而且对于软件工程师这种需要项目落地的职位来说,和每个公司每个行业具体的环境都是息息相关的。对于我们普通人来说,要想做好软件工程师只有长期耕耘,才能有所成就,这就是事实。
当然,换工作可以不换方向。这个要提前和新公司商量好,最好能有认识的人,做熟不做生。如果你孤身一人加入一个公司,即使之前谈得再好,也难保没有变数。在之前的公司你也许是个人物,换个新公司却不一定有人认识你。事实是,你刚到一个公司,毫无产出,孤立无援。你没有影响力,没有声誉,没有根据地。别人怎么安排你,你都没有太多反抗的资本。
如果你觉得现在做的事情有价值公司和行业也发展得不错自己有成长公司也愿意支持你的方向给你资源发展不妨坚持做下去不要轻易被外界的offer诱惑。因为长期来看只要公司在发展和成长一个人在一个公司的积累和成长大概率会给你带来稳定的长期收益。当你精通某个领域甚至已经成为这个领域的专家时offer还会是问题吗
### 内部转岗
在一个公司的同一个软件开发岗位做得时间久了,如果工作内容没什么变化,难免遇到成长的瓶颈。这时候,内部转岗也不失为一个好选择。
很多公司鼓励内部转岗,鼓励员工熟悉一下公司的各个组在做的事情,让你知道公司是怎么运转的,而不是坐井观天,只看和自己相关的一部分。
如果是既想换公司又想换工作方向双重不确定因素开始的一段日子可能会比较苦。这时候不妨试试看内部转岗。比如你想从Android开发转后台开发想从开发转分析师不妨先在公司内部找找机会。这样的话一方面你对公司的环境和系统都熟悉工作上手更快另一方面如果你之前表现不错这种好声誉也会伴随着你去新的组。
## 总结
说了这么多,其实道理也很简单。委屈了,要知道为什么,以后才能不受委屈,赌气换工作不能解决问题。升职加薪是好事,但是自己的成长和长期稳定增长的收入才是金不换。换工作之前,更要平衡好自己的生活和发展,要想清楚哪个选择是短期利益下的诱惑,哪个才能带来长期利益下的发展。
有个前辈总结了一个理想工作的关键要素:钱多,活少,离家近。我觉得前辈说的非常符合我自己对理想工作的期待。希望你能找到自己理想的工作。
<img src="https://static001.geekbang.org/resource/image/10/d9/1090df5b015ecc730b85e805e96e8ad9.jpg" alt="">
## 思考题
除了薪资和心情,你还因为什么换过工作?
欢迎在评论区分享你的经历,也欢迎你把这篇文章分享给你的朋友或者同事,一起交流一下。

View File

@@ -0,0 +1,165 @@
<audio id="audio" title="11丨面试如何准备简历和面试" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/b8/54/b81b49958a72abd8df5262ec7ec8b654.mp3"></audio>
在上篇文章中,我们聊了聊换工作之前要思考的问题。接下来我们趁热打铁,聊聊身为程序员的我们,应该如何面试?
面试的时候,不知道你会不会有这几个感觉?
1. 为什么我感觉面试官就是在故意刁难我?
1. 为什么很多面试中被问到的问题都比实际工作中用到的要难?
1. 学历重要吗?
## 面试是什么
面试面试,到底面的是什么呢?根据我这么多年面试和被面试的经历,我的观点是: **面试是和面试官合作,展示自己的优势和优秀之处**。这样经过对比之后,面试官才能择优录用。
我们需要摆正自己的心态,其实在面试过程中,面试官和面试者的关系不是对立的,而是合作的。两者的目的是一样的:通过几个小时的面试,弄清楚面试者,到底是有多优秀,是否适合当前的职位。
当然经理和HR的面试还会侧重不同的角度他们要考虑成员的稳定性、成长空间、薪资、背景、组内人员构成、性格品格、交流以及技术储备等等。但是基本的逻辑是不变的面试者需要和面试官一起合作将自己优秀的一面展现出来。让你这个求职者闪着金光的素质点照到面试官的眼里。
当然了,要想面试,首先要获得面试的资格。简历就是帮助我们通向面试的钥匙。
在你的简历到达每个面试官的邮箱的时候,面试其实就已经开始了。
## 如何书写一份合格的简历?
我面试时遇到过很多让人皱眉头的简历,比如篇幅太长,重点不突出,组织混乱等。
那么简历到底该怎么写呢?
### 精简工作经历
简历中最重要的部分莫过于每份工作经历的职责和内容了,因为这将是面试官挖掘你闪光点的重点区域。
这个部分里,注意不要写流水账,要学会梳理每份工作的重点,尤其是最近的工作——每段经历都解决了哪些问题,带来了什么价值,你从中学到并使用了哪些技术。
同时,面试官还会特别关注你在每一份工作经历中那些不平常的经历,比如,安排你去做了别的领域的工作,你能否快速学习新技术,比如如何维护和迁移遗留系统等等。
这些实打实的工作经验,是最具有含金量的,尤其是和面试的职位有重叠的工作经历。
但我们要注意的是,对工作经历的描写要有的放矢,也可以更好地控制简历的长度。
如果有三份简历扔给面试官一个5页一个3页一个1页相信我面试官不会分别用5分钟3分钟和1分钟看这三份简历的而是基本都用2分钟。
因此简历不要太长,要精简有力地说出自己在每一份工作中的亮点。如果在一段工作经历中,自己没有发挥什么作用,那就一笔带过。啰嗦的简历只会让金子淹没在一堆没有价值的沙子里。
我的建议是如果是你刚毕业简历不要超过一页单面A4纸下同。工作十年以下不要超过两页最多最多不要超过两页半。
### 经历倒叙
简历一定要倒叙,倒叙,倒叙!重要的事情说三遍。面试官关注的永远是你最新的工作经历,而不是你刚参加工作的那段经历。如果面试官看到你的简历,第一段内容是你刚毕业时候的工作,印象分就先减去大半了。
### 突出重点
前面说了要倒叙,但是对于一些自己想重点突出的内容,还是可以考虑放在简历的最开头的。这里的开头指的是在**姓名联系方式等固定开头**的下面。
比如,获得过有知名度的奖,得过有分量的奖学金,是某个知名开源项目的贡献者,深入研究过某个开源项目,自己有个不错的技术博客等等,只要你觉得是你的闪光点,都可以放在简历的开头。
比如说我虽然已经过去七八年了我还是会把我写过《Java 入门 1·2·3》这本书的经历放在简历的开头。只是想给面试官一个印象我Java基础不错文字描述能力也凑合而且是倾向于踏踏实实搞技术搞开发的。
以上说的是简历的硬性要求,还有一点我们不能忘记,那就是简历的工整性。
### 排版工整
排版要清晰工整。不要从网页上复制一个到 word 里就当简历了。这是一个态度问题,虽然不用过度迎合(大部分程序员不吃这一套),但最基本的互相尊重还是要有。
最后,以上所有的原则都建立在“简历不要造假”的前提下。
## 准备面试
当我们凭借简历顺利进入面试阶段的时候,我们就可以根据这家公司的招聘风格做针对性的准备了。
每家公司都有不同的面试偏好比如Google对算法的要求就比较高如果你想去Google就得好好刷算法要保证脑子先进入状态。其实每个知名公司的面试风格网上多的是你在面试之前不妨去搜一搜。
除此之外,还可以先自己模拟一遍面试,进入状态。这里我分三种面试者分别谈谈面试前应该准备什么。
### 应届生
很多大公司的校园招聘和社会招聘是不一样的,有些职位是一定要招收应届生的。但是应届生招聘其实没太多需要说的内容,刷题就对了,刷算法和数据结构就对了,展示自己优秀的一面就对了。
如果能找到学长内推是最好的,只要还有职位,基本上可以保证有一次面试的机会。
### 工作经历不丰富者
如果工作经历在一两年之内,那么首先我劝你不要跳槽,哈哈。当然你看到这里肯定是想换工作的,那么我劝你想一个足够有说服力的理由去回答“你为什么要换工作”这个问题,因为面试官一定会问到。
当然,这个时候的你,除了要梳理工作经历,可能也要像应届生一样刷算法和数据结构。
### 工作经历丰富的面试者
工作三年以上,就可以认为工作经历比较丰富了,毕竟一个大学才上四年,去掉寒暑假和实习,也就三年嘛。这时候准备面试,应该把自己想突出的和自己的优势好好总结一下。
再强调一下,要突出重点,不要泛泛而谈,可以突出自己的工作成果等实际的内容。
然后梳理一下自己用到的技术。如果面试官问到工作中的一些技术细节,要能回答上来。最后还有一些基础的算法,数据结构还是要礼节性地准备一下的。
当然了,还有内推这样的方式,不过内推一般都可以获得面试机会,只要好好准备即可。
那么最重要的来了,面试的时候,我们到底需要注意什么?
## 面试中需要注意什么
这里我列出一些面试中需要注意的点。
### 不要勉强
面试时间有限,要抓紧短短的面试时间,展示自己的优势。不会就说不会,不要勉强,更不要瞎扯,有时候,瞎扯会被直接拒掉。
### 注意反馈,交流通畅,表达清晰
注意和面试官的互动,注意面试官的反馈。如果面试官明显对你的回答不感兴趣了,或者没有听懂,那么要主动停下来,不要自顾自地喋喋不休。
要注意表达的清晰准确,毕竟面试官有考察你的责任,对于你的“口误”,面试官可能会点一下,确认你是不是会,也可能直接在心里认为你不会。
有时候面试官可能问不出问题,冷场了。这时候你可以将你自己认为的亮点之处主动说出来,和面试官主动交流。
### 不推荐靠面经面试
如果你面试前的心态是怎么“对付”面试官,那么很可能会把事情做偏。比如去找各种面经,各种所谓经典的面试题来背诵。
当然,如果你本身是会这个技术的,面经还是可以看看的。这也是对面试的尊重。如果你本身没有这方面的经验,想指望靠面经“伪装”成会这门技术,其实不大可能。这种套路很容易被识破的。实际工作中用过学过,和突击看面试题的区别很大。如果只是背过,稍微换个角度问一下,不会的就直接卡住了。
### 其它注意事项
首先,要准时到场。这一点不用多说。
其次,不会的时候不要较劲,不要反问面试官问你的问题。面试官是挖掘你的闪光点,不是证明自己比你更优秀,懂得更多。出于考察的目的,面试官是有可能问一些“自己认为你应该会但是自己不会的问题”的。
## 关于面试的世纪疑问
### 为什么我感觉面试官就是在刁难我?
一个合格的面试官,是在面试中挖掘面试者的优势,而不只是劣势。但是不可否认的是,确实有些面试官会逮住面试者不会的,或者是没有做过的东西使劲儿问,再比如有的面试官把面试者当编译器、技术规范、文档手册这么来面,过于死板。
这种行为实在欠妥。
遇到这种面试官,我们首先还是要尽量回答面试官的问题。然后可以围绕面试官考察的点,试着“主动出击”,突出自己解决问题的能力。比如,自己使用过和某个技术相近的技术,而且解决了实际问题;比如自己确实阅读过技术规范,理解其中的概要,并在实际工作中,通过查技术规范解决了某个问题等等。
### 为什么面试中问到的问题比实际工作中用到的要难?
面试也是一种淘汰和选拔的机制,所以使用比实际工作更难的技术来选拔出更优秀的人才,也无可厚非。
但你可能还有疑问,为什么面试难度堪比造火箭,实际工作确是拧螺丝?比如面试时一水儿高大上的算法,实际工作不还是用不到?
换个角度,面试算法,其实是考察你的学习能力,你是否能通过学习,掌握这些算法。如果你可以,那么就说明你的能力挺好。接下来就是重点,那么你这种能力,也可以用在解决工作中其它问题上。
所以背后的逻辑明白了吗?问的内容会不会用到不重要,重要的是你有没有学习的能力。这能力就好像黄金一样,黄金不能吃不能穿,但是它代表价值,可以换来吃的穿的。
其实我对这个,也是有点无奈的。这相当于变相承认了技术等于能力,不过不得不承认,用技术难题来考验面试者,始终是一个有效的手段。
### 学历重要吗?
在没有工作经验的时候确实只能看学历这和考察算法是一个思路。好的学历说明这个人学习能力强。至于学会的那些东西在工作中有没有用其实不是那么重要。一个学习能力强的人更能让公司相信TA在工作中也可以学得更快工作得更好。
当然,随着工作年限的增加,学历的重要性就会慢慢减小。学历就像是一块奖牌,但是工作经历和工作取得的成就也是奖牌。奖牌多了,单块奖牌的重要性就下降了。
## 总结
面试是公司择优录用的一个过程,因此从一开始,我们就要精心准备,从简历,面试准备,到面试发挥,每个步骤都需要用心思。在这个过程中,最重要的,就是自己的积累和成长,毕竟面试靠的就是厚积薄发。
最后需要强调的是,面试最重要的一点是,要真诚,绝大部分的公司对面试中的作假行为都是零容忍的。对于自己的经历,要坦诚地和公司描述清楚。即便之前工作的经历不好,但坦诚的态度也会让人相信你有改进的决心。
<img src="https://static001.geekbang.org/resource/image/28/18/28d3152d298e389b1ddaade7101a8218.jpg" alt="">
## 思考题
你有什么样的面试经历想吐槽吗你有经过自己的努力拿到自己心仪的offer的经历吗欢迎你在留言区和我交流也欢迎把这篇文章分享给你的朋友或者同事一起分享一下彼此的交流经验吧。

View File

@@ -0,0 +1,88 @@
<audio id="audio" title="12丨外包外包不也是写程序吗有什么不一样的" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/5e/1f/5e6ef8a50062292988ddf313ec89871f.mp3"></audio>
有一种软件公司,叫做软件外包公司。软件外包公司做的是拿甲方的钱,按甲方的要求,帮甲方完成项目的工作。这里的工作一般就是写代码,也可能会包括一些上线、运维、维护等内容。
外包的工作一般是以项目为单位的。一般来说,如果项目需求设计都很清楚,外包公司都会在自己的办公地点工作。也有项目需要频繁和甲方交流的,根据实际情况,外包公司也会让项目相关的员工去甲方的办公地点工作。
除了这个形式上的特殊之外,软件外包具体是做什么的呢?和软件研发有什么区别呢?外包值不值得做呢?
我可以在这里先甩出结论:一个程序员,如果想长期从事这个行业,那么外包不值得做太多年。下面我们就来说说为什么。
## 从修路的例子看,外包有什么限制?
首先,我们来看个修路的例子,通过这个例子我们来看看外包的主要矛盾到底是什么。
假设A公司要给一个开发区规划公路那么A公司要考虑的事情其实有很多比如哪里是居民区哪里是办公区哪里是主干道各条道路分别需要几个车道路的承重多少路基怎么设计才能扛得住承重……除了设计可能还要铺设简单的实验道路验证设计的可行性。
当A公司做好所有这些设计之后就会交给市面上专业的修路公司将修路工程外包给这些公司去做。修路公司人多长期从事铺路工作签了合同之后就可以带着几百上千号人拿着图纸开干。
这时候我们可以认为A公司就是甲方修路公司就是外包公司。外包公司在具体做项目的时候对路的各种技术细节以及其背后的奥妙其实并不是特别清楚。比如为什么这条路是双向8车道而不是双向6车道为什么路基要分这么多层每层要这么厚为什么路面的坡度是这样的而不是大一度或者小一度
看到这里,我想你应该明白了,我们的软件开发上也是同样的道理。
软件外包中,甲方公司一般也都有些软件背景,会自己分析需求,自己做出详细的系统设计,但是写代码的人手不够。这时候甲方公司就找到外包公司,让外包公司按照自己的设计,帮自己写代码做系统。
做软件外包其实就要面对着一堆需求文档、API文档和详细设计说明书照着要求写代码。但是代码背后的业务逻辑外包人员可能是无法理解的。比如说原始的需求是什么样的基于这些需求又经过了怎样的讨论和权衡才得出这样的API设计API文档中为什么要强调某个地方缓存为什么是Redis为什么设计里使用的数据库是MySQL而不是MongoDB
看到这里,是不是已经隐约感觉外包和非外包的区别了?外包工作并不能让我们详细地了解工程的本质,除此以外,它对我们的限制还体现在方方面面。
## 外包的限制具体有哪些?
### 难以获得完整地解决问题的能力
**如果用一句话来概括,我觉得外包真正的问题在于,它的工作内容只包括最后的写代码,不包括写代码之前的思考和筹备过程**。然而就是这个思考的过程,对程序员来说,是非常重要的锻炼。通过这种锻炼,程序员可以逐渐培养出思考问题的能力,再学着将这些问题分解为一个个小的、复杂度可控的模块,进而通过编程完成一个能解决问题的系统。这就是使用技术解决问题的能力。另外,还能够积累在相关领域的专业经验。而这些积累,是程序员拥有更好待遇的有力支撑。
纯粹写代码,并不是解决问题的完整过程。如果不经过前期的思考和锻炼,解决问题的能力是无法得到很好的锻炼的。就好像只修路的工人很难理解路背后各个参数的含义,自己也就没办法设计出一条合格的公路。
### 外包公司不注重人才的技术成长,涨薪受限
外包的工作内容,事实上也决定了外包公司对人才的态度。从外包公司的利益来看,只要员工能够“按照需求,写出代码,完成功能”就可以了。只要能够到达这个水准,那么外包公司就没有理由,也没有动力去培养人才了。
同样的道理,一般外包公司也不会鼓励员工深入学习一门技术。毕竟外包公司的任务就是把事情做出来,至于怎么做更好就不在外包公司操心的范围内了,甚至可以说,外包公司也操不上心。所以,我们在前面提到的很多主观能动性等内容,在外包公司看来,并没有太多的适用场景。
在我看来,外包公司不鼓励程序员深入学习还有两层利益的考虑,一方面,学习需要耗费时间。技术够用就行,没必要探索用不到的新技术,公司更希望你用这个时间来干活。另一方面,如果程序员技术精进了,跳槽的几率就会变大。因为外包公司不需要程序员有强大的技术,而程序员有了技术傍身,工资又不涨,自然会考虑跳槽。
### 外包公司没有探索的环境
因为需求和详细设计都是甲方定的作为实施的乙方也没有权利和自由去实践可能更好的方案。需求里写的用MySQL那么就是MySQL即使乙方的开发人员再怎么觉得用MongoDB好也没有权利和渠道更改。
我们还是用修路的例子来举例。如果A公司的一个设计人员通过计算认为改一下混凝土的成分比例和路基的厚度可以降低成本达到更好的承重效果。那么A公司大概率会鼓励创新让设计人员铺个实验路面试试看。
但如果是铺路公司的施工工人有这个想法,负责人大概率只会让工人老老实实按照图纸施工。一方面是因为就算乙方有了更好的实施方案,也不会拿到更多的钱,另一方面是铺路的材料可能都已经按照之前的规划定好了,已经过了方案修改的窗口期,修改的代价太高了。
### 可替代性强,可能无法完整参与一个项目
因为外包公司的工作比较单一,所以可替代性也更强,同样外包公司程序员的可替代性也强。这也造成了外包公司的人员流动比较大。
外包公司可能会被甲方换掉,即使不换掉,一个项目的程序员也可能无法参与项目的下一期的工作,甚至有可能在做一个项目的过程中就被抽调走了。
从成长和积累的角度来说,程序员最好能参与项目的整个过程,甚至一个项目多期的开发,这样就能够沉淀完整的经验。如果是东一榔头,西一棒槌,技术和业务都很难沉淀下来。如果能参与一个项目多期的开发,也可以从这个项目的技术演进中,学到不少东西,但是如果无法连续参与,也无法收获这部分经验。
## 什么情况下可以考虑外包?
看完了上面的内容,我不知道你有没有发现,我不赞同长期从事外包工作的出发点只有一个,那就是不利于程序员的个人成长。那么反过来说,只要你觉得自己有成长,有收获,那么从事外包也不要紧,毕竟凡事没有绝对。外包没有好与不好,只有合适与不合适。
这里我一下可以考虑外包的几种情况。
### 通过外包快速积累经验
对于刚毕业的同学来说,好的外包公司也不失为一个不错的开始。成熟的外包公司一般会有规范的项目管理、文档管理和代码规范管理等,这些可以培养程序员优秀的编码习惯。同时,在还没有熟练掌握一个技术之前,在外包公司可以通过项目将自己的熟练度提升上去。
### 希望进入一个新的行业
有的外包公司有自己的工作风格,比如主要接某个行业的外包项目。那么如果你想进入某个行业,但没有相关经验,无法通过面试直接进入这些公司。那么不妨考虑相关行业的龙头外包公司,积累相关的行业经验。
当然,并不是每个人都喜欢一直从事一线程序员的。相比来说,外包公司更容易转管理。当然,我并不认为管理是程序员必须走上的道路。后面我会专门写一篇文章来聊这个话题。
## 总结
外包公司并不是一个很好的让程序员可以长期发展成才的环境。在外包公司呆久了,这种氛围可能会让人有两个错误的认知:程序员的工作就只是写程序;程序员只有转管理才有前途。
如果想要成长,就不要被外包公司的氛围影响,做个有心人,肯下功夫,也会有自己的收获。当然,如果你觉得在外包公司已经没有太多的成长空间了,感觉自己不想只是写程序了,那么不妨换个环境。一般来说,在一项技术上如果有三年的积淀就差不多成熟了,五年就可以说很成熟了。这时候如果还想继续做程序员,就要考虑向更高的层面发展了,去锻炼自己除了写代码之外的能力。
当然实际的外包形式有很多今天的内容里只是讨论了一种最主流的形式。也有一些外包公司反其道而行之专门做一些甲方无法搞定的非常专业的工作甚至连方案都是外包公司参与一起制定的。想当初MS-DOS就是IBM外包给微软开发的。如果你正在从事外包工作千万不要否定自己的工作。总之一句话只要感到自己有成长有收获那么就是值得的。<br>
<img src="https://static001.geekbang.org/resource/image/f1/f2/f190315878631678eae30a1f7d4144f2.jpg" alt="">
## 思考题
外包可以说是一个很常见的现象了。不知道你有没有在外包公司工作过呢?根据你的成长历程,你有哪些感触呢,欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。

View File

@@ -0,0 +1,141 @@
<audio id="audio" title="13 | 外派:大家都在一个办公室工作,有什么不一样?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/81/2e/819647da051131dfb72c966173cfff2e.mp3"></audio>
你好,我是臧萌。前面我们聊了外包,今天我们来聊聊外包的兄弟:外派。
外包和外派有类似之处。都是甲方因为某些原因,需要一些人帮助甲方工作,但是甲方不和实际工作的人直接签订劳动合同。那外包和外派到底有哪些不同呢?如果我已经在做外派了,有哪些点是我可以注意的呢?到底要不要一直做外派呢?今天我就和你来探讨一下这些问题。
## 外派和外包有哪些不同?
### 1.同事和环境不同
从同事和工作环境层面上来看,如果你是外包公司的程序员,那么你的同事就是自己公司的同样做外包的程序员,基本也就在本公司工作。
而外派之所以带个“派”字,意思就是要派到甲方那边工作。所以外派程序员的同事通常是甲方的员工,工作地点也一般是在甲方办公室。一般来说,外派的程序员会加入到甲方公司的某个组里,和甲方的员工一起从事一个项目。
### 2.和甲方的关系不同
从与甲方的关系上来看,外包一般是以项目为单位,所以甲方和外包公司是项目合作关系。甲方公司和外包公司的员工没有任何关系或约定。
对于外派来说,外派员工除了要和外派公司签订劳动合同之外,还需要和甲方签订派遣协议。虽然外派一般也都是因为甲方的某个项目,带来的用人需求,但是涉及人要来甲方公司工作,还是需要一个名分和一定的稳定性。所以派遣协议一般是以时长为单位,比如一个外派的员工派遣协议上一般是签一年的时间。
### 3.做的事情不同
从做事的层面来看,外包公司的介入是在甲方完成了前期需求分析和设计之后。因为有合同的约束,留给外包公司的发挥空间其实很有限。而外派一般会参与项目开发的大部分甚至整个过程。
## 外派到底在做什么?
下面我们还是通过上一讲中外包修路的例子,来看看什么是外派。
还是熟悉的A公司这次A公司要负责给开发区设计公路。项目伊始有很多论证、规划和设计的事情要做这些都是项目施工前期工作更具有技术难度和不确定性。
A公司为了给出可靠的设计可能要去勘探开发区的地质环境可能要铺设实验道路可能要在总体设计确定之后赶工画设计图纸。这些都是项目早期的工作但是技术含量并不是那么高而且根据道路规模的不同需要的人也不确定。
在道路设计期间A公司可能需要临时雇佣一些人来协助完成相关工作。这些临时雇佣的人一般就是外派的员工。外派员工需要和A公司员工频繁交流、紧密合作。
相比于外包的单向交流,这部分工作的双向交流会多一些。比如,地质条件测量的很多指标和细节,如何结合地质条件,设计和铺设实验道路等等。这部分的工作,都对外派人员的技术、经验和仔细用心等提出了更高的要求。
好,外派的工作内容我们大致了解了,接下来我们聊聊软件公司里的外派都有哪些不足。
## 外派有哪些不足?
从钱的角度来说,外派的逻辑是甲方公司用预算购买人力。所以从甲方公司的角度来看,外派员工就是拿钱过来办事的。一方面,甲方公司需要外派员工能够保质保量地做好工作。另一方面,甲方公司不会为外派员工的工作支付额外的钱。
这种金钱和人力关系看似直接且确定,但作为外派员工来说,却会产生很多问题。
### 1.工作于此,却不属于此
从归属上说,外派员工是和外派公司签订的劳动合同。派遣协议则规定了甲方公司接受外派员工来公司工作,但这并非劳动合同。
甲方公司和外派公司会签订项目合同,甲方公司按照合同付款给外派公司,外派公司再拿这个钱,给自己外派出去的员工支付工资,剩下的就是外派公司的利润。简单点说,就是外派公司会拿着甲方公司的钱,给自己的外派员工发工资,缴纳五险一金等。
所以,外派员工是外派公司的员工,甲方公司不会再有额外预算给外派的员工。没有预算,外派员工就无法享受甲方公司的福利待遇。这里的福利待遇很多种,比如,和健康相关的有医疗保险和体检,和工作相关的比如加班报销政策、餐饮补贴、交通补贴、内部外部技术培训等,生活相关的比如年假、零食、团建费用、年会等等。
除此之外,在待遇和机会方面,外派员工和正式员工也是不一样的。正式员工会有奖金和股票等奖励,但是外派员工并没有。很多公司还有些大大小小的机会,比如出差交流、内部转岗甚至直接转到本公司在外国的研发中心,这些都是外派员工无法参与的。
很多时候,甲方的预算是确定的,所以无论外派员工干得多么出色,付出多少额外的心血,都既无法获得更多的金钱,也无法获得更好的机会。
当然,对应的外包公司也无法享受甲方公司的福利待遇。正所谓不患寡而患不均,外包公司大家都是一个公司的,在福利待遇机会面前都是平等的。但外派员工在甲方公司工作,多多少少都能接触到甲方公司正式员工的福利待遇的信息。有句话是这样说的:一碗水端平。可惜正式员工和外派员工本来就不是“一碗水”,所以根本没法儿端平。
看大家做着“相同”的工作,但收获却不一样,外派员工心中难免会有疙瘩。更有甚者,可能会以此小题大做,网上传的“外包员工深夜加班吃了公司一桶泡面,被内部员工批评”(新闻标题说的是外包,其实他们的工作性质是外派)的新闻,更是凸显了这种不平等。
即使没有这么过分的做法,很多人还是会区别对待正式员工和外派员工。
我有个朋友之前做外派,他跟我提起过一个自己的经历:当时他们和正式员工做同一个项目,自己在项目设计上有个小小的建议,比起现在的方式,他认为有更好的做法。而当他跟一位正式员工说这个事情的时候,对方听都没听两句,直接“礼貌”回绝:“对不起,技术的问题你不要问我。”他的一个建议,被对方当成了问技术问题,而且对方直接制止了他问问题的行为。
这件事情可以看出,首先,这个人可能是觉得外派过来的人技术水平一般,张口一说技术,就下意识的认为是要向他请教问题。这种不礼貌的行为可能和个人的素质有关,但也从侧面反映了,正式员工与外派员工在这个公司的不平等地位。
简单来说,外派员工在甲方公司工作,却不属于这个公司。各种“看得见,摸不着”和区别对待,都是客观存在在外派这份工作中的。所以从我的感觉来说,我觉得外派的工作性质,大多数人都会受不了。
### 2.没有机会独立承担任务
一般公司都会有成文或者不成文的规定,不允许外派员工独立承担一个任务。换言之,外派员工必须跟着正式员工干活,接受正式员工的工作安排。
公司当然有他们的考虑,比如,外派员工和正式员工相比,存在较大的不稳定性,如果外派员工忽然有更好的机会,离职了,事情换人接手比较麻烦;独立承担任务是对人才的培养和锻炼,公司更愿意把这种机会留给正式员工,让正式员工在公司里有更多的积淀。
### 3.不稳定
派遣协议一般都包含甲方可以更换派遣人员的条款。条款内容类似这样:如果甲方觉得外派的人员不能满足甲方的要求,可以让外派公司换人甚至直接终止合同。
对于正式员工,如果发生这样的情况,公司都会给你机会改善自己的表现,或者给你换一个组,很少会直接辞退。毕竟劳动合同不是说解除就能解除的,还涉及赔偿。而辞退外派员工,甲方公司一般是不需要赔偿的。
所以相比之下,外派员工的稳定性,肯定要比正式员工低一些。
### 4.发展受限
甲方并没有培养外派人员的动力,对于甲方来说,外派员工过来就是要能直接工作的,合同到期,也不会自然而然的成为正式员工。因此,外派人员实际从事的工作,大都是非核心的,得到的锻炼有限,自己的发展也受限。
## 外派有哪些优点?
说了这么多外派的不足,下面我们再来说说外派的优点。如果是外派到优秀、成熟的大公司,其实还是有不少优点。
### 1.增长见识
成熟的大公司有很多优秀的内部系统。对于外派员工来说,在这些公司实地工作,会频繁使用这些系统。正所谓,百闻不如一见。这时候如果能做个有心人,多琢磨琢磨这些系统面对的问题,以及这些系统如何去解决这些问题,对于以后自己的发展是非常珍贵的经验。
这些大公司今天已经解决的问题,很有可能就是别的公司明天将要遇到的问题。如果能有相关的积累,之后在去别的公司的时候,说不定就能抓住机会。
再者,大公司内部的资料文档一般都是对外派人员开放的,这也是一个免费学习的好机会。同时,在大公司解决的问题也更具挑战性,也有更多机会接触到解决这些有挑战性问题的新技术。
### 2.较早参与新项目
前面我们提到,和外包相比,外派员工可能会在甲方更早的参与项目。这时候,自己的主动性是可以发挥的。为了能更形象说明这个问题,我们继续回到之前修路的那个例子。
现在路已经修好了但是路口拥堵严重通行效率不高。这时候A公司想到的是统计路口各个方向在不同时间段的实际车流量通过动态调整不同时间段红绿灯的时常来提高通行效率。
这么来看,我们这个方案需要开发一个算法,同时也需要搜集各个路口,不同时间段实际车流量数据。在论证期,可能需要外派员工去路口,人肉统计不同方向的车流量,然后将这些数据输入给算法,得出一个更优的红绿灯时长。
这时候作为外派员工就能够接触到A公司解决问题的思路和细节。如果你是个有心人有了什么想法也可以在提交数据的时候和A公司的相关员工交流。
真正到了执行阶段,如果你的这个方法可行,假如施工公司负责的就是在各个路口安装可以搜集车流量的摄像头,你其实就已经在很早的时候参与新项目了。但是外包公司的员工并不知道这个摄像头的作用,更不知道通过优化交通信号灯缓解交通拥堵的整个过程。
这就像在软件开发中解决问题最终的方案背后隐藏的是一步步思考和摸索的过程。可能最后的结果是在某个数据库前加设一个Redis缓存。但是这个过程可能要包括预见问题、用原型证明问题、思考问题的各种解决方案再通过原型证明方案的可行性最终敲定解方案。这一堆步骤如果能够全程参与其中肯定能收获实实在在的能力。
### 3.证明自己的能力,赢得更多的机会
大公司招聘外派员工的理由有很多,有时候是因为项目紧,事情多,但是没有招聘名额。所以公司会申请一些预算来招聘外派人员来参与项目。不过,在有些公司,如果在工作期间,大家都非常认可外派员工的能力,在有合适的职位开出来的时候,还是有很大可能可以转正式员工的。
当然,如果有这个打算,记得一定要在面试的时候,就跟甲方公司以及外派公司问问清楚,毕竟外派员工是给外派公司赚钱的,转正之后外派公司其实就损失了一笔收入,所以有些外派公司的合同里不允许在派遣期内转为甲方正式员工。
但是,即便不能转正,优秀的人也总能赢得更多人的认可。在人才密集度高的公司工作,对建立高质量的人脉关系也是非常有帮助的。
### 4.现金收入较高
甲方公司也是知道外派员工处境的,对于不差钱的甲方公司,给外派员工的实际到手的钱超过相应的本公司的正式员工,也不是什么罕见的事情。据我所知,基本上规模比较大的公司,都会舍得给外派更高的薪资。
## 总结
好了,今天的内容讲完了,我们来总结一下。
总的来说,外派到不同公司,工作体验的差距还是很大的。有些公司会尽量“压榨”外派员工,有些公司则会尽量公平对待外派员工。正所谓,人心都是肉长的,尤其是我们程序员这个行业,大家都是凭能力吃饭的,大家其实很自然会认可有能力的人。无论是正式员工还是外派员工,只要你的工作能力够强,都可以赢得大家的认可,获得相应的回报。
但是,从职业发展的角度来看,除非是类似咨询这种高端的外派,我个人觉得,普通的外派工作基本和外包一样,并不是一个程序员值得长时间做下去的工作。
但是如果能有机会去一个心仪的公司做外派,工作中好好展示自己的能力,抓住转正的机会,也不失为一条曲线救国之路。
<img src="https://static001.geekbang.org/resource/image/7d/60/7daaba2cae17c49b72bf0c4d0a9fda60.jpg" alt="">
## 思考题
外派和外包一样,也是非常常见的现象了。不知道你有没有在外派公司工作过呢?你在外派过程中有遇到过什么问题,又有哪些收获呢?
欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。

View File

@@ -0,0 +1,155 @@
<audio id="audio" title="14 | 职业规划 :转管理是程序员的终极选择吗?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/d1/31/d183005f9b4448be73b4fd2efa3dc631.mp3"></audio>
你好,我是臧萌。今天我们来聊聊程序员转管理这个话题。
这个话题在中国程序员界很热,很大一个原因就是中国官本位的想法依旧根深蒂固。很多人会觉得,转管理才算是“混出头”了,转管理之后就可以悠哉悠哉地“混日子”了。
这种想法肯定是错的。公司不会养闲人,做管理确实拿的钱更多,但那是因为个人能力更强,付出了更多。传统官本位那一套,很大程度上,在现代的软件公司是行不通的。说通俗一点,在软件公司里,管理和开发,都只是为公司打工而已。所以呢,**不要给管理套上太多虚无缥缈的光环,也不要对管理这份工作抱有太多不切实际的幻想。**
那么,程序员是否成长到一定阶段就一定要转管理呢?我觉得,这个问题背后的核心问题其实有两个:
1. 如果不转管理,是否就到了成长瓶颈了,以后升职加薪基本没戏了?
1. 如果不转管理,会不会到一定年纪就写不动代码了,导致对公司的价值越来越低,最后被淘汰?
那在讨论这两个问题之前,我们先来理解一下经理这个职位。
## 管理岗和个人岗有什么不同?
首先从职责上说公司都有个人岗和管理岗Manager
首先来说说个人岗。个人岗英文简称叫做IC全名叫做Individual Contributor也就是个人贡献者。顾名思义IC的意思就是只能通过自己实际的工作来为公司做出贡献创造价值。软件公司里的程序员都是IC也就是通过自己的专业技能为公司创造价值。
那么与之相对应的就是管理岗。管理岗一般是不做具体工作的。换句话说管理岗除了具体的事情所有的别的事情都要管。管理岗不是通过做具体的工作来为公司做贡献而是通过各种管理技能和指导让手下的IC能够发挥更好的合力为公司创造更多的价值。简单来说就是通过他人来达成目标。
其实说到管理岗和个人岗,这俩概念并不是什么舶来词,个人岗和管理岗就好似我们古代的官吏之别。做官,就是要和人打交道,要有治理理念,能管理人和人之间的关系,平衡各方利益。而专注做某项事的,则叫做吏。比如税吏、狱吏、刀笔吏,这些岗位的名称都明确了这个职位需要的相关技能,也代表了这个职位对应的具体工作。
那么管理岗到底和个人岗有什么不同呢?简单来说,管理岗位是公司执行系统的一部分。我来打个比方吧,**如果将公司看做一个人,管理岗就好像是人的神经系统,个人岗就像是各个职能器官。神经系统控制各个职能器官来做事情。**所以如果是从IC转管理的话很多公司都会提供配套的培训帮助员工完成职责的转换。
## 软件研发公司里一线经理要做什么?
搞清管理岗和个人岗有何不同之后,我们再来看看,软件研发公司的一线经理都要做什么。一线经理,简单来说就是直接管理一组程序员的经理。一个组的规模看具体的工作性质,可能是七八个人,也可能是十几个人,甚至更多一些。那么这样一个经理,平时都要做什么事情呢?我将从对内、对外以及对未来三个大方向和你聊聊。
### 一、对内
#### 从IC视角转向管理视角
正如前面说的IC转管理带来的是视角的转换。IC看管理很自然的是一个从下向上的视角觉得管理好呀可以管人自己不用做事情。但是真正屁股坐在管理岗上之后就会发现自己手头的事情忽然多了担子重了。这时候再看管理内容就完全不一样了。“可以管人”就变成了要对手下的人负责要让手下的人有事做发挥价值。而“自己不用做事”这种想法则变成了“怎样才能发挥好管理岗作为神经系统的指挥、协调和管理作用”。
#### 管理绩效
管理绩效问题是每一个经理都绕不过去的一关。手下的兄弟姐妹们跟着经理干了一年了,谁该升职加薪,谁要黯然退场,都是经理需要搞定的事情。有时候甚至要开除员工。如果没有让大家心服口服,带队伍会越来越难。毕竟没好处的话,谁愿意拼呢?
### 二、对外
#### 组织协调各种资源
经理每天的工作都可以说是在救火。人永远不够用,事情永远都很急,技术债务也在一天天成为发展的掣肘,线上生产问题还会时不时的凑个热闹。经理要组织协调各种资源,在有限的人和有限的预算内,把事情安排到内外各方都能接受甚至满意。
#### 计划和安排,争取资源
经理要给出未来的人员计划和安排,计划未来一年可能需要的预算(包括人、机器、软件等),这些资源分别用来做什么。
这就要求经理必须深入理解自己队伍的家底和强项,并能够在自己的队伍发展和公司发展之间找到契合点,除了要证明自己的队伍现在存在的价值外,还要能规划未来发展的价值,进而争取到更多的资源。
#### 进行各种交流,做出承诺和决策
经理是一个组说了算的那个人,什么事情要在什么之前做完、做完的标准是什么、什么事情要做、什么事情拒绝做等等,这些交流和承诺都要经理给出。经理做出各种决策的同时,自己心里的算盘也要算清楚,手头有多少人,有多少事情,未来还能接多少活儿等等。
### 三、对未来
#### 理解公司发展方向
作为公司的“神经系统”,当然要和“大脑”有通常的信息通道。经理需要洞悉公司和所在部门的发展方向,并理解发展方向背后的逻辑,在此基础上,才能够在繁杂的日常工作中找到工作的重点,让自己的手下能够把时间用在该用的地方。
#### 培养人才,发展团队
人才和团队是经理这根“神经”控制的“器官”和“肌肉”。一线经理很大一部分的工作就是要培养人才,发展团队,让队伍更具凝聚力和战斗力。前面我们讲到的一对一会议,就属于这部分内容。
#### 获取客户,赢得认可
经理还必须是个嗅觉敏锐的销售,队伍里的人负责做事情,经理要向外宣传,也就是所谓的“吹”。
对于一个稍有规模的公司来说,一个需求有时不止一套解决方案。如何能够让自己的队伍做的系统,去争取到更多的高价值客户,创造更多的价值,就是经理要做的事情。同时,更多的需求也是打造产品的原材料,通过让队伍理解和消化这些需求,可以打造更好的系统。
同时,一个公司的事情,往往是多个组协同合作完成的。你不出去“吹”,别人就看不到你在这件事情里的贡献,队伍的付出也就“打了水漂”。所以,如何把队伍付出的汗水包装成大家认可的成果,进而换回队伍的实际利益,也是经理要操心的事情。
在一个队伍中,还难免会有各种摩擦,各种磕磕碰碰,各类杂事,这些经理当然也得去协调。
## 什么样的人适合转管理?
说了那么多经理需要做的事情,经理这个角色不知道在你眼里有没有发生一点改变呢?说实话,就我自己的经验来说,经理可真不是那么好当的。在我眼里,一个合格的经理需要具备如下的素质。
### 喜欢和人打交道
经理的大部分工作内容是要跟人打交道,搞定人和人的关系,搞定关系背后的各种利益,这非常考验经理自身的沟通和协调能力。
同时,跟人打交道的事情不确定性更多,需要操心的事情也更多,工作也更累。所以软件研发公司的经理,绝对不是一个闲职,图清闲的就不用考虑了。
### 会经营、有眼光、有干劲
经理管着一票人,负责一堆事儿。心里要个本账,做什么划算,什么不划算。
还有呢,经理也要有眼光,能够紧紧盯住公司和部门的发展方向,同时为自己的队伍制定适合公司和部门的发展方向。
经理一定是有干劲儿,打心底里要做事情的人。正所谓,兵熊熊一个,将熊熊一窝。如果经理本身气场不足,那么队伍就不可能有太大战斗力。甚至自己队伍的地盘,有可能被人抢走。
### 能够承受压力
转管理之后,各种千头万绪的事情都会涌来,各种信息都要消化吸收,各种决策都等着你做,对外有交付,对内要有交代。所以坐在经理的位子上,抗压能力也是必须的。
### 有远大抱负
如果说前面提到的“要做事”,是管理的基本素质。那么有远大抱负,则是优秀管理者的必备条件。如果你看到技术的前进,感到的不是一般的激动和兴奋,而是心底里不断地涌出要用技术做出一番事情来的冲动,转管理可能是不得不做的选择。因为做技术你只能使用自己的时间,你会深深感觉单凭自己的精力,无法完成自己的抱负。
看着满腔的激情和一天仅有的24小时恨不得自己一个人可以变成十个人。当然这是不可能的但你可以带领十个人甚至更多人和你一起做事情。所以如果想成大事手里就一定要有一个团队用利益更用自己的激情来带领团队实现心中的抱负。
有一个很经典的例子。我们都知道,马云看到互联网之后,感觉这个东西能改变世界。那么他是怎么做的呢?他是不是去学计算机了呢?并没有。他肯定也知道这个事情大到单凭自己是无法做出成绩的,所以他选择组建团队,大家一起来实现心中的抱负。最后他也打造出了自己的帝国。
## 谈谈“临界级别”
无论是IC还是管理越高端的地带职位就越少。一般来说公司都有这样一个临界级别只要靠单纯的把经理交代的工作完成好混“资历”就可以升职到临界级别。
临界级别之上,每升一级,几乎都要淘汰十几个甚至几十个候选人。也就是说,就算单纯靠“混资历”,基本是没可能升到临界级别之上的。其实大家平时说的瓶颈,很多时候指的就是这个临界级别。
事实上管理职位的临界级别确实是比IC的临界级别高了一级甚至两级。所以普通人如果有做管理的素质确实可以通过转管理达到一个比做IC更高的级别。
在我看来,我并不想从“管理更容易升职”这个角度来看待这个现象。我更倾向于理解为,这是对经理更多付出的一种肯定。也就是说,经理这个职位本身就更辛苦,升到更高的级别是一种合理的现象。
## 我不转管理怎么办?
不管程序员是否转管理临界级别都在那里。很多软件研发公司的IC职位也有着非常高的级别程序员成长的瓶颈不是自己的角色是否是管理而是在于自己的能力是否能够达到职业生涯下一个级别的要求。
很多人的迷茫其实是从“临界级别”开始的,不明白自己好好的把事情做完了,为什么不能升职。其实从临界级别开始,要想继续升职,就要实现自我突破,要能够承担起更重的担子,更大的责任。
IC如果想要继续升职方向有很多可以吃透公司的业务主攻业务可以吃透公司各个系统主攻架构也可以主攻技术成为某个方向的技术专家等等。当然这些都需要根据自己的特长来决定也都需要IC能够继续在技术上深入有敏锐的技术嗅觉。但是有一个共同之处是这时候IC的工作就不单纯的是写代码了花在与人沟通塑造自己影响力上的时间会越来越多。也就是说无论是否转管理想要向更高级别迈进都必须注重和人的交流沟通。
但是IC和管理的角色还是很不一样的。它俩最大的不同之处就在于管理要搞定人与人之间最复杂的一件事利益。而IC则专注于做事情就可以了。
## 解答开篇
那么我们再回过头来看看开头的两个问题:
1. 如果不转管理,是否就到了成长瓶颈,以后升职加薪基本没戏了?
1. 如果不转管理,会不会到一定年纪就写不动代码了,对公司的价值会越来越低,慢慢就会被淘汰?
第一个问题。成长瓶颈无论对IC还是管理都是存在的。能够一直做一直升职的人毕竟是少数中的少数。大部分人会卡在临界级别这里。这时候不妨积蓄力量以求突破或者跳槽去别的公司寻找机会。
第二个问题。确实,很多人在到了一定年纪之后,就没有写代码的动力,也没有学习新技术的激情了。这时候,一直混下去很难再有升职加薪的可能,甚至还可能被公司淘汰。如果觉得自己随着年纪和阅历的增长,能够应对管理的职责,那么转管理不失为一个不错的选择。毕竟软件公司的一线管理,还是需要有技术底子的人来做比较好。
## 总结
现实中,也很多人确实是因为对技术没兴趣了,才转管理。毕竟想在技术的路上走下去,学习各种新技术是躲不过的。转管理则可以在很大程度上不用关心各种技术细节。
但是也不是每个人都适合转管理。就拿我来说吧,我在某个特殊阶段,短时间担任过一线开发经理。我感觉从担任经理的那一刻起,自己身上的担子立刻就不一样了。各种事情都要开始自己打理,可以说脑子里就没有一刻是闲着的。想静下心来搞点技术,基本上是不可能的。
当然,这也跟每个人的能力有关。对于擅长这种事情的人,会觉得管理岗位激发了自己的潜力,让自己越干越带劲。但对于我来说,除了累,就是累。所以我还是选择了技术方向。潜心做技术,可以让我感受到发自内心的快乐和满足。
所以是否转管理,答案就在你自己心里。你对什么饱含激情,就应该朝着那个方向努力。
<img src="https://static001.geekbang.org/resource/image/a1/38/a115ec84d69c17790fc3933cfd9bca38.jpg" alt="">
## 思考题
你有考虑过转管理吗,或者你有过转管理的机会吗?你的选择是什么?回顾你的成长历程,你有哪些感触呢?
欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。

View File

@@ -0,0 +1,105 @@
<audio id="audio" title="15 | 职业规划 :程序员加入创业公司,这些事情你想清楚了吗?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/c0/95/c0bbb1844f36d4de8f7e790cf9866e95.mp3"></audio>
你好,我是臧萌。今天我们来聊聊程序员加入创业公司那些事儿。
前面我们聊了一些关于选公司的想法。这些公司呢,属于有成熟稳定的业务模式的公司。也就是说,工资水平属于行业合理范围内,基本不会没日没夜的加班,不用担心整天换方向,不用担心下个月会不会按时发工资等等这些问题。
但创业公司就不一样了。加入创业公司,靠的就是要有一股子冲劲儿。创业公司作为一种特别的类型,我在这里再单独拿出来给你讲讲。不过呢,这里说的“加入”,不是自己去搞个公司创业,而是作为创业公司的早期员工加入进去。这么说可能还是比较含糊,那我们就先来框定一下我们要讲的创业公司的范围。
## 创业公司到底是指什么公司?
在我看来,对于程序员来说,创业公司指的是,能够通过自己的超常付出,在以后事业有成之时,获得超额回报的公司。注意这里有个很重要的前提,是“对于我们程序员来说”。很多公司可能会由小到大,慢慢走向成熟和稳定,但是这些公司对于程序员来说,不一定是创业公司。那具体哪些公司对于我们程序员而言,不能算创业公司呢?
### 1.做项目变现的公司“不是”
做项目的公司类似软件作坊包括但是不限于一些小的外包和外派公司。对于这些公司来说公司的核心竞争力主要是利用自己的人脉和关系拉项目。而这些项目本身大都是以业务为主比如一些ERP系统、换皮小游戏等等。只要公司有一两个技术大拿一般都能顺利做出来。所以说这种公司基本能够“做一票、赚一票”。只要一直能有项目做就可以稳稳地赚钱。加上这些公司一般规模都不会太大所以可以很好地控制自己的收支不需要承担太多的风险。
因此,这类公司其实更像是人脉关系变现公司。做软件只是一种途径而已。如果愿意的话,单靠转包项目一样可以赚钱。这类公司的核心成员不是程序员,而是可以拉来项目的成员。所以,对于拉项目的核心成员来说,这个公司才可以称得上是创业公司。
但是对于程序员来说,我们可要小心这类公司了。如果这些公司忽悠你,说,我们是创业公司,现在正在发展期,薪资你吃点亏,以后事成了你就跟着一起发达了云云。千万切记不要当真!这些公司的核心竞争力在于拉项目的能力,和程序员、技术一毛钱关系也没有。对这种公司来说,换个程序员的成本是很低的。既然如此,那么为什么公司要做“慈善”,把自己赚的钱多分给你一些呢?所以啊,加入这些公司之后,即使你努力拼搏,这些公司也不太可能在未来给你带来额外的收入。
### 2.小公司“不一定是”
很多人觉得,创业公司都是从小公司做起的,但是,有一点我想着重强调一下:小公司不等于创业公司。
这个和刚刚说的内容有一些重叠,因为很多做项目的公司的确都是小公司。创业公司可能是小公司,但是并不是只要是小公司,就是创业公司。而且,很多创业公司也是具有相当规模的公司。
**我一直觉得,想要获得超额回报,最根本的逻辑呢,是要成为公司核心竞争力的一部分,要能够在公司创造价值的链条上成为重要的、不可替代的一环。仅仅是重要还不行,如果很容易被替代的话,能分到手的利益很可能也只是象征性的。**
所以说,一个公司是不是创业公司,对于不同的人来说是不一样的。对于小公司的创立者来说,他们确实是在创业。因为他们可以在摸索出一条道路后,提高自己的利润率,让公司成为给自己下金蛋的鹅。但是和刚才的情况一样,在这整个链条上,如果程序员并不是核心要素的话,这个金蛋就和程序员没有关系。
当然,很多人也是加入小公司之后成长起来的,也获得了丰厚的回报。但前提是,他们能够挤进价值创造链条里,成为一个重要的不可替代的一环,比如精通业务,比如赢得了很多大客户的认可等等。不过,这种情况并不能够涵盖广大的一线程序员,所以我们在这里也不去讨论这种情况。需要补充一句的是,这种人才,即使不加入创业公司,而是进入成熟的大公司,很多情况下也可以通过自己的努力和才干获得丰厚的回报。
### 3.创造新事物的公司才“是”
属于程序员的创业公司,一般是那些做产品、做平台,或者有核心技术、做新模式的公司,是创造出某种事物的公司。这种公司有一个共同的特点,那就是可以借助软件系统零成本复制的特点,让自己的产品或系统成型之后,用很低的成本让它去服务更多的人,让程序员的工作成果可以用很低的成本被放大。这些公司大部分会涉及做游戏(换皮游戏不算)、数据库、语音识别软件、图形图像识别、电商平台、支付平台、云计算平台等内容。
这样,一个程序员创造的价值也会随之被放大很多倍。这种情况下,程序员才可能会是整个价值链条上重要且不可替代的一环,在成事之后的财富分配上,才会有程序员的一杯羹。
## 加入创业公司,需要权衡哪些事情?
刚才我们讲了创业公司的定义,相信已经可以让很多冒充创业公司来忽悠程序员的“李鬼”公司显形了。那么,在加入创业公司之前,程序员有哪些事情需要权衡呢?
### 1.提前算好收支这笔帐
据我所知,创业公司一般给的待遇都偏低,然后用期权来“画饼”。创业时期真的是一天天撑下去的,非常有可能是面临失败。具体会面临哪些事情呢?我们不妨把自己带入下面几个场景,想想看自己经受这些事情的时候。
- 公司未来几年都不会给自己涨薪,因此未来几年的生活都要靠现在的薪水水平来支撑,你觉得自己的情况可以承受吗?
- 公司倒闭了或偶尔不按时发工资时,自己的积蓄要能支撑自己的生活,这样的事情你能承受吗?
- 创业失败期权变废纸多年的努力奋斗换来的金钱收获为0这样的事情你能承受吗
可以说,这三个场景发生的几率都比创业成功的机率还要大。我们前面讲到,创业公司要创造出新的东西,这样才可能在新市场里获得巨大的回报。创造和做项目不一样,做项目时,只要按部就班的工作,就可以稳稳地拿工资,而创造要面临很大的失败的可能。创业失败的可能性太多了,方向不对不行,太早不行,不然可能是为后人培育市场,太晚也不行,不然可能只能喝汤甚至都无法入局,执行力不够强不行,没钱了撑不下去不行等等。
### 2.选择公司就是选择团队
正所谓小船好掉头。我们加入创业公司,最重要的不是看创业公司现在的方向,而是看创始团队。创业公司调整方向是非常常见的操作,真正有价值的是创业公司团队。一支磨合好的团队,远比一个对的方向有价值。方向可以随时调整,但是一个好的创业团队真没那么容易攒出来。
那怎么才算一个好的创业团队呢?我觉得,一个好的团队,就是能让大家在困顿时依旧有斗志,要让大家在一次次摔碎心之后能再次拼起来、继续拼命,要能拧成一股绳,要有强大的执行力……
那怎么了解要加入的团队呢?现在网上消息很多,你完全可以通过网络去搜寻信息。这个我想不用我多说。我想说的是,如果可能,尽量找到在这个公司工作过或者正在工作的人,去了解一些一手信息,或者多找一些人来帮助自己,从多角度进行判断。千万不要自己一拍脑袋,贸然就下决定。
通过自己熟识的人,是我比较推崇的一种了解团队的可靠方式。我有个朋友从北京跑到杭州加入了一个创业的公司,我问他为什么,他说师兄在那边,做着顺。这就是通过自己认同的人,选择团队的方式。我觉得是一种选择创业公司的正确姿势。
### 3.认可创始人
前面我们聊过跟对人,也聊过公司的文化和价值观。这两点对于加入创业公司的程序员来说,尤为重要。
你可能要说了,我只是个小程序员,就算公司再小,也不大可能归创始人直接管,创始人是谁,和自己关系并不大吧?
实际上,创始人对一个公司的影响是巨大的。很大程度上,创业公司就是创始人的延伸。可以说,在公司孕育出自己的公司文化和价值观之前,创始人就是公司的文化和价值观的代表。所以说,如果无法认可创始人,也就代表着你可能无法认可这个公司的文化和价值观。
同样,各级经理也是创始人的延伸,如果你不认可公司的创始人,那么大概率也无法适应你的经理,就算你的能力再强,很可能你在这个公司也无法发挥出真正的能力。
### 4.亲兄弟,明算帐
一旦加入创业公司,程序员肯定期待获得一定的回报。
对程序员来说,很多创业公司会承诺给期权和股票的回报。所谓亲兄弟,明算帐,就是说千万不要相信口头的承诺,所有承诺一定要落实在纸面上那才是生效的。只给口头承诺,就是耍心眼、纯忽悠。如果在画大饼的时期,这家公司就开始不实在,你觉得这种行事风格,在公司真的赚钱之后,在画的大饼变成真金白银的时候,会老老实实分给你吗?
### 5.准备好强大的精神和肉体
创业真的很累,真的真的很累。从头到尾创造一个新的事物,各种东西都要自己搞,能不累么?连续通宵、车轮战时不时来一波、每天只能睡三五个小时,这些可能都是在创业公司工作的常态。长期待在这种状态中,单单靠画饼肯定是无法支撑下去的,一定要有足够的精神力量支撑才行。当然,这里也呼应了前面创业团队和创始人的重要性。
精神的力量有了,肉体也要允许才行。所以,你还要考虑一下自己是不是适合奋斗的体质。
怎么判断自己是不是够强大呢?我给你一个简单的问题,你可以来验证一下:你虐过自己吗?你有为了一个目标,坚持数周数月甚至数年,努力奋斗,通宵达旦,咬碎牙根,受尽挫折,一次次看着自己的付出化为乌有却依然热血沸腾过吗?如果没有,请慎重考虑加入创业团队。
### 6.能持续跟得上公司的发展
创业公司如果真的飞速成长了,我们自己也要能跟得上公司的成长。所以,千万不要抱着“我加入的早我就是元老”的心态,进入创业公司。只有那些能够一直跟着公司成长的人,才能成为创业公司的“元老”。只能拼一阵的,大概率会被创业团队淘汰。
## 总结
在创业公司拼搏,超常的精力付出是绝对的,但超额的金钱收获却是低概率的。绝大部分的创业公司,都没有掀起一点波澜,就消失在人海中了。作为程序员的我们,要能分辨出哪些是真正的创业公司,了解清楚这个创业团队是否适合自己加入,还要能平衡好自己的拼搏和生活。
其实,我一直觉得,创业是一种心态,而不是一种姿态。在富有活力的成熟公司,我们其实依然可以用创业的心态进行工作。有了创业的心态,一个组就可以是一个小的“创业公司”,别的组就是自己的客户。虽然成功了之后,收益没有创业公司高,但就算是失败了,最多也就是没有额外的收获而已,不会有额外的损失。
创业的拼搏堪称游戏的Hell难度而平时的日常工作可以说就是游戏的Normal难度。但是不得不说创业带来的经历和成长可以说是一生受用的。我自己年轻的时候也曾经拼搏过。现在回想起当时自己那股子劲儿就觉得现在的工作就和玩儿一样。**创业,也许大概率不会有金钱上的收获,但是可以让你看清自己的潜力**。创业的岁月,是一份值得让自己一直珍藏的回忆。
<img src="https://static001.geekbang.org/resource/image/48/df/488239698e5cf9f7fc69d562f9476cdf.jpg" alt="">
## 思考题
你或者身边的朋友,有去过创业公司工作吗?有遇到过什么问题吗?
欢迎在评论区和我交流。也欢迎把这篇文章分享给你的朋友或者同事,一起交流一下。

View File

@@ -0,0 +1,104 @@
<audio id="audio" title="16 | 答疑篇:为啥你工作八年,只抵别人一年?" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/24/49/24ec8ae5da00035b8b297eb06162ed49.mp3"></audio>
你好,我是臧萌。转眼之间第二个模块也结束了。我在这个模块里,讲了我们职业生涯中可能遇到的各种职业选择的问题。
职业选择可以说是个大话题了,这个模块也是整个专栏中篇幅最大的一个。围绕着公司、行业、经理、外包外派、面试、跳槽、转管理、创业等等话题,我们聊了很多,举了很多例子,很多同学也分享了自己的亲身经历,也有很多同学提出了很多很好的问题,总结了很多经验。我觉得有些内容非常值得一起分享一下,让我们一起来看看吧。
## 员工为啥会“水土不服”?
**@大土豆** 同学问道:“我见过很多在之前公司表现极为优异的人,换到另一家公司就表现平平,甚至有些人的表现竟然差到要被末位淘汰,这个点感觉很有深入的意义,老师认为是什么原因呢?是否可以举个例子?”
作者答:这个对比比较强烈,说出来确实会对很多同学有参考价值,更证明了选择合适公司的重要性。
真正的原因可能很复杂。我根据自己的见闻,来说说我的理解。我觉得主要原因是,在不同的公司文化和价值观影响下,对工程师行事风格的要求不一样。
每个公司的风格不同,对每个员工的期待值也不同。有的公司的风格更倾向于稳稳的、慢慢的、妥妥的。有的公司的风格更倾向于快糙猛。就好像一个米其林三星的厨师,去食堂当厨师,并不能惯性地靠自己之前的行事方式,来赢得当时在米其林三星餐厅的地位和荣誉。虽然都是做饭,但是米其林三星和食堂对做饭的要求是不一样的。
你可以想象一下,一个厨师在食堂里,跟大家分享了一个“在包子馅儿里加入橄榄油并充分搅拌,放进冰箱冷藏三个小时后使用,可以让包子馅的口感更润滑”的经验。这个厨师肯定会收获同事们的一顿奚落:“得嘞您呐,照您这么来,咱们一天光做包子就忙不轻。”但是,他在米其林三星餐厅里,就是一天只负责做几笼完美到无可挑剔的包子啊,可为啥到了食堂就不被认可了呢?当初他的包子馅的各种创新,可都是得到厨师长的点名表扬了呢。为什么呢?还是那句话,米其林餐厅和食堂对做饭这件事有着不同的评价标准。
公司也是一样的,比如说,有的公司倾向于让员工专心做一件事情,做到极致,有的公司倾向于让员工成为多面手,什么都要能搞定。而每个人自己适合哪种风格,是否能改变自己的风格,适应公司的风格,这都是影响人才继续发光发热的因素。
老牛适合拉车,快马适合跑快递。都是运输,风格不同。
## 沟通不高效,试试一对一?
很多同学也都提到了和经理一对一会议对自己的帮助。也有同学提到之前公司没有一对一会议,现在公司有了,对比之下才觉得现在公司更人性化。
这里我再提一提,一对一会议真的不只是表面形式。一对一会议运用得当,可以解决很多问题。会议会提供一个私密的环境,让人敞开心扉地交流,拉近人和人之间的关系。在一对一会议时,生硬的上下级关系会变得温和,因为彼此之间,不再是纯粹的工作关系,更像是朋友在一块探讨事业与人生。
如果同学们现在的公司没有一对一会议,而你正好是个经理,我建议你可以试一试,没准效果超乎你的想象。
## 大厂的经历对于职场生涯有何意义?
**@天凉好个秋**同学问:“老师觉得有必要为了镀金而想方设法跳槽去大厂吗?有人说去大厂好几年,用惯了大厂的各种工具,出来会很不适应,也有人说大厂的边缘部门也很惨,老师如何看待好多人‘迷信’大厂的现象呢?”
作者答:我觉得这些看法都有道理。你去大厂可以镀金,搞得好的话还能成金。就好像你说的“迷信”大厂。大厂之所以能大,而且能撑得住这个大的规模,肯定是有其过人之处的。只要姿势对,去大厂,尤其是头部的大厂,肯定可以学习到更多的东西。从这个角度说,我觉得这个不能叫迷信,因为人家大厂确实是干得好嘛。当然如果是一些走下坡路,吃老本的大厂,可能实际上已经被淘汰了,这种情况徒有其表,那就是另说了,可以说是“迷信”。
你在大厂能用的工具是很多,出来工具没有了确实不顺手。但是这种不适应不也是一种机会吗?可以在新公司搞新系统呀。去大厂不就是为了长见识,然后用在合适的地方吗?
有的大厂的边缘部门机会比较少。我建议你去之前还是先问清楚。但是机会都是自己创造的,我也见过一个组把非常没前途的系统,愣是给怼成了明星项目。公司存在这个组,就有它的意义。能把这个需求解决得明明白白的,就是价值。
## 定期出去面试真的好吗?
**@Newbie** 同学问到:“老师怎么看待‘跳不跳的另说,每年出去看看外面的行情’这种说法。这种没有强烈跳槽目的的面试有必要吗?”
作者答:我觉得,这个做法没有必要。这样做既耗费双方的精力,还可能会影响自己的名声。我来具体为你分析一下。
1. 行情可以和同学朋友聊,没必要非自己跑一趟。
1. 面试需要充分的准备如果不是抱着我要换工作的决心很难准备得很好。如果状态不好那么面下来也可能拿不到自己应该达到的水平所对应的offer。
1. IT圈子其实很小面试过早晚会传出来。除非你真的是个小透明。
1. 你会被拉黑。如果你面试过了拿到offer又不去。那么很可能会上公司的黑名单。面试其实是一个非常耗费公司资源的过程。从工程师到经理到HR每个人都要放下手里的工作把面试者面一轮。再加上前前后后的准备各种审批结果公司给你发了offer你又不来一方面可能耽误别的想来的人另一方面也浪费了公司的资源。
关于被拉黑多说一点。很多公司会考虑将发了offer但是没有什么理由就是不来的人拉入黑名单以后不再面试或者把发 offer 的优先级向后排。这里一般有几种可能。
1. 一种是你说的,就是出来看看。
1. 一种是count offer拿着一个offer去继续面试要求下一个公司给更高的offer。
1. 一个是拿着offer和现在的公司谈要更高的薪资。
无论是哪种情况,只要面试者不入职,那就都是在浪费面试公司的资源。公司也有足够的理由拉黑这些面试者。
所以,如果你想出去谈谈、看看,不妨跟对方公司直说,就说自己来的意愿不大,面试看看情况。如果这样对方可以接受,或者相信可以打动你,那你们再接着往下谈,双方会聊得更深。正所谓打开天窗说亮话嘛。
## 为啥我工作八年,只顶别人一年?
总体来说,大家还是比较认可外包和外派不适合做太久的。在自己的能力提升之后,应该跳出自己的舒适圈,找个更对得起自己能力的工作。
同时,做外包比较容易陷入不需要自我提升的陷阱。因为自己按照公司要求完成工作,公司也对自己没更高的要求,感觉这样就可以了。这里借 **@每天晒白牙同学** 的一句精华: “一年经验用了8年而不是8年工作经验”。如果你做外包外派的时候感觉自己的技能树很久没长过了那就要多多提醒自己在生活中去有计划地提升自己跳出舒适圈。
## 技术和管理,哪个才能让你感觉更安全?
**@bigben** 同学说:“做管理没有安全感,还是做技术心安,技术在手说走就走。”
作者答:我觉得,技术够硬,管理够软。其实各有各的优势,也各有各的难处。
技术的优势就是简单,干活靠自己,够硬。到哪儿都能靠技术干活出活。就像上面说的,技术在手,说走就走。反正是干活嘛,靠技术,没毛病。
技术和管理这么一比,就显出了管理的劣势。基层管理靠的是各种软技能。虽有套路,但是对公司、对环境、对团队、对周围人脉的依赖都是有的,靠自己没法出活。很多时候,公司裁员也会优先选择裁中低层的管理人员。
但是反过来说,技术也有劣势。技术的劣势就是随时可能被淘汰,要一直学习新的技术,要时刻关注各种技术的发展方向。
举个简单的例子,在 Web 井喷式发展之前JQuery 可以说是统治了前端。然后 Web 开始井喷式发展各种框架层出不穷。现在呢JQuery 已经在新的项目里寻不着踪迹了,很多老的项目也在迁移。
可以说发展越迅猛的方向技术更迭越快比如前端。而发展迟缓或者本身就不适合市场的技术方向整个可能被替代比如Java中的EJB现在就被 Spring 替代了。
对比之下,管理的优势就是技能和经验,不会被淘汰。
技术招聘上会有各种专项技术要求,比如“使用 Java 多少年”“使用C多少年”“精通性能调优”等等。但是招聘管理的时候就不会写“有多少年管理Java 程序员”的经验。只是会要求多少年管理研发团队经验。当然,偶尔还会对行业有要求。
硬,容易折了,折了就得换新的。软,不容易折了,但是要有依托。
最后补充一句,计算机的基础知识,就是定海神针,既稳,又硬。比如计算机网络、操作系统、编译原理等等,这些都是看不到被淘汰的可能的。
## 总结
关于这个模块,最后总结两句话送给你。第一,选择比努力更重要。第二,不想被淘汰,必须不断成长。
关于选择比努力更重要,当下的疫情就是一个例子。当然没人能预测到这么一个黑天鹅事件,在这个事件里,没人能独善其身。但是从方向来说,互联网是趋势。无论是在线教育、在线办公、在线购物,还是更底层的在线支付,都是未来的方向,受到的波及也更小。相信经过这一波,不少老年人都学会了在线支付和在线购物,不少小朋友也都经历了在线教育。
同时,从大行业上来说,软件行业受到的波及也更小。至少绝大部分程序员都可以在家办公。程序员的饭碗不至于因为不能出门而受到直接的影响。
关于成长,无论是做技术,还是做管理,都别躺在舒适区一动不动。随着年龄的增长,人的精力是肯定会下降的。如果不能拿时光换能力,支撑起更好的明天,而只是拿时光换舒适,那以后的舒适,就没有支撑了。
以上就是答疑篇的内容,不知道有没有解决你的困惑呢?
欢迎你在评论区与我交流一下你的想法,也欢迎把这篇文章分享给你的朋友或者你的同事,一起来交流一下。