自由职业后端工程师 · 马拉加

Maxi
Kirschberg

API、集成、自动化、可观测系统。
没有模拟数据,没有玩具项目。

↓ 滚动
01 · 关于我

我是怎么走到这里的

我很早就开始尝试对当时水平来说过大的系统。当周围许多人还在写入门 CRUD 时,我已经痴迷于真实产品背后到底在发生什么:队列、缓存、并发、部署、套接字、基础设施。转折点是那一天:我不再把后端看作「写 API」,而是开始把它视为设计那些在被真正使用时不会崩溃的系统。从那一刻起我彻底入坑。

我学到的大部分东西都来自把事情弄坏。把整个服务搞挂的部署、配置错误的代理、无法复现的并发 bug、仓促的 PostgreSQL 迁移、在生产环境里抛出荒唐重定向的中间件。正是在那里我学得最多。我意识到比起做好看的界面,我更享受调试复杂系统、追踪真实瓶颈。能在底层弄清楚为什么某个东西失败,并优雅地修复它,是我最接近心流的时刻。

随着时间推移,我的项目越来越偏向真正的架构工作:自动化流水线、实时 SSE、多服务 Docker 栈、用 nginx 做反向代理、抓取与趋势系统、内容自动化、内部工具。我从来对「通用应用」没多大兴趣。我想为真正在运转的产品建造有用、快速、稳定的基础设施。

02 · 技术栈

我用什么构建

下面这份清单是我会优先选择的工具,不是勉强能用的。来自多年的生产磨炼,而不是阅读发布公告。

03 · 已交付

近期工作

少量真实系统,每一个都为真实用户在生产中运行。不是一堆半成品 demo 组成的作品集。

Kramaru

编辑自动化 · 13 个站点 · 在线

多租户出版平台,追踪 11 个趋势源,评估机会,生成并审校文章,以 12 种语言发布到 13 个细分站点。Postgres、pg-boss worker、Claude 集成、自研 QA 流水线,以及一个可以实时跟踪每条队列的仪表盘。

kramaru.es

PolyMarket trader

加密 · 24/7 在线

四套 polyvps 策略 7×24 小时运行,带智能止盈、按小时门控与熔断器。真金白银,不是回测。每日指标仪表盘、紧急关闭开关、每笔入场的审计日志。

Triada AD

体育分析 · Docker

基于 OpenFootball 并以 Sofascore 富化数据的足球预测结算引擎,接入了对每个容器都做硬化的 Docker 栈。NGINX、Postfix、Server Actions 加密密钥被固定,以防止过去一次事件中出现的请求头重放攻击。

TopSec

SaaS · 干洗店

Flutter Desktop 的 POS、Node 后端、MySQL、热敏打印、WhatsApp 集成。真实客户,离线优先。

Live Demo · .NET 8 事件流

SSE · Postgres · 实时

mkir.es 上的公开 demo:一个 .NET 8 进程通过 Server-Sent Events 把数据库变更事件扇出到许多浏览器。零客户端依赖,纯 HTML 实时呈现 Postgres 触发器。

mkir.es
04 · 案例研究

TopSec,深入剖析

通常我会用一句话概括的项目,这次给出完整版本。艰难的决定、我弄坏的东西,以及真正在运行的东西。

问题

TopSec 的目标是在不依赖巨型基础设施、也不引入对产品而言过重的栈的前提下,实现数据的实时聚合、同步与可视化。需求说起来很简单,做起来很难:让数据在多个服务同时通信时保持鲜活、快速和一致。

最难的决定

在 .NET 8 后端与 Next.js 之间清楚地划线。一个不起眼的案例把这条线暴露得一清二楚:/api 路由加上 next-intl 中间件,会产生指向 /es/api/* 的 307 重定向。技术上没错,实际效果是坏的。某些 locale 下,实时与统计端点会无声地失效。

没人会要求你写的那种补丁,才是真正撑得起工程师单价的补丁:与其一条一条修重定向规则,我重写了中间件的 matcher,把 /api 完整排除。视觉变化很小,架构变化巨大。

过早优化是坏事。从第一天就忽略性能更糟。 工作原则

另一个决定是把 PostgreSQL 留作单一事实来源。对这个产品而言,一致性与可写复杂查询的能力,比从 NoSQL 中挤出的任何速度收益都更值钱。当无聊是正确的时候,无聊就很好。

我弄坏的东西

有一次生产挂掉,因为我以为一份 Docker 镜像真的被重建了。「新」代码继续表现得跟旧代码一模一样。真正的元凶是 npm ci,因为缺少 package-lock 而静默失败,留下了一份不一致的构建。我花了好几个小时调试应用逻辑,而问题其实在流水线里。

教训 对每一次部署都保持怀疑,直到你亲眼确认真正在运行的是哪个产物。给镜像取 SHA、检查容器哈希、在启动时把构建 commit 记到日志里。这是你花过的最便宜的一分钟。

结果

  • VPS 上稳定的多服务架构:后端、前端、Redis、PostgreSQL、nginx,全部协调运行。
  • 重写中间件后,路由和实时错误大幅下降。
  • 通过精准的缓存位置与责任的清晰分离,响应时间得到改善。
  • 架构已准备好新增模块,而不必重写核心。
  • 对外展示:mkir.es。更深入的技术演练可按需提供。
05 · 我的工作方式

我会为之辩护的观点

这些是在生产事故里赢来的强观点,不是在 Twitter 上获得的。如果有哪一条让你紧张,我们大概率合得来。

新项目的前两个小时

  1. 弄清真正的业务或用户问题。不是客户认为自己需要的那套技术栈。
  2. 在写下任何一行代码之前,先识别潜在瓶颈。
  3. 在纸上或文档里勾画数据流。
  4. 画出最小可行架构,仅此而已。
  5. 按真实约束选择技术栈,而不是趋势。
  6. 第一天就准备好可复现的环境。
  7. 决定哪些部分需要扩展,更重要的是,哪些部分一定不能。

塑造了我思考方式的参考

06 · 我不接的项目

诚实的过滤器

懂得说「不」,会让说出口的「好」更可信。这些是我并不合适的项目。

07 · 可用性

与我合作

自 2022 年起做自由职业与合同项目。对远程优先的角色开放,如果项目值得,也可以接受在马拉加或太阳海岸的混合办公。对工程在流程下被吞没的过度企业化环境没有兴趣。

状态
有档期接新项目,可根据范围灵活安排。
合作类型
自由职业、合同、复杂后端开发、系统架构审计。
费率
每小时 35 至 60 欧元,根据范围与责任而定。也可以按项目定价。
地点
远程优先。当项目值得时,马拉加或太阳海岸混合办公。
语言
西班牙语(母语)、英语(C1,技术与职业)。
学历
DAM,跨平台应用程序开发。
08 · 联系我

保持联系

邮件回复最快。LinkedIn 用于正式介绍,GitHub 用于看代码。

邮箱maxikirschberg1@icloud.com linkedinMaximilian Kirschberg github@MaxiKirCas 作品集mkir.es