Profile
Software Architect

deep-rain.com

プロダクトの構造を整え、変更コストを下げる仕事をしています。
DDD・CQRS・モジュラーモノリスを軸に、進化に強いシステムを設計・実装。

About

業務でのソフトウェア開発経験10年以上。小学5年の頃に家にパソコンが導入されたことがきっかけで、プログラミングに興味を持つ。VisualBasicとDirectXの本をお年玉で購入し、ゲームプログラミングに没頭する傍ら、作曲にも興味を持ち、中学2年で送ったデモテープを採用され、音楽の道に。

音楽ファイルをやりとりする場としてUbuntuを用いたWebサーバー及びFTPサーバーを構築する中で、改めてIT技術への興味を持つ。卒業後は暫く個人事業主として音楽活動を続けていたが、mp3の普及により収入が大幅減。そこで、IT業界への転職を決意。

2011年より、在庫発注・売上管理システムの開発を通じてプログラミングの楽しさを再認識。2015年からSIerに転身し、Tech Lead としての業務に従事する中で、社会的意義を持つ仕事に興味を持つ。2019年から創業間もないスタートアップに転職し、事業を通して社会に貢献することを目指し、現在に至る。

History

これまでの仕事

  • 現在

    株式会社**

    PHP
    Laravel
    React
    MySQL
    AWS

    プロダクト基盤の刷新

    2024/02現在

    Architect

    プロダクトの構造刷新と開発体験の改善を軸に、開発スピードと変更耐性を引き上げるアーキテクト業務。

    • 既存モノリスからモジュラー型アーキテクチャへの段階的移行を主導。境界を再定義し、並行稼働と差分検証で運用を止めずに切り替える設計を整備。
    • 中核処理の構造的なボトルネックを解消し、スループットを最大で約 300 倍に改善。データ構造・アクセスパターン・処理単位の見直しを組み合わせ、長年蓄積した負債を解消。
    • 新しい技術スタックを組織横断で取り込み、開発・運用の標準導線として整備。単なるツール導入で終わらせず、社内データ/業務知識との接続まで設計し、組織全体の開発体験を更新。
  • 2024/01

    **********株式会社

    Python
    TypeScript
    PostgreSQL
    Django
    React
    Angular
    AWS
    GCP

    アーキテクチャ再構築

    2022/062024/01

    Architect

    プロダクト共通の資産を効率的に利用し、変更の影響範囲を最小限に抑える共通基盤整備プロジェクト。

    • モジュール独立性を高め、変更容易性を確保するため、モジュラーモノリスやClean Architecture、DDDなどの概念を導入。
    • アーキテクチャの知識を組織全体に浸透させるため、具体的な使用例を示したドキュメントを整備。オンボーディングプロセスと連携し、知識の共有と改善プロセスを確立。
    • 各チームにアーキテクトとして加わり、設計の指針を示すことで構造価値の最大化を図る。

    研究開発

    2019/092022/05

    R&D / Algorithm Engineer

    アプリのコアエンジンの開発、ビッグデータを活用したアルゴリズムの研究開発プロジェクト。

    • 定量データから仮説を設定し、コアアルゴリズムの改善を行うサイクルを確立。
    • 仮説と検証を同時に設計し、レビュープロセスを導入。実験の再現性を高める仕組みを構築。
    • ABテストの導入により、同一時間軸で複数の実験を行い、効率的な実験と課題の発見を実現。
    • キャッシュ戦略の最適化とイベント駆動の導入により、最大で10倍のパフォーマンス向上を実現。
    • 急増するユーザーに対応するため、CQRSパターンを使用した移行戦略の策定から、柔軟なアクセスパターンの定義、整合性確認のためのダークローンチ手法の使用まで、段階的なデータ移行を行い、スケーラブルなシステムを実現。

    ソフトウェア開発

    2019/012019/08

    Backend/Frontend Engineer

    UXチームと協働し、アプリの新規機能開発、改善などを行う。

    • アジャイル / スクラムを採用し、1週間単位での開発を行う。
    • UXデザイナーと連携し、ユーザーの課題を解決するための機能を開発。
    • python, TypeScriptなどの言語、django, Angulerなどのフレームワークを扱う。
    • データベース設計、フロントエンド開発、バックエンド開発などを手広く行う。
  • 2018/12

    株式会社*****

    TypeScript
    JavaScript
    Angular
    Java
    SpringBoot
    MySQL
    Redis
    Three.js
    MongoDB
    Node.js
    Express.js
    D3.js

    ソフトウェア開発

    2015/42018/12

    Architect / Tech Lead / Project Manager

    Webベースのターミナルエミュレータ、統合監視プラットフォーム、電話架電・受電システム、プロモーション用3Dコンテンツなどを開発。

    • 要件定義、技術選定、アーキテクチャ設計、開発、テスト、デプロイなどの仕組み作り、20名規模のチームマネジメントなども行う。
    • テスト自動化推進、パフォーマンス最適化、メンバー指導などを行い、開発チームの生産性向上に貢献。
    • セキュリティ強化、開発プロセス改善などを行い、プロダクトの品質向上に貢献。
    • Three.jsなどを用いたプロモーション用3Dコンテンツの開発など、フロントエンドにおける高度な技術も経験。
  • 2015/3

    株式会社**********

    VisualBasic
    PowerShell
    Access

    ソフトウェア開発/導入支援/運用/保守

    2011/62015/3

    Software Engineer

    自社店舗向け売上・在庫管理システムの機能追加、運用プロジェクト。要求・要件定義から運用・保守までを一貫して担当。

    • 在庫インポート機能を作成し、業務時間を約80%削減。
    • 売上の自動報告機能を作成。
    • ソフトウェアの起動時にアップデートチェックと自動アップデート機能を提供。
    • 直近の売上実績と昨年同月の売上推移を計算し、売上見込および在庫の発注数を自動提案。発注業務のコスト削減と在庫最適化に貢献。
    • システム上から一括して発注書を作成し、取引先ごとの書式に合わせたエクセルファイルへの出力を実現。
    • ワンクリックで予め登録したエクセルファイルに予実推移を出力。業務コストを削減。
  • 2011/5

    ****

    サウンドエンジニア / 作編曲家

    2008/42011/5

    Sound Engineer / Composer / Arranger

    サウンドエンジニア/作編曲家として、主にクラブサウンドやBGM等の音楽制作、ミキシングなどを行う。

    • デジタルオーディオワークステーション(Cubaseなど)を使用した音楽制作。
    • WavesなどのVSTプラグインを使用したサウンドミキシング。
  • 1989/6 — Born in Osaka.

Philosophy & Values

大切にしていること

尊敬とは、理解しようとすること

一般的な「尊敬」は、相手の優れた点を認めて敬意を払うこと、と定義される。ただ、「相手を理解しようとし続けること」のほうに重きを置きたい。違う考えに出会ったとき、評価する前にまず、なぜそう考えるのか、何を踏まえているのかを見にいく。

理想を運ぶ、走り切るだけの足場

強い理想や価値を打ち出す仕事に惹かれる。ただ、それを語るだけで運べる距離はそれほど長くない。続けるための原資が尽きると、目指していたはずの方向はじわじわ歪み、気づけばどっちつかずになる。だから理想を語る人ほど、それを支える数字や運用の現実から逃げない。走り切るだけの足場を持っていることが、理想を一番長く生かしてくれる。

仕組み化とは、価値を最大化する設計

仕組み化というと、属人性を下げて誰でも回せる状態にする、と捉えられがちだが、自動化や設計で「価値が出るところに人手を集中させる」ほうに惹かれる。仕組みは、組織の上限を引き上げるための道具だ。

ファクトの先にある、bet の領域

意思決定では、まず事実とデータで詰められるところまで詰める。ただし、重要な分岐ほど、ファクトを積み上げただけでは答えに届かない。最後の何割かは、未来への賭けとして引き受けるしかない。データに依存しすぎると、賭けるべき瞬間に動けなくなる。

Skills

手に馴染んだ道具たち

濃い色=主力、薄い色=触れたことがあるもの。年数は実務での累計。

Programming Languages

実務で書いてきた言語

Python7y
JavaScript10y+
TypeScript5y
Java4y
C#.NET3y
VB.NET1y
Scala1y

Frameworks

バックエンド・フロントエンド両方

Node.js10y+
Django5y
Angular5y
React2y
Next.js2y
NestJS1y
Three.js1y
D3.js1y
Spring Boot3y

Databases

スキーマ設計・チューニング・移行

PostgreSQL5y
MySQL5y
Redis3y
MongoDB1y

Analytics

仮説検証とアルゴリズム改善で活用

Pandas2y
BigQuery2y
Athena2y
RedShift1y

Others

日常的に使うもの

Git10y+
HTML10y+
CSS10y+
Jira4y
Certifications

取得した資格

情報処理安全確保支援士(未登録)

IPA 独立行政法人 情報処理推進機構

2018/6/20

データベーススペシャリスト

IPA 独立行政法人 情報処理推進機構

2017/6/21

応用情報技術者

IPA 独立行政法人 情報処理推進機構

2016/12/16