フリーランス・バックエンドエンジニア · マラガ

Maxi
Kirschberg

API、統合、自動化、観測可能なシステム。
シミュレートされたデータも、おもちゃのプロジェクトもない。

↓ スクロール
01 · 自己紹介

ここに至るまで

私は早い段階から、自分のレベルには大きすぎるシステムに手を出していました。多くの人が基礎的な CRUD を書いている間、私は本物のプロダクトの裏側で何が起きているのかに取り憑かれていました。キュー、キャッシュ、並行処理、デプロイ、ソケット、インフラ。転機は、バックエンドを「API を作ること」ではなく「実際に使われた瞬間に崩れないシステムを設計すること」と見るようになった日です。そこから完全にのめり込みました。

知っていることの大半は、何かを壊したことから来ています。サービスを丸ごと止めたデプロイ、設定の悪いプロキシ、再現不可能な並行処理バグ、急いで実行した PostgreSQL のマイグレーション、本番で不条理なリダイレクトを生み出すミドルウェア。まさにそこで、最も多くを学びました。きれいなインターフェースを作るより、複雑なシステムをデバッグして本当のボトルネックを追いかける方が、私にとってはるかに楽しいと気づきました。低レベルでなぜ何かが落ちるのかを理解し、エレガントに直すこと。それが私にとって、最もフローに近い状態です。

時間とともに、私のプロジェクトは本物のアーキテクチャ作業に向かいました。自動化パイプライン、リアルタイム SSE、マルチサービスの Docker スタック、nginx によるリバースプロキシ、スクレイピングとトレンドのシステム、コンテンツ自動化、社内ツール。「汎用アプリ」にはあまり興味を持てませんでした。本当に動いているプロダクトのために、役立ち、速く、安定したインフラを作りたいのです。

02 · スタック

使っている技術

このリストは、私が我慢して使うものではなく、最初に手を伸ばすもの。発表記事ではなく、本番運用で磨かれた選択です。

03 · 納品

最近の仕事

少数の本物のシステム。それぞれが実ユーザーのために本番稼働しています。半端なデモを並べたポートフォリオではありません。

Kramaru

編集自動化 · 13 サイト · 本番稼働

マルチテナント編集プラットフォーム。11 のトレンドソースを追跡し、機会をスコアリングし、記事を生成・レビューして、12 言語で 13 のニッチサイトに配信します。Postgres、pg-boss ワーカー、Claude 連携、独自の QA パイプライン、そして全キューのライブ tail を備えたダッシュボード。

kramaru.es

PolyMarket trader

クリプト · 24時間ライブ

4 つの polyvps 戦略を 24/7 で稼働。スマートな利確、時間別ゲート、サーキットブレーカー。バックテストではなく実資金。日次メトリクスダッシュボード、キルスイッチ、各エントリーの監査ログ。

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 の公開デモ。単一の .NET 8 プロセスが、データベースの変更イベントを Server-Sent Events で多数のブラウザにファンアウトします。クライアント依存ゼロ、Postgres のトリガーをプレーンな HTML が逐次レンダリング。

mkir.es
04 · ケーススタディ

TopSec、深く掘る

普段なら一文で済ませるプロジェクトの長尺版。難しかった判断、壊したもの、そして本当に稼働しているもの。

問題

TopSec は、巨大なインフラやプロダクトには重すぎるスタックに頼らずに、データのリアルタイム集約・同期・可視化を実現するために存在します。要件は言葉にすると単純で、実装すると難しいものでした。複数のサービスが同時にやり取りしながら、データを生きたまま、速く、整合性を保ち続けること。

最も難しかった判断

.NET 8 のバックエンドに何を置き、Next.js から何を解くのか。境界を明確に引くこと。あるさりげない事例がその線をはっきりさせました。/api ルートと next-intl ミドルウェアの組み合わせが /es/api/* への 307 リダイレクトを生み出していたのです。技術的には正しく、実用上は壊れていました。リアルタイムと統計のエンドポイントが特定のロケールで静かに死んでいたのです。

誰にも頼まれないパッチこそが、エンジニアの単価を正当化します。リダイレクトのルールを一つずつ直す代わりに、ミドルウェアのマッチャーを書き直して /api を完全に除外しました。見た目は小さい変更、アーキテクチャ的には大きな変更です。

早すぎる最適化は悪。初日からパフォーマンスを無視するのはもっと悪。 作業原則

もう一つの判断は、PostgreSQL を唯一の正のソースとして保ち続けることでした。このプロダクトでは、整合性と複雑なクエリを書ける能力が、NoSQL ストアで絞り出せるどんな速度向上よりも価値がありました。退屈で正しいなら、退屈で構いません。

壊したもの

本番が一度落ちたことがあります。Docker イメージが本当に再ビルドされたと思い込んでしまったからです。「新しい」コードが古いコードのように振る舞い続けていました。実際の犯人は npm ci で、package-lock が無いまま静かに失敗し、ビルドを不整合なまま残していたのです。パイプラインの問題を、アプリケーションロジックを延々とデバッグしていました。

教訓 どんなデプロイも、自分の目で、どの成果物が本当に動いているかを確認するまでは疑え。イメージの SHA を取り、コンテナのハッシュを確認し、起動時にビルドコミットをログする。あなたが使う中で最も安価な一分です。

成果

  • VPS 上の安定したマルチサービスアーキテクチャ。バックエンド、フロントエンド、Redis、PostgreSQL、nginx、すべて協調動作。
  • ミドルウェアの書き直し後、ルーティングとリアルタイムのエラーが大幅に減少。
  • 適切な位置のキャッシュと責務の明快な分離により、応答時間が改善。
  • コアを書き直さずに新モジュールを増やせるアーキテクチャ。
  • 公開面: mkir.es。より深い技術解説はリクエストに応じます。
05 · 働き方

私が守る意見

Twitter ではなく本番障害で勝ち取った強い立場。これらのどれかで身構えるなら、たぶん私たちは気が合います。

新規プロジェクトの最初の 2 時間

  1. 本当のビジネス課題またはユーザー課題を理解する。クライアントが必要だと思っているスタックではない。
  2. コードを 1 行も書く前に、潜在的なボトルネックを洗い出す。
  3. データフローを紙か文書にスケッチする。
  4. 最小限実用なアーキテクチャを描く。それ以上は描かない。
  5. 流行ではなく、実際の制約に対してスタックを選ぶ。
  6. 初日から再現可能な環境を用意する。
  7. スケールすべき部分と、もっと大事な、スケールしてはいけない部分を決める。

思考を形作った参照先

06 · 受けない仕事

誠実なフィルター

「ノー」と言えることが「イエス」を信頼に値するものにします。私が適任ではないプロジェクトたち。

07 · 稼働状況

一緒に働く

2022 年からフリーランスと契約で活動。リモートファーストの仕事、もしくはプロジェクト次第でマラガとコスタ・デル・ソルでのハイブリッドに対応。エンジニアリングがプロセスの下に埋もれる、深く企業的な環境には興味がありません。

ステータス
新規プロジェクトを受付中、スコープに応じて柔軟に対応。
形態
フリーランス、契約、複雑なバックエンド構築、システムアーキテクチャの監査。
料金
時給 35~60 ユーロ。スコープと責任範囲に応じて変動。プロジェクト単位の料金も可。
所在地
リモート優先。プロジェクトに見合う場合はマラガまたはコスタ・デル・ソルでのハイブリッドも可。
言語
スペイン語(母語)、英語(C1、技術・業務レベル)。
学歴
DAM、マルチプラットフォーム・アプリケーション開発。
08 · 連絡

ご連絡

メールが最速で返ります。紹介は LinkedIn、コードは GitHub。

メールmaxikirschberg1@icloud.com linkedinMaximilian Kirschberg github@MaxiKirCas ポートフォリオmkir.es