虽然有很多人鄙视平凡,但也有人享受其中。做一名平凡的程序员,每天按时上班,按时下班,做着自己喜欢的工作,用自己码下的代码改变世界,是无数热爱编程的程序员的梦想。


一旦你决定要离职,(除非事发仓促,比如家庭变故之类的)一定要做充分的准备。那么,在跳槽前我们都要做哪些准备工作呢?


程序员跳槽全攻略 


从大方向上讲,也就3件事:

分析自己

分析目标行业与公司

撰写简历


一旦你决定跳槽,那就要分析自己


要知道我有什么

工作几年

待过的公司有什么影响力,产品有什么特色

掌握了哪些技术,程度如何

和周围的人比,我长处在哪里

学新东西快不快,举个例子

解决问题能力如何,举几个例子

沟通与协作能力怎样

领导力如何,有没有影响别人促使项目成功的例子

积极性如何,有没有在无压力时自我驱动完成事情的实例


要知道我要什么

更强的技术能力

更高的薪水

更好的福利(公积金,商业医疗保险,……)

成就感

被认同

从头做一个成功的产品

大公司镀金的经验

跟随可能的机会快速发展

轻松,不加班,可以照顾家人

管理能力提升的机会

股权

要知道我能干什么,这也是很重要的,一定要明了自己的能力边界。比如:

富有钻研精神,能解决技术难题

有领导力,可以影响、驱动团队

能把握技术,对技术敏感,善于把控技术方向

可以快速、高质量编码

带团队

当尖兵

架构设计

写出还说得过去的代码

会活跃团队气氛

能写一手好文案

懂产品

能带人能当导师


很重要的一点是,我愿意干什么,对,就是这个。

因为你从一个地方离开,一定是这个地方有什么东西你不能接受,那你找新工作时,一定要考虑自己愿意干什么,如果这个考虑不清楚,那才出虎穴又入狼窝的可能性就非常大。

最后我们还要想我能失去是什么,千万别并小看这一点,这是相当重要的。这世上并不存在完美的工作,没有哪个公司、哪个岗位、哪个产品是为你量身定做的。就算你狗屎运,碰见了这么一个机会,那随着时间的轮转和周围环境的变化,曾经你觉得百般熨帖的,也会慢慢出现各种不适。所以,无论何时,痛苦和快乐是伴生的,你必须考虑取舍。在找工作时尤其如此,鱼与熊掌不可兼得,这是必须明白的。


分析目标行业与公司

我们找工作时,需要结合自己的现状,瞄准特定的行业和公司来做准备,跑到网上见什么职位都投,绝不是最好的方法。

举个例子,比如你之前在做医疗软件,你还想做这方面,那你找工作时就要分析你所在的地区做医疗软件的公司分布情况,每家公司都什么状况,做了分析之后,锁定目标,再来看哪家公司在招人有机会。

那如何知道有哪些公司在做类似软件呢?你在一个行业里待着,一定要了解这个行业的现状,前景如何,竞争对手都有哪些,竞品优势在哪里……虽然你是技术,但也要了解这些,否则换工作时会手忙脚乱遇到各种状况。如果你自己在日常工作中接触不到,那也可以从公司里其他岗位的同事(比如市场、销售、产品等)那里了解到。有心,你一定可以知道。这是和你的工作息息相关的,绝对有必要去了解。

一旦你锁定了行业和公司,找工作时就不会那么随意那么匆忙那么慌张了。凡事预则立不预则废,机遇只青睐有准备的人。


撰写简历

分析了自己又分析了公司,接下来就是撰写简历了。网络上有很多谈如何写简历的文章,可以搜搜看看,找一个模板来参考,先根据自己的工作经验写一份基础简历,把你前面对自己的分析、项目经历等等都捋清楚写进去。


面试IT公司的37个小贴士


1. 不要去那种痴迷于某种特定技术的公司(除非你也是这类人)

首先你得明白的是,技术是一种手段而不是目的。过于专注于技术而不将眼光放到解决问题的方案上将是灾难的开端。特定技术并不是成功的保证。


2. 不要去那种技术负债严重的公司

我们应该在第一点和第二点之间找到一个平衡。最好不要去那种完全允许员工自由使用技术的公司。因为没人愿意花一个周末去学习一个莫名其妙的系统,就因为会维护该系统的人已经离开了公司,而该系统又新发现一个关键漏洞。


3. 不要去那种连面试官看上去都非常疲倦的公司

如果有员工看上去非常劳累的样子,那么你以后也会如此。


4. 不要去那种说不出你初期工作量的公司

我们应该去那种能准确估计初期工作量的公司(至少 3-6 个月)。


5. 避免那种严重影响生活质量的公司

生活质量很重要,我们的新工作不应该对此产生不利的影响。我敢打赌,这些个老板才不关心你需要熬多少夜经历多少通宵达旦才能完成工作。他们会做的就是尽量剥削你的劳动力,榨干你所有的价值。


6. 高薪与少量的股权——选高薪

少量的股票其实没多大意义。很多时候,这只是用来安抚劳累过度的员工的一种形式。还不如钱更划算。Ps:此条仅适用于这些股票无法在交易所出售的情况。

7. 不去那种没有正式培训过程的公司

每一位员工,无论经验有多么丰富,刚进入新公司总是需要学习的。所以我们在最初的日子里肯定需要大量「手把手」的培训和帮助。这很正常。


8. 不要去那种取缔多样性的公司

倡导多元化的价值,求同存异,才能让人舒适地工作。


9. 不要去那种不尊重你和你的财产的公司

举个例子,如果你的公司希望使用你的手机作为你工作的一部分,那么他们就应该在工资以外再支付给你一部分钱,或者给你配备公司提供的手机。


10. 不要去那种缺乏系统流程的公司

流程和政策决定了一个公司的规模。缺乏某种形式的标准将导致各种各样的技术和后勤债务问题。


11. 不要去那种没有办公室文化的公司

每家公司,无论其大小,都应该有某种形式的办公室文化。良好的氛围需要公司活动的培养。


12. 不要去那种在面试时出现不受欢迎的小插曲的公司

如果你在面试中遇到这种情况,那么你可以预见以后你将会碰到多少这种「惊喜」。

13. 不要去那种在面试的时候尽问些无用问题的公司

如果在面试时问你的问题和你的工作毫不相干,那就不要回答。下面就是这样一个例子:

你知道纽约市有多少个红绿灯吗?


14. 不要去那种在面试过程中要求你为他们的代码库做贡献的公司

你只是在面试而不是已经被雇用了。


15. 不要去那种光是面试就要占用你大量上班时间却毫无补偿的公司

用人单位应该尊重每一位应聘者来面试的时间。如果他们要求你请一两天假来做面试,那就应该在金钱上补偿你的损失。


16. 不要去那些没有道德守则的公司

道德准则非常重要。


17. 不要去那种据说有无限带薪休假政策的公司

这只是「公司的休假政策到时候再依据具体情况而定」的另一种好听的说法罢了。知道有多少带薪休假时间,能让你有计划地安排假期。


18. 不要去那种有可疑商业行为的公司

如果你面试的公司好像在做一些违法或者不道德的事情,那最好马上远离他们。


19. 不要去那种强制个人「所有权」的公司

新的和现有的系统应该由整个工程团队所拥有。话说,谁都不想成为唯一一个有什么问题总是被传唤的人。而且这么一种文化将导致所有人都不愿意去创新,不愿成为某任务或者某技术的「所有者」。


20. 不要去那种强迫你使用个人社交媒体账户来发布广告的公司

如果该公司请你发布一些公告或者招聘信息,那还好说。如果是强迫的,那心情就不爽了。

21. 不要去那种离职率较高的公司

如果一家公司总是不能留住员工,那必然是有原因的。


22. 不要去那种没有绩效考核的公司

如果一家公司不能对辛勤劳动的员工表示赞赏,那它就不值得这些劳动价值,你也最好不要进去。要知道,除了加薪和奖金,水杯和 T 恤衫也是很好的激励措施。


在面试中问的问题


23. 获取有关公司员工福利的具体信息

很多公司都会提供一篮子的福利方案。确保你能清楚明白地了解方案内容,特别是健康方面的。有时候高福利甚至比高薪更具有吸引力。下面这些问题是你应该咨询的关于公司福利待遇的事宜:


1. 哪家保险公司提供健康医疗?

2. 这些方案的名称是什么?

3. 能否给我一份健康福利方案的副本?

4. 能否给我一张列出所有福利的表单?

5. 进入公司多久以后能享受医疗保险等?

6. 有没有什么限制或警告是我应该知道的?


24. 获取具体有关公司技术的具体信息

不妨反过来询问面试官他们的工作和使用的技术。可以随意地问一个细节,不管看起来有多么的微不足道。由此我们至少可以知道三件事:


1. 当前员工对他们正在使用的堆栈的了解程度。

2. 需要处理的技术负债(如果你决定加入的话)。

3. 他们做出的技术决策是否明智。


25. 问问他们的员工对他们当前的工作有什么不喜欢的地方

这一点非常重要。近之则不逊,这些员工的回答会告诉你很多关于这家公司的「秘密」。


26. 接触前雇员,询问他们的经验

谦逊有礼又要低调。让他们知道你正在考虑某某公司,你非常想听听他们关于在该公司的经验。他们将会提供很多宝贵的信息。


27. 写下你想加入该公司的理由,然后做验证

比如说你想加入某某公司是因为他们使用 Python 语言。在面试工程中你就应该问问他们什么时候以及如何使用 Python。确保该公司使用 Python 的形式是你想要的。知己知彼,方能百战不殆。


28. 如果此公司在 GitHub 上有公共代码,一定要仔细看一看

每家公司都有自己的工程流程。公开的代码必然是他们的骄傲。这是评估一家公司内部工程过程的最佳途径之一。


29. 找到一些技术问题,然后在面试中有礼貌地提一提

处理批评建议是每一份工作的重要组成部分,特别是技术岗位。无论是有用的还是无用的,能够虚心接受批评才是成熟的标志。

此外,你还应该观察他们的回应。如果你不赞同他们对待批评的态度或者回答,那就不要选择这家公司。


30. 如果给你面试的人中有公司的 CEO,那不妨问些好像要投资该公司的问题

因为一旦我们进入这家公司,就意味着我们将与之利益与共。所以得先确保该公司做出的业务决策是正确的。下面这些问题最好能问问 CEO:


1. 在未来 6 个月时间里,您觉得公司最大的挑战是什么?

2. 您计划如何克服这些挑战?

3. 过去 6 个月时间里公司克服的最大的挑战是什么?

4. 你如何衡量成功?

5. 公司如何衡量成功?

6. 公司有没有什么系统/机制用来确保(a)每个人知道公司的前进目标和(b)有什么问题或者疑虑可以提出来得到合理和通彻的回复?


31. 在碰面时与其他员工交流

在面试过程中,我们不可能一下子了解所有的东西。可以和其他员工聊聊,这也能让你深入了解该公司的其他方面。


32. 试着了解公司近况

如果该公司刚刚经历了一些重大变化,那可以去查查发生这些变化的原因,变化的过程和变化的结果,以及这些变化对公司和团队产生的影响。


33. 写一张你要面试公司的期望表

衡量一下自己是否有期望过高的地方。这也有助于你谈判拿到更高的薪水。