程序员涨工资大多数靠跳槽吗?

关注者
7,316
被浏览
2,173,501

171 个回答

首先回答,是。待遇低的时候果断跳!

这个问题我深入思考过,也和Leader聊过。下面说为什么,可只看黑体加粗部分。

一、和程序员工作性质有关,你可替代,大幅涨薪不如再招一个稍差的。对于程序员来说,在不同公司,不同项目工作,工作内容没有本质区别,都是写代码,各种业务逻辑和后台数据交换,在我们眼里都一样。再拿可替代性来说,拿我来说,就算我现在项目所有代码都是我一个人写的,如果真的说要找个人来接手我的工作,只要能力不差,一个月再怎么也能接手了。所以我对于公司来说并不是不可替代的。但这里的前提是,我只是一个程序员的角色,并不是项目leader,就算是一个小组的leader,本质上和程序员没区别。其实我认为这才是好的程序员,随便谁来都不会太费力的都能接手你的代码,说明你的代码是写给人看的。

二、公司所有职位都有预算,大幅涨薪会让公司失控。你们想过为什么几乎所有公司薪资都不透明吗?因为如果大家互相知道了彼此的薪资待遇,就会发生比别人低的,觉得自己拿的比该得的少,大多数人都会对自己的评价比实际能力高一些,这是人之常情。如果其他人还真比你能力低,那就更不用说了,所以这样就会造成一个结果,会发生很多人要求涨工资,从公司的角度来说,这就是管理失控了,是绝对不愿意看到的。

说清楚这个问题就可以接着说一个人待遇在公司涨幅的问题了。限制你在公司涨幅大幅提升的有两个原因

1、上面说了每个职位的待遇公司都会有个预算,所以涨幅就不可能超过这个预算,而公司为了做到这一点就会按预算来慢慢的给你调整工资。除非遇到公司营收爆发,这里只讨论一般情况。

2、这点只针对程序员来说,如果你的能力非常突出,比其他程序员都优秀,公司会考虑给你多涨点,但是不会涨太多,为什么呢?因为如果涨太多,其他人其实始终会知道的,就算不是全部人知道,私下里总有几个人知道,这样没多久这事会知道的人还是会知道,这样就会引发我上面说的,其他人也会要求涨工资,最终造成管理失控的情况。而如果这样的话,一般情况下,同样工资在再招一个人来接手你的工作和给你大幅涨薪之间往往倾向于再找一个人。

所以这两点加起来,程序员这个职位公司几乎不可能给你大幅涨薪。

3、技术人员,其实只要花钱还是比较容易找到和你能力差不多甚至更好的,而牛逼的产品和运营会和整个项目结合的非常紧密,不容易花钱就找到一个能达到和当前效果一样的人。


这里注意一点,我说的是程序员这个职位,如果你是做运营或者产品的,整个项目你是灵魂人物,我上面说的不适用。就算是公司的主程,我觉得公司也不太可能给你大幅涨薪,唯一的可能是项目火了,给公司带来了大量的收入,这个时候所有项目组的人涨薪或者分红,这也不是给你一个人涨薪,这是大环境的影响,和你个人能力突出没有多大关系。

三、对项目的认可,程序员其实很难说对某个项目有非常大的情感投入,公司也知道这点,所以不太可能通过大幅涨薪挽留,我们程序员都是风一样的男子,怎能轻易被束缚( ⊙ o ⊙ )啊!

因为我们天天脑子里想的都是逻辑,产品狗又提了什么奇葩需求,我怎么样才能在现在的框架上改动最少来满足他,还要在改的时候考虑他之后兴致来了又改我还能比较容易的满足。

还有UI提了一大堆bug,一看,卧槽这个界面字体要小一号,这个图标位置左移一个像素,这个动画效果有点不对劲,这个6上面的适配不合适啊啊啊啊。

所以我们精力全都在这上面了。

而产品和运营会从更高的层面考虑,个人的想法会融入进去。所以对项目会产生更多的感情,程序员就比较少,我只要不做约炮交友软件就满足了。而且你们觉得程序员和产品、运营哪个职位会合老板接触更多,交流更多的想法?这其实也是很重要的一点,对项目的归属感和情感投入。为什么程序员爱自嘲是搬砖的?因为一般情况下我们都是实现别人的想法,我觉得程序员内向,害羞,不爱和别人起争执,也是因为不是这种性格的人做不了程序员这工作啊。我这种半路出家的算个特例。总体来说性格比较内向和温和的人在程序员这个职业中比例会相当高。但这样也会出现大家发现网上和QQ群里吐槽的时候程序员吐槽的最厉害,因为只有这个时候我们才能各种姿势完全释放积攒的怒气值,反正你看不见我!

上面说了为什么公司不大可能给程序员大幅涨薪,下面说为什么跳槽就可能大幅涨薪。

四、因为程序员,特别是能力稍好的程序员,市场还是很缺的,外面给得起价,能力强的人随着时间增长都是处于向上层流动的过程中。

比如现在成都很多小的移动互联网创业小团队,做安卓和iOS的做过一两个项目过去一般都会比现在公司的待遇高很多。

我个人经历来看,刚开始本来待遇就比较低的时候,跳槽double轻轻松松。

另外这里也还是提醒一下,跳槽这事太多了也不好,而且跳进坑也非常容易。国内做技术的,如果不做到非常深,还是很容易成为吃青春饭的行业,所以还是要想办法和公司的业务结合起来。跳槽的话几乎就没有机会和公司业务结合起来了。

答案有更新,后续的故事可以点击 zhuanlan.zhihu.com/p/36

======================================

在北京一家startup工作一年 混国外社区 混github 一年后直接remote给多家国外公司工作 收入直接x4-6倍

======================================
收到一些童鞋的评论 求经验之类的 好吧 我就在这里统一回复了吧,其实就是记过去2年的流水账吧。

事情是这样的,13年我从学校毕业之后就去了北京一个比较靠谱的startup团队,我并不是科班,当时只是会一点前端,接触过Nodejs的一点皮毛,会看文档,会用Google,会一点点英语(真的只是一点点)。然后在这个团队里,我顶着比较大的压力吧,服务器是我和另一个北京某邮的实习生在开发,之前是团队大牛ceo写的。其他成员要么是设计,要么是ios或者android吧。

就酱紫 产品就要上线啦 记得是我入职2个月之后吧 那是我第一次接触这么隆重的上线,可惜的是 上线那天就见证了我有多么的不靠谱,才刚上线 数据库就写乱了,结果是通宵改代码 修bug,老大陪我一起,真的很感谢团队的小伙伴对我当时的容忍以及不离不弃。

嗯 我这一段想表达的是 我是如此的不靠谱~ 那你肯定会问 为什么如此不靠谱的人 会有remote 收入x4-6的机会呢,天理不容呀

在之后的日子 老大派了一个ios的大哥过来和我一起搞服务器 实习生倒是走了 我不再是一个人顶着压力了 进入了一个比较良性的学习与工作的循环(再次感动 谢谢老大)。在这段时间 我开始学着去Github的joyent/node下留下一些足迹,比如订阅issues还有Pull Requests,然后有时候遇到一些错误,就顺藤摸瓜,发现是Nodejs自己的问题,然后就在Github Issues里面用我那蹩脚的英语和老外们交流(in text)。再后来 我发现bug 然后我开始学着改bug,怎么让nodejs的测试通过,就酱紫,我学会了unit test,知道了mocha,tape等测试框架,那时我渐渐也明白了为什么当时自己那么不靠谱,所有的代码都没有写单元测试,更不用说什么可用性测试 压力测试啦。(我现在看到一定会抓狂,因为如果现在谁把没有测试的代码交到我手里 第一件事一定是“写测试”)。

再后来,我开始给Nodejs的一些其他第三方库提issue和pr,接受了不少,也被拒绝了不少,就酱紫一直到后来 我们发现Nodejs的一些弊端 然后商量着用C来写其中一个核心部分,于是接触了TJ大神的clibs(clibs · GitHub)这个工具,很有幸 我慢慢地学习C 也加入了这个组织,然后参与了一些issues/prs/repos。

渐渐地 我在其他开源项目的足迹越来越多,大家可以看这个:yorkie/me · GitHub,基本上是我前年的开源贡献,当然我这个跟真正的大神比起来 简直就是小孩子的级别啦。

直到去年大概3-4月的时候 其实从过年回来就开始觉得 在北京身体确实受不了 也不是公司虐待我啦,我每天工作时间确实没有到12个小时,只是不知道为什么每天觉得很困 干完公司的事情 就倦怠于学习其他东西啦,再加上当时有一家以色列的公司给我提供了一个soho的高薪工作。于是我很绝情地抛弃了和我一起奋斗的小伙伴(其实我比较冷血的啦 我觉得自己理想比友情更重要,可能以后会有另外的想法,但我从不后悔我做的决定,因为后悔没啥用,呵呵)。

于是就回家了,我整整在北京工作了1年,房子也正好到期。
然后 这是我第一次和外国人合作非开源的项目,一开始蛮好的,但是可能是因为我刚从北京回来,有一种倦怠感吧,对工作不怎么上心,所以整个过程合作其实不那么愉快,所以过了没多久,大概1个月左右,就被以色列那个公司开除了(说实话,当时很恨那个公司,但是现在 呵呵 觉得这个决定很正确,不match就早点放手,跟谈恋爱差不多 呵呵呵呵)。

终于 我失业了 没有收入 待业在家 我不断告诉自己 I need to work 但是这个时候 再找国内的公司又太掉价(太肤浅了 呵呵),于是我就开始去找国外的自由职业的机会,下面可以分成几条线说:

第一条线:Elance.com
这个网站是一个Freelancing的专用网站,也是我失业阶段使用的第二个网站,我开始注册账号 然后找一些前端/Nodejs的工作。结果就找到一家NYC的公司,CEO在NYC,然后CTO是加拿大非常出名的一个华人架构师,我的工作内容就是做Chrome的插件,涉及到Angular,当然也有Nodejs后端代码的部分,一开始就我们三个人,到后来来了又走 走了又来了一堆印度的、俄罗斯的、中国的,幸运 我还遇到了国内一个著名的Nodejs专家。这个团队的时薪是15刀/小时,略低啦,不过当时我接的时候还没有其他的,于是就先找点事儿做。
整个合作过程还是比较愉快的,最后我基本变成核心开发者,最后我离开前,代码基本有百分之70都是我写的,也给不少新人做项目的guiding。不过因为之后找到其他工作(其他线)比较忙,这边就没再做了,另一个原因是不断有新人来修改代码,他们根本不太注意测试、代码规范之内的,觉得很累。

第二条线:投简历

这条线几率会比较少,挑战比较大,但是收获到的当然也是比较稳定 比较高额的回报。其实我是和elance.com同时进行的,在国外大型的城市 都有一个像startups列表的这么一个网站,有网站的主页,于是我就去比较多的发简历 给我觉得不错的公司,然后是Github上也有一些大神会把自己的公司网址贴上去,我都毫不顾虑地去投了,当然也包括Facebook这种大公司啦。

又是New York City(呵呵 不知道是不是我的英文名Yorkie和NY相似的原因 和这个城市很有缘分),然后他们给了一个机会,先做他们出的Chellenge试题,很简单的啦,就是模仿express写一个lite版出来,我很容易写出来了(我可是express代码都看过,这个自然没有什么问题)。然后他们开始给我了一个Task,也开始算Fee了,30刀/小时(正常价)。不知道为什么他们认为那个task很困难的说,可是在我不断试错,不断沟通,当然还有不断Google 不断文档的轮番攻势下 搞定啦,然后他们就回了我一句:

You are fucking awesome !!!

呵呵 然后我算是在这个团队建立了一种核心的位置吧 我到现在也一直跟他们工作,还有另一个原因是我真的很喜欢他们的代码和沟通方式,这就是我前面说的:Match真的很重要啦,跟这个team如此match以致于我在后来收到facebook的interest invitation的时候都婉拒啦。

第三条线:开源也可以make money
这个真的可以用巧合来说啦,我偶然在elance.com中看到了一个需求,就是用nodejs写一个XXX服务的客服端程序,然后我就觉得 这简单嘛 再加上当时我已经有工作了 所以就抽空写了个 然后开源到Github上,再后来 我发现那个公司有Github主页,但是没有Nodejs版本的repo,于是我就给他们写邮件,大致就是说:我给你们写了个nodejs版的,然后可以帮你们维护,修bug 然后你们相应地要给我一点money花,他们很爽快的答应了,然后我就和他们负责人一直在release前的验证,fix等。

嗯,主要的线就是这些啦,其实还有很多很多很小的线 也很有意思 比如这段时间我有尝试去翻译工作,今年过完年(也就几天后)也会在某Mooc学院 “撸”一段Nodejs的课程。

总之 我觉得自从freelancing之后,我可以尝试更多之前没时间 或者没有去尝试的东西,我觉得生活不再只是程序代码,而其实你coding也不是只是和计算机去交流,因为你的代码是给人看的,所以作为程序员,就别拿这个职业作为自己有交流障碍来做借口吧,多半是社会舆论把你给定型了,其实你应该可以做得更好的,扯远了,最后再扯一下靠不靠谱的问题:

在北京那段时间 我是不靠谱的 这无可置疑,而现在 我觉得我是比当时要靠谱的,至于到什么程度,我觉得是靠谱到别人对我说了句: You are fucking awesome!!! 的程度,自己YY我现在邪恶的表情吧,那这中间我做了什么呢?有几点:

1. 我改变了心态,原来我是得过且过,现在我虽然不会把所有情况都考虑到,但是一旦我知道某一种状况会出问题,我就一定不会忽略那一个case

2. 我现在不仅写单元测试,还写过很多测试,也搭建过一整个测试系统,其中也包含一些非主流平台的测试(比如CEP运行时,自己Google哈)

3. 独立,尽量自己解决问题

所以要说有什么经验分享的话,首先:

第一,你得打你自己的招牌,我曾经的招牌是Github,是我在Nodejs的贡献排名,是我的so cute的头像。

第二,你得做到靠谱,起码得做到我现在的程度,也就是上面的三点。

Ok, 小弟献丑了 希望对大家有帮助,另外我真的重申一下,我不是大神,真的不是,我跟国内的真正大神比起来,我还是Too Young Too Simple了,但我是介意大家和大神 并且想成为大神这样的一份子,希望大家一起努力

另外欢迎大家在Github上Follow我,好吧 我写那么多就是为了骗粉丝的(毕竟是招牌嘛,呵呵)