现状

不得不接受的事实是,目前软件开发就业环境很烂,远不如前几年。如果你没有完全符合你想要去的公司的要求,例如 xx 年行业经验,做过 xx,面试都不会约你,这是很正常的。如果你是 Boss 直聘投递的,20 次问候,只有一次回复,是非常正常的情况,具体的我会在【投递简历】那里细说。国内外都一样,你投国外英文简历更多都是不回的,或者回复模板发给你。

可能站在猎头的角度看,这次真的是金三银四,招聘岗位增多,是因为 DeepSeek 开源炸出了一堆的 AI 相关的岗位。但是,投递的人非常非常多,普通人投递的简历大都已读不回/未读未回

大家都在“降本增效”,甚至有些企业只想通过降本来增效,而不是利用 AI 增效。例如 xx 电器,想通过 LLM Agent 做 Customer Service,完全替代人工,这种如果有得选的话,最好别去,主打降本的公司你会过得很艰难。话又说回来,这个环境又有哪些公司还在扩张呢。连 U.S. 都在精简 ZF 部门,成立 DOGE Department of Government Efficiency 来裁员。

想找到合适的工作,难上加难,给出合理的薪资,正常双休的公司,在杭州可能算是“违法”吧。很多公司的老板创业也不容易,投资人也焦虑,所以他们就想把这些焦虑转嫁给研发人员,试图以制造业的经验,增加研发人员的工时,期望得到更高的产出。可是,研发是脑力劳动,不休息,少休息,出错的概率会更大,反而 BUG 会更多,带来的潜在损失也会更大。996,大小休,直接拒绝

个人情况

首先你要明确一些你很在意的,不那么在意的,不在意的,罗列出来。明确你的目标,很重要。我给一些样例,例如你很在意薪资,对工作环境,工作时长不那么在意,对员工福利根本不在意,那你应该按重要程度这样列出来。

列出你关心的因素

求职时,每个人关注的点都不一样。列了一些因素:

  • 薪资:期望的收入水平(如月薪、奖金等);
  • 工作时长:是否接受加班、996、大小休等高强度安排;
  • 工作环境:办公条件、团队氛围、是否需要吸二手烟等;
  • 员工福利:社保、公积金、带薪休假、补助等;
  • 成长空间:职业发展机会、学习新技能的可能性;
  • 公司稳定性:初创公司还是成熟企业,是否面临裁员风险;
  • 行业和岗位:是否是你感兴趣或擅长的领域;
  • 通勤时间:上下班的距离和交通便利性;
  • 工作内容:是否有挑战性,能否发挥你的能力;
  • 工作与生活的平衡:是否有时间陪伴家人、休息或追求兴趣。

按重要程度排序

将这些因素分为重要普通不重要三个等级。例如:
如果你无法接受996、薪资是底线、工作环境其次,那么可以这样排序:
1. 工作时长(重要)
2. 薪资(重要)
3. 工作环境(普通)
4. 成长空间(普通)
5. 员工福利(不重要)
排序后,你的目标会更清晰,知道哪些条件可以妥协,哪些必须坚持。

明确底线和期望

对于每个重要因素,设定一个底线(最低接受标准)和一个期望(理想状态):

  • 薪资:底线是月薪 xx K,期望是 yy K;
  • 工作时长:底线是每周正常上下班,996 或大小休是接受不了的;
  • 工作环境:底线是不吸二手烟,期望是有相对安静的,不会被随时打断的工作环境。

如果这份工作已经触及到底线了,或者底线都到不了,别犹豫,一定不要去,去了一定后悔。

动态调整

如果有很长一段时间没有工作了,后续找工作会更难,这个情况只能适当调整一下你的底线和期望值
也可以执行短期策略:可以先接受一份“过渡工作”,这只是权宜之计,如果你想找一份合适的工作,可能要很久,只能先做着不是那么好的工作(每天被迫吸二手烟,你不抽烟,回到家一身烟味,外加 724),只能一遍遍去找,去投递,去找到心仪的工作。

公司招聘现状

在 Boss 直聘上,有些岗位招人是要收费的,发布相应的岗位,沟通要直豆,当然发软件开发的岗位,它不收钱,因为人太多了,招聘的岗位少。这个呢,我有两个信息来源。

我一年前也招聘,也面试开发,让我来筛选,很多人也看不上小公司,岗位曝光度也少,曝光也要钱,小公司,主动投递的寥寥无几。

还有一个是我也之前面试了个远程工作,我也比较了解前后端开发,知己解彼,也尽量帮他解决问题,让一个创业一年多的老板觉得我比较可靠,想拉我做技术合伙人(受宠若惊),也和我说了现在的一些情况。他发布销售岗位要钱,发布软件岗位不要钱,并且一天啥也不干就能收到三四十份简历,也和我感叹,高中没毕业来做开发的大有人在。然而现在的情况,有很多公司只要 211 以上或者留学,招聘要求上写明了。

国内远程是这样一种情况,你在和全国的人竞争一个岗位,老板可以花八千一个月就能在东北招一个八年甚至更多年经验的开发。更别说国外的远程了,你在和全世界的人一起竞争,就算你准备好了英文简历,英语自我介绍,英文面试所需内容,可能也没用,因为你不够出彩,没有在 MAANG 工作过,不能从众人中脱颖而出,你不是那个 Outlier,被拒绝是常态,要接受这种情况。

MAANG 泛指超大公司,Meta,Amazon,Apple,Netflix,Google 的缩写

截一下图,来自于 How To Stand Out In An Insanely Competitive Tech Market (Ex-Amazon Principal Engineer)
outlier.png

简历准备

《软技能:代码之外的生存指南》第二版,上面推荐你雇佣一位专业的简历写手,帮你写简历。现在看来,其实有点过时了,完全可以交给 Claude 或者 DeepSeek R1 来帮你优化简历,只需要合适的,明确的提示词即可。

怎么写,可以参考一下我这个,也可以直接看下面的几个视频

  1. We showed real résumés to an expert and the feedback was brutal
  2. Create Your Resume for Google: Tips and Advice
  3. The Resume That Got Me Into Google (software engineer resume tips)
  4. The Resume That Got Me Into Microsoft - Intern Software Engineer Resume Tips
  5. 神奇4步法,打造HR无法拒绝的简历

搞个 OpenAI 的 Key,用套壳的开源项目,本地运行 23 年的时候用 GPT-3 加点提示词输出就能很好帮你优化简历了。现在也不需要那么麻烦了,直接用各个产品自带的系统内置的提示词 + CoT 就能输出很好的优化建议了。
20231211102606.png

关于 CoT Chain of Thought 的,我会在大模型相关的文章写明,来源于这篇 2022 年的论文 Chain of Thought Prompting Elicits Reasoning in Large Language Models Jason Wei, Xuezhi Wang

投递简历

如果你期望一周安排最少 3 次面试,按照 20 次回复一次,5 次回复有一个面试来算,你周一到周五,每天要投 60 次简历。这就是现实,如果你在大公司工作过,或者学历比较高,那每天可能只需要更少的时间去投递简历,写开场白。

投递方式

从推荐优先度排序

  1. 内推
  2. Boss 直聘
  3. 公司官网招聘
  4. 其他招聘网站

内推

内推也分几种,根据靠谱程度排序,更靠谱的更靠前。

  1. 猎头(好的猎头可以帮你找到非常好的岗位)
  2. V2EX(上面也会有发布招聘信息)
  3. LeetCode(如果你经常刷题的话,上面经常有大公司招聘内推)
  4. 技术群
  5. 私下圈子

开场白

Boss 直聘是有开场白这种说法的,如果你的打招呼只是“你好,我可以了解下这个岗位”之类的,很少会理你。这个时候,需要你利用 ChatGPT 或者 Claude 等大模型,把你的简历文本放上去,注意需要使用三个反引号开始,放入你的简历文本,三个反引号结束,表示这是一段内容,这是提示词的一种简单使用。在三个反引号之外,输入你的内容,将 · 替换成反引号。

1
2
3
4
5
6
7
8
9
请帮我根据简历内容,以及招聘信息编写一个合适的开场白。能让招聘人员能看到我的开场白,更符合这个岗位。要求以 xxx 开头,以 xxx 结尾。
这是我的简历
···
简历内容
···
这是岗位招聘信息
···
招聘信息
···

开场白这个自动化了,你可以直接复制粘贴,开始海投了。

面试准备

在《乔布斯传》中也介绍了,即使强如乔布斯,上台演讲前也需要反复练习。如果你毫无准备就去面试,那你就是浪费了这次宝贵的机会,尤其是这样的一个环境下。

自我介绍

不建议使用大模型来写自我介绍,你可以参考,但是不要完全照搬。大模型写出来的,是“标准”的,没有人味的自我介绍。这种自我介绍很标准,但很普通,也不能帮助面试官快速了解你做的项目,内容。

可以直接照着简历上的项目经验,工作内容,大致说明做了什么。很可能面试官在面试你前,根本没看过你的简历。更别说你写的个人博客,文章等等。现在这个环境,需要你符合相应的工作经验,例如区块链交易平台做了 xx 年,医疗行业做了 xx 年。简单概括工作过的内容,能快速让面试官了解大概。至于怎么写,每个人情况不一样,可以参考的内容也不尽相同,重点是突出你和这个岗位的契合度,以这个为核心,辅以你的工作过的内容展开会更为合适。

准备讲解项目闪光点内容

准备好平时工作中的闪光点,重要的事,并且展示你在这件事中展现出来的 significant 能力。

了解公司和职位

不要什么都投,有些岗位写明了只要 xx 学历以上,xx 年行业经验,如果不符合,最好不要投,避免影响心态。

面试

最好提前半小时到面试地点,留有一点的时间来应对突发情况,也是 “The Psychology of Money” 推荐的 Room for Error。到了后也可以再练习一下自我介绍等其他内容,接近约定的时间 5 分钟左右再去会更好。

很多时候,你也只有一次机会,需要展现出你的各项能力。

你只有一次机会

没有要求你着西装打呔,只是一个人的第一印象很重要,如果一个邋里邋遢,油头红面的人来面试,你会觉得这个人很不专业。不得不承认的一件事就是,如果同样的技术水平,沟通表达能力,一个长得好看的,就是比长得普通的更容易拿到 offer。这被称为“外貌偏见”,影响招聘决策,尤其是在面试阶段。即使长相一般,只要穿着得体,干净整洁,依然比你什么都不收拾要好的多。

拆解任务

如果你经常面试别人,或者去面试,你肯定会喜欢这样的人——将一个大问题拆解成若干个小问题,逐一解决各个子问题,最后整合,完成问题的解决。即使如果有小瑕疵,都无伤大雅。这其实就是自顶向下,拆解问题的能力体现,这也是 10x 程序员的基础能力。

尽量引导面试的人,将任务拆解,即使遇到完全陌生的领域,可以先头脑风暴,从各个角度思考,最后自底向上,分门别类达到该目标的拆解。这,是结构化思维

HR 面试

相较于技术面试,HR 面试其实也很重要。HR 可能会问你一些问题,请提前演练,准备好相应的答案。

  1. 准备好你的自我介绍可能招来的问题。
  2. 你的职业规划是什么?
  3. 为什么考虑我们公司?
  4. 你认为自己取得的最大成绩是什么?是哪些因素造就了你取得这样的成绩?
  5. 你觉得你工作/学习这些年,带给你最大的变化是什么?
  6. 你觉得你是个什么样的人?简短几句评价你自己。
  7. 你有什么问题想要问我的吗?

可以参考一下他的视频

面试后

面试后,并不是万事大吉,或者一切都毁了。如果面试不是很好,这只是一次面试,一次失败的经历,漫长的人生中,你会经历更多的失败,这一次不会是最后一次。做好复盘,恢复心态,很重要。

复盘

记录好每次面试,碰到不懂的问题需要文档记录。比如在面试的时候“憋大招”,想半天也不和面试官沟通,这些都是不合适的行为。每次面试,必须要复盘,必须要记录在文档上,避免犯同样的错误。国内的公司是这样的,会因为一次面试否定你整个人,这是行业现象,你必须在面试中保持 120% 甚至 200% 的实力。没有复盘,是难以进步的。

Offer 进度更新

我碰到的,一般情况,如果觉得合适,基本面试完或者面试的时候就会直接给 offer 或者有意向,如果让你等通知的,基本不用等了。收拾好心情,准备下一回的面试。不用过分在意是否拿到 offer,你要做的是准备好下一场的面试。

恢复心态

不要因为一场糟糕的面试否定你自己,要时刻记住,你不是一成不变的,你是可以通过自身的努力,付出,得到一个更好的成果,更好的环境。我属于那座山,是那座山塑造了我。只是随着年龄的增长,我开始思考,我的起点是否就是我的终点——一个人初具的雏形是否就是他唯一真实的样貌。

——《你当像鸟飞往你的山》

其他

我能想到的,就时间和压力这两块内容。

时间

即使是找工作,也不至于每天 24 小时都要去做,急是没有用的,放轻松,深呼吸。

压力

如果你有房贷,车贷,换工作并不适合你,压力会非常大,你会急着找工作,只要有 offer 你就接,也不管什么提升自己,更不可能考察工作的同事,环境,这些其实非常重要。微小习惯改变一生,环境改变习惯。