記事一覧
手を動かして確かめたことを書いています
LangChain.js 2025年の現状:実務で使って感じたこと
NestJSプロジェクトでLangChain.jsを実務投入して1年。バージョン変遷の激しさ・LCEL構文への移行・RAG実装・OpenAI SDKとの使い分けまで正直にレビュー。
NestJSの治験CRMを引き継いで学んだバックエンド設計
ベンダーから引き継いだNestJS製治験CRMの保守・改修を通じて理解したモジュール設計、Repositoryパターン、DTOバリデーション、エラーハンドリングの実際。
治験データが増えるにつれてシステムが遅くなった——パフォーマンス改善の実記録
治験システムの被験者管理・来院記録が蓄積されるにつれて発生したパフォーマンス問題。N+1解消・インデックス追加・ページネーション導入の改善プロセスを記録する。
システム監査に技術者として備える——聞かれる項目と、揃えておく証拠
規制のある業界で、取引先によるシステム監査に技術担当として対応した経験から、一般に聞かれる項目と事前に揃えておく証拠を表とチェックリストで整理する。機密で現物を出せないものの示し方も扱う。
CSV(コンピュータ化システムバリデーション)とは何か — 医療ITエンジニア目線で解説
製薬・医療業界で必須のCSV(コンピュータ化システムバリデーション / Computerized System Validation)を現場エンジニアが解説。VP・IQ/OQ/PQ・GAMP5・監査証跡の実務まで。
引き継いだリリースフローが、監査で初めて意味を持った
ベンダーから引き継いだリリースフローを、監査対応で改めて理解した話。SOP・変更管理・ロールバック手順——規制産業のリリース管理が「なぜそうなっているか」がわかるまで。
外部ベンダーから1年で内製化した — 年間480万円の固定費をゼロにするまで
医療系スタートアップで外部ベンダーからシステムを引き継ぎ、1年で完全内製化を達成した実録。技術的負債の解消、孤独との戦い、年間480万円の固定費をゼロにするまでの全プロセス。
テックリードを任されて最初にやったこと——コードを読む、依存関係を点検する、役割を決める
ベンダーからシステムを引き継いでテックリードになった直後にやったことの記録。コードの読み込み、npm audit による依存パッケージの点検、要件定義と実装の線引き、引き継ぎ期の進め方と、やっておけばよかったことをまとめる。
直したいのに直せない——技術的負債と向き合う3年間
ベンダーのコードを引き継いだ日から、技術的負債との戦いが始まった。「あなたのせいですよ」と笑われながら何もできなかった日から、今も板挟みが続く現実まで。
未経験メンバーに任せるタスクの設計と、コードレビューの段階
未経験で入ったメンバー2名を育てたときに使った方法の記録。最初のタスクを失敗できる範囲に切る3つの基準、質問への返し方、コードレビューを3段階で手放していく進め方をまとめる。
コードを書く前に、仕様を自分の言葉で箇条書きにしてもらう
タスクに着手する前に「何を作るか」を箇条書きで説明してもらう進め方の記録。仕様書にない制約に実装前に気づける理由と、対話の例、箇条書きの型、その先のステップをまとめる。
現場のエンジニアが一次面接とカジュアル面談を引き受けたときの設計
面接の経験がほとんどないまま、エンジニア採用の一次面接とカジュアル面談を担当することになった。ポジションの定義、面談の流れ、見極めで判断が甘くなりやすい点を、やり直した順に記録する。