# 高级软件工程师

> 三个全职职位，端到端打造 AI 原生产品平台，从数据模型和 API 一直到人们真正使用的界面。

Engagement: 全职
Work mode: 远程
Rate: 在首次通话时商定，依据经验和所在地确定。
Posted: 2026-10-01
Canonical: https://webanion.com/zh/careers/senior-software-engineer
Apply: https://webanion.com/zh/careers/senior-software-engineer#apply

## 职位内容

覆盖整个技术栈的产品工程。全程使用 TypeScript，前端是 Next.js 和 React Native，其后是 NestJS 和 Strapi，底层是 PostgreSQL，最终部署到 Kubernetes。一个功能从数据库结构到界面再到部署都由你负责，你也是那个清楚它为什么能正常运行的人。

## 你真正要构建的东西

<p>这些平台承载着资金和日程的流转，而不是宣传册式的网站。一个预订平台：客户只需描述一次行程，运营商就会给出报价，背后还有一个让运营商之间共享工作的网络。一个合作社金融平台：有真正的账本、贷款工作流，以及需要委员会签字认可的报表。一个 Headless 内容平台：用同一套记录同时服务人和 AI 客户端。</p><p>这些问题都很有意思：报价必须一次就对，账本必须平衡，页面在五种语言下都必须快，部署在凌晨两点也必须能回滚。</p>

## 我们在找什么样的人

<p>你曾端到端地负责过一样东西，并且在之后一直与它共处。你对 TypeScript 的掌握足够深，类型是在帮你而不是在跟你作对；读查询计划和读渲染追踪对你来说同样得心应手。</p><p>你写的测试在代码出错时真的会失败；你也能用平实的话，向不在场的人解释一个决定。我们开放三个职位，它们并不能互换：告诉我们你希望被托付技术栈的哪一部分。</p>

## 我们的工作方式

<p>动手之前先开一个 issue，然后为它提交一个 pull request，由人来审查并合并。每个会修改数据的脚本默认只报告它将要做什么，只有在你传入 --execute 时才会执行，而且在一个事务内完成，在谈论任何数据行之前先说明它连接的是哪个数据库。</p><p>结论以退出码为准，而不是看输出像不像对的。合并到 main 后会自动构建和部署，每个镜像都带有真实的版本号，而且在往前走之前，回退的路已经写好。</p><p>整套系统运行在自有硬件上，所以你能看到完整的链路：数据库结构、API、界面、镜像、发布，以及出问题时负责通知人的那个环节。</p>

## 如何申请

<p>请使用本页面上的联系表单，并附上你的简历。告诉我们一件你做过、至今仍引以为豪的事，以及一件你做错过的事和它教会你的东西。第二个回答，我们会读两遍。</p><p>只要是认真写来的消息，我们都会回复。在这里，一段关于你自己工作的简短说明，比一封写给谁都行的求职信更有分量。</p>
