<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>程序员求职 on 老朱的赛博工位</title><link>https://blog.zjkun.top/tags/%E7%A8%8B%E5%BA%8F%E5%91%98%E6%B1%82%E8%81%8C/</link><description>Recent content in 程序员求职 on 老朱的赛博工位</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Wed, 21 Oct 2026 16:53:00 +0800</lastBuildDate><atom:link href="https://blog.zjkun.top/tags/%E7%A8%8B%E5%BA%8F%E5%91%98%E6%B1%82%E8%81%8C/index.xml" rel="self" type="application/rss+xml"/><item><title>断点重启：33 岁被裁程序员，把归零的 12 年重新编译</title><link>https://blog.zjkun.top/posts/jobhunt-breakpoint-restart/</link><pubDate>Wed, 21 Oct 2026 16:53:00 +0800</pubDate><guid>https://blog.zjkun.top/posts/jobhunt-breakpoint-restart/</guid><description>这是「老朱的赛博工位」全站总纲：33 岁被裁、12 年前端为主全栈归零之后，我在跨境电商、AI 应用、求职、OpenClaw、建站五条线上的真实试错时间线，以及这个站点往后要装什么。给同样卡在自己断点上的人看——我不是导师，是在路上的人。</description><content:encoded><![CDATA[<p>先交代：我是老朱，朱景坤，33 岁，长沙，12 年开发经验、前端为主的全栈。被裁，12 年归零，正在求职。这篇是本站的总纲——进站点第一篇该读的就是它：<strong>我从哪来，这几个月在五条线上试了什么、卡在哪，以及这个博客往后要装什么。</strong></p>
<p>不保证励志，只保证真实。失败也会写。</p>
<h2 id="被裁那天12-年被压缩成简历上的一行">被裁那天：12 年，被压缩成简历上的一行</h2>
<p>被裁那天我不想戏剧化。裁员的人那天都差不多：谈话、补偿、交接清单，一份十分钟就写完的表格。真正把我打懵的是之后的第一个早上—— laptop 打开，发现手没地方放。十二年里我引以为傲的东西：Vue、React、TS 写起来不用查文档，PHP 也能顶完整项目——它们没消失，但突然失去了坐标。</p>
<p>投出去简历才看清现实：人人都写「精通 Vue/React」，33 岁要和小我五岁的人竞争同一段自我介绍的排版权。简历同质化不是比喻，是我每天打开邮箱看到的实体。</p>
<p>被裁这件事本身我改变不了，我能做的只有一件事：把自己的状态从「被裁的」改成「重启中的」。但重启不是口号，是一份具体的待办清单。于是我给自己定了个规矩——<strong>把所有能试的路试一遍，每一条都留下记录。</strong> 下面按五条线摊开。</p>
<h2 id="重启全景一张表摊开时间线">重启全景：一张表摊开时间线</h2>
<table>
	<thead>
			<tr>
					<th>时间</th>
					<th>线</th>
					<th>实际发生的事</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>6 月下旬</td>
					<td>平台人设</td>
					<td>账号「重启老朱」简介生效：33 岁被裁程序员，12 年开发归零</td>
			</tr>
			<tr>
					<td>8/1</td>
					<td>跨境</td>
					<td>3D 打印柯基通过 CPSC 检测，上架亚马逊，进入图片审核</td>
			</tr>
			<tr>
					<td>9/16</td>
					<td>AI 学习</td>
					<td>多模态方向定案（尚未开工）</td>
			</tr>
			<tr>
					<td>9/24</td>
					<td>求职</td>
					<td>拿到朗钧 TV 端前端 JD，开始整理面试题库</td>
			</tr>
			<tr>
					<td>9/25</td>
					<td>数据快照</td>
					<td>粉丝 166、赞与收藏 1183（实读）</td>
			</tr>
			<tr>
					<td>10/9–10/20</td>
					<td>内容</td>
					<td>RAG 自救系列发满 8 篇</td>
			</tr>
			<tr>
					<td>10/10</td>
					<td>工程</td>
					<td>自建应用上线阿里云 ECS，10/12 完成中文分词器迁移</td>
			</tr>
			<tr>
					<td>10/20</td>
					<td>建站</td>
					<td>Hugo+PaperMod 定案；当晚 23:47，hugo build 通过</td>
			</tr>
	</tbody>
</table>
<p>这张表里没有「战绩」，只有「发生过的和卡住的」。逐条说。</p>
<h2 id="线一--3d-打印--亚马逊跨境把工程师的较真投进手艺活">线一 · 3D 打印 × 亚马逊跨境：把工程师的较真投进手艺活</h2>
<p>动手之前先调研——赚钱方向调研是我重启清单上第一个打勾完成的条目，资料单独归档，和面试题、学习笔记分开放。然后才是具体的活：打印柯基摆件，选品、竞品分析、打样算账、Listing 优化，一路走到 8 月 1 日通过 CPSC 检测、正式上架。</p>
<p>但上架不是终点，是运营的起点，而运营和复盘恰恰是我的短板。说实话：我给自己立的《亚马逊数据对照表》（首日流量+首评置顶）这项待办，到写这篇时已经挂了 30 天；说好的一篇《亚马逊卖书 30 天》的长文，拖延了 34 天没闭环。本站不会给你看「自律改变人生」，只看得到真实的样本——<strong>一个程序员做跨境，货上了架、检测过了，复盘却一拖再拖。</strong> 欠的账，后面会一篇一篇补着写。</p>
<h2 id="线二--ai-应用--rag用自救式学习对抗被淘汰的焦虑">线二 · AI 应用 / RAG：用自救式学习对抗被淘汰的焦虑</h2>
<p>求职主航道定在 AI 应用 + 全栈。学习路线是一个钩子一个钩子往前咬的：混合检索打通 ✅，Query 改写打通 ✅，web_search 接入 ✅，多模态 9 月 16 日定案。当前卡位也很明确，P0 待办三件：eval 验证集、生成侧引用校验、父页面展开。</p>
<p>我把踩坑公开成了 8 篇文章，从 10 月 9 日的三种检索模式对比，到 10 月 20 日的《RAG 父页面召回？这 3 种场景不值得做》（站内已收录：<a href="/posts/rag-hybrid-search-4-steps/">混合检索</a>、<a href="/posts/rag-query-rewrite-4-steps/">Query 改写</a>、<a href="/posts/ai-code-assertion-4-steps/">断言设计</a>、<a href="/posts/rag-parent-document-retrieval/">父页面召回</a>）。</p>
<p>数据不漂亮，照贴：《断言设计》发布 24 小时曝光 244、点击率 11.5%、人均观看 29.9 秒、涨粉 0；《父页面召回》24 小时曝光 270、CTR 13.3%、33.3 秒、涨粉还是 0。连着四篇的封面点击率全在 10.9%–12.1% 之间晃，而这个赛道的中位数对标是 19.4%。结论很残酷也很清晰：<strong>问题不在内容，在门面和人设包装。</strong> 这是我建站最直接的动因之一。</p>
<p>工程侧也没闲着：10 月 10 日，亲手写的检索应用跑上了阿里云 ECS——nginx 加 node 应用双容器，外接 TiDB Cloud 打通。然后中文分词器给我上了一课：jieba 装不出稳定结果，10 月 12 日迁移到纯 JS 的 <a href="mailto:segmentit@2.0.3">segmentit@2.0.3</a> 本地根治，服务器侧重发验证还压着没做完；canvas 500、sharp 原生包、CHROMA_URL 三条大鱼还在水里游着。这些坑每一个都会单独成文。</p>
<h2 id="线三--求职12-年资历是同质化的差异化得自己造">线三 · 求职：12 年资历是同质化的，差异化得自己造</h2>
<p>记到案的最近一单是 9 月 24 日的朗钧 TV 端前端 JD：我把题库深度去重、合并成 12 个模块、约 4 万字的复习版（9 月 26 日定稿 v3），连个人话术都一条条嵌进去。至于面试最终约没约上、简历改没改——到写这篇为止，这件事在我的待办清单上挂账 27 天，状态是「待确认」。我不替自己圆：这就是失业者时间管理的真实水位。另一笔账是那个外包 offer 的「黄金两小时复盘」，当时没落笔，现在只能欠着。</p>
<p>已经终结的场次——华为算法考试、PHP 面试、恩菲前端面试——归档不再展开，结果都写在各日记录里。</p>
<p>简历侧我给自己立了条规矩：<strong>不过度包装。</strong> 前端为主的全栈，PHP 做过完整项目但不深，不是 Node 后端——这句话我原样写进自己的档案文件里。对 33 岁的求职者，诚实不是品格装饰，是成本控制：技术面靠吹过去的每一关，都会在下一关连本带利还回去。而简历拉不开差距的部分，就让能点开的作品来拉——这就要说下一条线。</p>
<h2 id="线四--openclaw我雇了个-ai-管家它记账比我诚实">线四 · OpenClaw：我雇了个 AI 管家，它记账比我诚实</h2>
<p>简介里那句「OpenClaw 折腾中」，说的是一套自托管的 AI 助手 + 记忆系统：每天一份 daily 流水，一份持续更新的 MEMORY.md 画像，还有一个每天定点复盘超期待办的维护班。</p>
<p>它帮我的最大忙不是效率，是把「说了要做」变成可审计的账：什么事项超期 8 天、12 天、27 天、30 天，它全给我标着，且每日刷新，不给面子。它也不避讳揭自己的短——维护班连续三个班次没准点跑，规律是「上次运行 + 24 小时」一路向后漂移，怀疑是夜间机器休眠。说白了，工具掉链子的根因在我这台机器上。我在学的不止是 RAG，也是怎么让 AI 真正接管一部分「自己管不住自己」的事。这块的折腾记录，本站会持续更新。</p>
<h2 id="线五--建站一个下午搭出来的工位">线五 · 建站：一个下午搭出来的工位</h2>
<p>技术选型 10 月 20 日定案：Hugo + PaperMod。理由朴素到家：免费、够快、markdown 写文、一条命令发布。域名 blog.zjkun.top，挂上 HTTPS，部署复用已有那台 ECS——A 记录加一个 nginx server 块的事，服务器钱没多花一分。<strong>10 月 20 日深夜 23:47，hugo build 通过，这个工位正式点亮。</strong></p>
<p>小翻车也有：首版图标是黑底像素风，远看像黑客工具，被我当场否掉，重做了 4 版才选定现在这个「翡翠光标」。</p>
<p>还立了一条倔规矩：代码可以开源，GitHub 仓库照常推送，但 <code>content/</code> 下的全部博文源文<strong>永不上传公开仓库</strong>——内容是翻身的家底，这个立场欢迎评论区来吵。评论区功能暂缓，等服务器上的 MySQL 容器就绪再接（倾向 Artalk）。</p>
<h2 id="这个博客往后要装什么">这个博客往后要装什么</h2>
<p>对着账号里两个合集的骨架，本站三条内容线，加一块不删的账：</p>
<ol>
<li><strong>RAG / AI 应用自救系列</strong>——技术长尾和决策记录。检索模式怎么选、改写规则怎么定、哪些场景不值得做父页面展开，全在这里，陆续补齐站内链接。</li>
<li><strong>3D 打印 + 亚马逊实操笔记</strong>——从打样算账（<a href="/posts/crossborder-prototyping-ledger/">成本账本</a>）到<a href="/posts/crossborder-product-selection/">选品</a>，货到上架之后的运营复盘也写，包括难看的那些（<a href="/posts/ecs-deploy-pitfalls/">部署踩坑实录</a>）。</li>
<li><strong>求职 · 转行 · 工位搭建日志</strong>——面试准备方法、简历与作品的差异化打法，以及这个站本身怎么从定案走到上线（入站第一篇可以读 <a href="/posts/hello-blog/">hello-blog</a>）。</li>
</ol>
<p>外加一条<strong>失败清单</strong>：超期未闭环的待办，挂着就挂着，写出来，每季度对一次账。9 月下旬我发过一篇叫《断点重启》的内容，它的评论区后续状态在我清单上挂了 27 天没闭环——从今天起，这个系列的正式版本账本站来记。</p>
<h2 id="不是导师是在路上的人">不是导师，是在路上的人</h2>
<p>数字存档：截至 9 月 25 日，粉丝 166、赞与收藏 1183；四天前的快照是 165 和 1106。这不算什么战绩，但我给自己定过一条数据纪律——一切数字只报实读。曾经有个「179」被我从通知流水里读成了存量，被纠正之后我记住了：<strong>事件数冒充存量指标，和简历注水没有区别。</strong> 这个站里出现的所有数字，都按这条口径来。</p>
<p>回到标题。调试器里的断点不是程序死了，是执行停在这一行、状态已保存——然后你按下继续，一步一步往下走。我的 12 年没有被删除，只是在 33 岁这行代码处停了下来。这个站点要做的就一件事：<strong>把断点之后的每一行，重新编译，公开运行。</strong></p>
<p>对程序员来说，最糟的从来不是崩溃。是明知崩了，还装作程序在跑。</p>
<p>下一篇预告：搭完这个站两周，我投出去的简历回复率变没变。数据说话，不见不散。</p>
]]></content:encoded></item><item><title>外包 offer 先别急着签：我替你先踩了 3 个坑</title><link>https://blog.zjkun.top/posts/jobhunt-outsourcing-offer/</link><pubDate>Wed, 21 Oct 2026 16:46:00 +0800</pubDate><guid>https://blog.zjkun.top/posts/jobhunt-outsourcing-offer/</guid><description>33 岁、12 年前端、正在求职的我，把外包 offer 签约前必须想清楚的三个坑——合同主体、项目结算周期、技术栈收窄——一次讲透，附一份可以直接抄走的签约前核验清单。写给同样手握外包 offer 在犹豫的你。</description><content:encoded><![CDATA[<p>先报家门：老朱，33 岁，长沙，前端写了 12 年，目前还在求职市场上泡着。</p>
<p>前阵子我在常发的平台上发过一条短笔记，题目就叫《外包 offer 别乱签，这 3 个坑我先替你踩了》，之后陆续有人来追问：坑具体怎么踩的？签之前到底该核什么？短笔记篇幅不够，这篇长文一次讲透。立场先放前面：<strong>我没说外包不能去，我说的是别乱签。</strong> 下面这三个坑，我自己都踩过，每个疼在不同地方。</p>
<h2 id="坑一跟你签合同的公司和你干活的公司不是一家">坑一：跟你签合同的公司，和你干活的公司，不是一家</h2>
<p>外包最常见的形态是驻场：你每天进甲方的园区，坐甲方的工位，听甲方的排期，名字挂在甲方的项目群里——但你的劳动合同、五险一金、请假审批、离职流程，全归另一家公司管。</p>
<p>顺手把两种常见形态分清，这影响你问问题的方式：一种是人力外派，外包公司把你收进去，再驻场到甲方那里给甲方用人，你日常的活儿和汇报线都在甲方那边；另一种是项目承包，外包公司整体接了一坨活，你对外包公司自己的项目经理负责，甲方隔了一层。前一种归属感弱、保障也弱，后一种至少有人管你，可项目亏了本，被拿去砍成本的也照样先是你。签之前问清楚：自己这个岗位属于哪一种，直属汇报线落在哪边。</p>
<p>当初我心想，这有什么区别？拿钱干活就是了。区别平时真看不见，出事儿的时候全冒出来：</p>
<ul>
<li><strong>甲方缩编，你不算他们的人。</strong> 谈话的是外包公司；外包公司没坑位接收你时，剩下的就只有&quot;自己找下家&quot;或者&quot;拿一个很难看的数字走人&quot;。赔偿金谁出、怎么谈，两家公司互相往对方身上推，扯皮的每一分钟都是你自己的。</li>
<li><strong>绩效体系里没有你。</strong> 甲方同事晋升、调薪、发年终奖，流程上就没你这一号。不是你干得不好，是你的名字从设计上就不在他们那张表里。</li>
<li><strong>归属感是虚的，工牌是实的。</strong> 门禁权限要单独申请，内网给你开的是&quot;外部账号&quot;，邮件签名里你的公司在甲方名字后面。这些细节每天都在提醒你：你是外面来的。</li>
</ul>
<p>还有个跟合同主体绑着的坑要单独点名：<strong>试用期和合同期限</strong>。有的外包岗位，跟你的合同本身只签很短一个周期，试用期占比拉得很高——你在甲方干了大半年熟练的活，法律身份上却一直在试用期里打转，随时可以被&quot;不符合录用条件&quot;请走。签之前把合同期限、试用期时长、试用期工资这三行字逐字看一遍，别让 HR 口头带过。</p>
<p>只问三件事：合同主体是谁；五险一金按什么基数、在哪个城市缴；&ldquo;待岗&quot;和&quot;协商解除&quot;在合同里怎么写的。三者有一个含糊，这 offer 就埋着雷。</p>
<h2 id="坑二决定你去留的不是绩效是项目的结算周期">坑二：决定你去留的不是绩效，是项目的结算周期</h2>
<p>外包的生意本质，是把人按月加价卖出去。甲方续不续这个&quot;月&rdquo;，跟你的代码写得多好，关系没有你想象的大。</p>
<p>项目结束我是亲历过的。前一季甲方砍预算，下一周外包的负责人就来&quot;关心&quot;你：项目快收尾了，要么等下一个岗位，要么自己出去看看。等来的那段日子，业内常见做法是按当地很低的一个标准发待岗工资——那个数字的意思，就是逼你主动提离职，好让解除劳动关系这一栏写成你自愿。更尴尬的是工位：项目一停，外部账号当天回收，你连&quot;再站好最后一班岗&quot;的对象都没有，而简历上的空窗期从那天起算。</p>
<p>你的去留，是在甲方和外包公司对账的那张会议桌上被决定的。你努力，改变不了结算逻辑。</p>
<p>招聘快车的另一面也值得说一句。外包岗经常「面完就要人」，面试难度不高，外包 HR 挖你时热情得像是捡到宝。别被那两秒的待遇晕住——招得快，是因为项目急着填坑；坑要收的时候，第一批被「优化」的也多是外包同事。面试的容易程度和岗位的安定程度，是两回事。</p>
<p>所以我现在把这两个问题当成接 offer 前的必问题：</p>
<ol>
<li><strong>&ldquo;这个岗位是长期编制还是短期项目补充？&rdquo;</strong> 就算听到&quot;长期&quot;两个字，也要再追一句：甲方这个项目用了几年、稳定的外包有几个？人员流动大的项目，&ldquo;长期&quot;不值钱。</li>
<li><strong>&ldquo;空档期怎么算，写进合同了吗？&rdquo;</strong> 口头说&quot;肯定不让你饿着&quot;的，请他写进 offer：待岗期间薪资标准、多少天内重新安排项目、安排不了怎么补偿。不肯写？那答案其实已经给你了。</li>
</ol>
<h2 id="坑三技术栈被岗位锁死简历越干越窄">坑三：技术栈被岗位锁死，简历越干越窄</h2>
<p>这个坑不立刻疼，所以最危险。</p>
<p>我最近正在准备一个 TV 端前端岗位，JD 我翻来覆去看了很多遍：低版本 WebKit 兼容、遥控器按键码、存量系统迁移、uni-app 跨端，要求栏里还有一条硬杠杠——统招本科、三年以上经验。这些是真需求，能把这批问题解决干净的人也是真高手，但你得往前看三年：在这个岗位上泡三年，简历上写满&quot;解决了某某兼容问题&quot;&ldquo;迁移了某某老系统&rdquo;，下一家面试官会怎么给你归档？</p>
<p>外包岗尤其容易把你钉死在一个甲方的一套系统上。核心架构、代码库权限、技术选型轮不到你，你做的是边界活；而这份窄边界，恰恰会被印章一样盖进你的简历。三年后，年龄涨了三岁，市场宽度反而窄了一截。</p>
<p>驻场外包还有一层隐性消耗：甲方的加班节奏归甲方定，加班费的计算基数归外包公司定，你的体力和时间被通勤与项目冲刺挤占，「回家补技能」的说法会越来越像客套。等到第三个年头，手上的钝感和信心，可能都比你进场那会儿差一截。</p>
<p>对第三个坑，我的缓解办法很朴素：</p>
<ul>
<li>签之前问清楚：这个岗位碰不碰得到核心系统？有没有转正编的先例？口头&quot;转正&quot;承诺的含金量约等于零——写进 offer 的另说，但基本不会写。</li>
<li>给自己留一门持续投入的通用技能，别把手生下来。我最近还在啃 Node 全栈和 RAG 方向的那个项目，就是为了简历不被单一岗位拖着走。</li>
<li>降低对外包经历的预期：这段项目经验，除非你能写出真正属于你的东西，否则在简历上只是填空。</li>
</ul>
<h2 id="说完了坑也说句公道话">说完了坑，也说句公道话</h2>
<p>把三个坑摆你面前，不是劝退：</p>
<ul>
<li><strong>过渡期，外包能给简历续命。</strong> 33 岁投简历是什么行情，经历过的人都懂，&ldquo;有份工作在跑&quot;本身就有价值。</li>
<li><strong>正规外包和劳务派遣是两码事。</strong> 派遣的法律关系更绕，能避则避；有些外包商项目稳定、社保足额、加班费按规矩来，这种坑就少得多。签约主体先去企业信息平台翻一遍诉讼和劳动仲裁记录，一分钟的活儿，能省半年的麻烦。</li>
<li><strong>要避的从来不是外包，是闭眼签。</strong></li>
<li>还有一点不好说但真实存在：有些大厂的外包岗位，能让你碰到小公司碰不到的生产环境规模——流量、部署、故障响应这一套。如果你打定主意是「借船出海」，就带着核验清单进去，把流程学到手，把经验筛进自己简历，到点就走。这种外包不丢人，疼的是闭眼签、泡三年、什么也没带走的那种。</li>
</ul>
<h2 id="我签约前会过的核验清单">我签约前会过的核验清单</h2>
<table>
	<thead>
			<tr>
					<th>项目</th>
					<th>我具体看什么</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td>合同主体</td>
					<td>工商信息、涉诉和劳动仲裁数量</td>
			</tr>
			<tr>
					<td>薪资结构</td>
					<td>基本与绩效的占比、加班费的计算基数、年终奖写在合同还是只在大话里</td>
			</tr>
			<tr>
					<td>五险一金</td>
					<td>缴纳城市、缴纳基数、是否按实际工资</td>
			</tr>
			<tr>
					<td>待岗条款</td>
					<td>项目结束后的薪资标准、转岗机制、写没写进合同</td>
			</tr>
			<tr>
					<td>竞业限制</td>
					<td>约束的是外包商还是甲方、离职后给不给补偿、违约范围多大</td>
			</tr>
			<tr>
					<td>留痕</td>
					<td>offer 邮件和合同文本都要有，口头承诺约等于不存在</td>
			</tr>
	</tbody>
</table>
<p>那份 offer 现在还没签，我还拿着在比对。33 岁，每一次签字都是拿几个月甚至几年的生活下注，坑这东西，知道得越早越便宜。你要是也手握一份外包 offer，签之前把这篇翻出来对着清单过一遍，过不完就别落笔。卡在具体哪一条，把条款原文拍下来——公司名打码——找个懂的人问清楚，别自己瞎猜。合同文本跟需求文档一个道理：「以公司制度为准」「另行协商」这类字样，落到执行上全是活扣。</p>
<p>下一篇如果顺利，写我最近在备的 TV 端面试——兼容性的坑题会怎么问，一个 12 年的老前端要怎么答。</p>
]]></content:encoded></item></channel></rss>