$kernelink route --hydrate --safe

页面加载 /
跳到正文
auth://account/session

登录工作区

使用 Emlog 账户继续访问你的内容与互动记录。

忘记密码?

打开 Emlog 原生登录页

2343.md
workspace / posts
~/posts/2343.md 阅读中

赴日韩做开发收入有限却要忍受无尽加班

赴日韩做开发收入有限却要忍受无尽加班

东京十点四十,首尔凌晨一点

东京新宿,晚上十点四十。你刚把第三版式样书里被自己理解错的一处分支逻辑改完,组长走过来拍拍你肩膀,说了句「お疲れ様でした」,紧接着补一句:明天早上,能不能先跑一版出来看看。

首尔江南,凌晨一点。客户方的确认邮件还没来。白天在会上拍板的需求,晚上在群里被推翻了一半。你所在的合作公司不能直接对客户说“这个需求有问题”,于是这半个晚上,你做的那件事叫“等”。

收入看着还行,扣完税和年金,房租一交,剩下的比在国内一线城市多不了多少。汇率一跌,同样的月薪换回人民币又少一截。加班却是实打实的:日本讲“报联相”,一件事要跟三个人确认;韩国讲层级,前辈没走你也不好先走。

这篇文章不劝你去或者不去。它只解决一个具体问题:在这种环境里,怎么用 AI 编码工具,把本来要耗掉你一整个晚上的时间抢回来。

一、两笔账,大多数人一开始就算错了

收入这笔账:你卖的不是技术,是稳定和忍耐

赴日韩做开发,尤其是通过派遣、常驻、或者当地合作公司进场的形式,单价里有一大块是“沟通成本”和“合规成本”,跟你的技术上限关系不大。也就是说,你代码写得再快,月薪也不会同比例上涨——这一点想清楚了,你就不会用“拼加班换加薪”的思路做决策。

前提条件要先问清:是正社员还是派遣?加班费按分钟结算还是包含在月薪里(日本叫“みなし残業”)?这些在你签合同前就该有白纸黑字的答案,别等到第一个月工资条出来才反应过来。

加班这笔账:真正吃掉时间的是流程,不是代码

一个典型晚上是怎么没的:

  • 式样书是日文或韩文的,你的理解偏差在半路才暴露;
  • 老系统没有文档,改一个字段要顺藤摸瓜找三张报表;
  • 写完不敢提交,因为不确定有没有踩到别的地方,只能自己反复手测;
  • 客户方评审排在两天后,你只能等,等的时候还被要求“先做点别的”。

这四件事里,只有第三件是写代码本身,其余三件全是流程摩擦。AI 工具最能帮上忙的地方,恰好就是这三件。

二、三个可以直接照搬的做法

做法一:动手前,先让 AI 把老工程的“地形图”画出来

操作步骤

  1. 把你负责的那块目录、相关的接口定义、数据表结构,批量选中丢给 Cursor 的 Chat(不要开 Agent 模式,先只读)。
  2. 提一个非常具体的问题:“这个字段 xxx 从写入到出现在报表上,经过了哪几个类和方法?按调用顺序列出来,标出文件名和行号。”
  3. 拿到答案后,不要直接信。挑其中两个方法,自己点进去看,确认调用关系对得上。
  4. 对得上的部分,让 AI 再整理成一份 Markdown 笔记,存进仓库的 docs/ 目录。

一个真实场景:接手一个跑了八年的日本客户内部系统,Spring 分层混乱,Service 里塞着 SQL 拼接。要加一个“订单来源”字段并联动三张报表。按老办法,光摸清链路要一天。用上面的方式,二十分钟拿到一张调用草图,人工核对后修正了两处(AI 把两个同名的 getList 搞混了),剩下的时间直接用来改代码。当晚十点前提交,没熬到地铁末班。

注意:AI 对遗留代码的调用链推断,看的是文本相似度,不是运行时真值。凡是涉及动态代理、反射、AOP 的地方,它八成会漏。核对环节不能省,省下来的时间会以线上事故的形式还回去。

【金句:AI 能帮你画出老系统的地图,但地图上的路,你得自己走一遍。】

做法二:把日文/韩文需求先翻成“验收清单”,再翻成代码

操作步骤

  1. 把式样书里涉及本次改动的段落整段贴给 AI,先让它输出“待确认问题列表”,而不是直接翻译。
  2. 你拿着这份问题列表去找组长或客户确认——这一步是给日韩项目量身定做的,那边最怕的就是你不问、自己猜。
  3. 确认完,再让 AI 把需求整理成 Given/When/Then 格式的验收条目,逐条对照,能写测试的直接写测试。
  4. 最后才让 AI 出实现代码。

为什么这一步绕不过去:日文式样书里“~の場合は”这类条件表达,翻译本身没歧义,歧义出在业务默认值上——客户脑子里有个“当然是这样”,文档里没写。先做问题列表,等于把这类隐形假设提前挤出来。等到代码写完再问,成本是重写。

注意:不要把未经脱敏的客户业务数据、真实用户信息贴进任何外部模型。字段名、表名能改写就改写,业务逻辑用假数据描述。这一条在日韩客户的项目里,往往是合同明文要求的保密条款,踩了不是技术问题。

【金句:AI 翻得准的是句子,翻不准的是客户没说出口的那半句。】

做法三:提交前补测试和边界,把返工挡在代码评审之外

操作步骤

  1. 写完实现后,不要提交。选中改动的类,对 AI 说:“针对这个类的方法,列出 10 个容易出错的边界场景,只列场景,不写代码。”
  2. 你自己筛一遍,删掉不适用的,保留 4-5 个。
  3. 再让它按你保留的场景生成单元测试,运行,看红。
  4. 红灯修完,才推分支、开 PR。

一个真实场景:给一个金额计算模块加折扣逻辑,AI 一开始生成的实现没考虑“折扣后为负数”和“多币种汇率取整”两种情况。让它先列边界场景,这两条被列了出来(列场景比写代码更靠谱,因为它不需要猜上下文)。测试补上,评审时日本那边的技术Leader只在评论里问了一句汇率取值规则,没有像往常那样打回重做。

注意:AI 生成的测试通过,不代表代码对,只代表它与你的理解一致。测试用例的期望值必须你自己核对,尤其是金额、时间、分页这类地方。

【金句:AI 写的测试不能证明你对,但能证明你有没有想漏。】

三、五个最容易踩的坑

坑一:AI 编造不存在的 API 和配置项。
现象:生成的代码里出现看着很合理的 client.setRetryPolicy(...),实际这个版本根本没这方法。危害:编译能过就侥幸,过不了就白写半天。规避:让它生成的每一行外部调用,都在你项目的依赖版本里能搜到;搜不到的一律手写。

坑二:让 AI 大范围重构老工程。
现象:一句“帮我把这个类重构得清晰一点”,它给你换了 200 行。危害:在日韩客户的项目里,改动范围超标要重新走评审,还可能触发回归测试全量跑。规避:老代码只做最小改动,重构另开分支、另提申请。

坑三:把客户源码整段贴进外部模型。
现象:图省事,几十个文件一起丢进去。危害:触犯保密条款,后果不是被骂,是赔偿。规避:本地模型或公司内网工具优先;外部工具只贴改写过的片段。

**坑四:AI

收藏 0
手机扫码阅读

微信或手机浏览器扫一扫,随时随地随心阅读与分享

comments.cmd 可写入
guest@kernelink:~/posts/2343$ comment --compose
identity.env 访客信息
插入 访客会话 Text + UBB · UTF-8 · LF 0 字符