1年前、私はHighStrikeを退職し、Sage Ideas LLCを設立しました。それ以来、185のデータベーステーブルを持つフィンテックプラットフォーム、AI搭載のDiscordボット、機械学習によるトレーディングシグナルシステム、12万語に及ぶトレーディングの書籍、そしてこのポートフォリオサイトを構築してきました。
ここで得た学びを共有します。
孤独は現実
ソロエンジニアリングとは:
- コードレビューがない(自分のコードを自分でレビューする)
- アーキテクチャ議論がない(自分自身と議論する)
- 盲点を指摘してくれる人がいない(本番環境で発見する)
- 成功を祝ってくれる人がいない(mainにプッシュして次に進む)
対策:私は意思決定を文書化し始めました。主要なアーキテクチャ決定はすべて、何を選んだか、なぜ選んだかを説明するマークダウンファイルに記録しています。それは未来の自分との対話であり、今ではポートフォリオのコンテンツにもなっています。
毎月ではなく毎週リリースする
最初の3ヶ月間、私はデプロイ前に4週間かけて開発していました。バグを見つけたり、間違ったものを構築していたことに気づいたりして、リファクタリングに何日も無駄にしていました。
今は毎週リリースしています。時には毎日です。小規模なデプロイの利点:
- デプロイあたりのリスクが少ない
- フィードバックが早い
- ロールバックが容易
- 進捗が見える(モチベーションに不可欠)
ソロエンジニアリングの80/20の法則
80%の価値を生み出す20%の作業:
- データベーススキーマ設計(これを正しく行えば、後続のすべてが容易になる)
- API契約の定義(Zodスキーマで統合バグの90%をキャッチ)
- CI/CDのセットアップ(自動デプロイ=より多くリリースできる)
- エラーモニタリング(ユーザーが報告する前にバグを把握)
20%の価値しか生み出さない80%の作業:
- ピクセルパーフェクトなUI(ユーザーが気にするのは機能であって、フォントの太さではない)
- ユーザーがいる前でのパフォーマンス最適化
- 来週変更されるコードのテスト作成
- 「完璧な」技術スタックの選択
財務の現実
私はアクティブな先物トレーダーです。トレーディング収入が開発資金を支えています。これはほとんどのソロビルダーにはない贅沢です。
トレーディング収入がなければ、以下が必要だったでしょう:
- 最低6ヶ月分の貯蓄
- 構築前の明確な収益化の道筋
- 機能構築前の有料顧客
収入プレッシャーなしでの公開開発は特権です。収入プレッシャーありでの公開開発は起業です。それぞれ異なる戦略が必要です。
実際に採用につながったもの(面接と関心)
これらすべてを構築した後、採用担当者や潜在的なクライアントが実際に気にしたこと:
「185テーブルのプラットフォームを構築したのですか?」 — 規模は印象的です。数字そのものではなく、それをソロで設計・管理したという事実が重要です。
「あなたは自分のソフトウェアが分析するのと同じ金融商品を取引しているのですか?」 — ドメイン知識は貴重です。ほとんどのフィンテック開発者は自分の製品を使いません。
「ライブデモはどこにありますか?」 — 私のポートフォリオサイトのクオリティダッシュボードは、履歴書よりも多くの会話を生み出しました。人々はそれが実際に動作しているのを見ることができます。
「12万語の本を書いたのですか?」 — これはコミットメント、深い思考、コミュニケーションスキルを示します。12万語を気軽に書く人はいません。
「GitHubを見せてください」 — 彼らは実際のコード、実際のコミット、実際のCIパイプラインを見たいのです。洗練されたポートフォリオページではなく、実際のリポジトリです。
今日から始める人へのアドバイス
一つを選んでリリースせよ。 「プラットフォーム」を構築しないでください。単一の機能を構築し、デプロイし、一人に見せてください。それから次の機能を構築しましょう。
執拗に文書化せよ。 あなたのドキュメントはポートフォリオです。コミットメッセージは作業ログです。アーキテクチャ文書はケーススタディです。
自分が使うものを構築せよ。 私は取引をするからトレーディングツールを構築しました。テストをするからテストフレームワークを構築しました。自分のために構築するとき、確信がにじみ出ます。
ユーザーができる前に最適化するな。 醜いバージョンをリリースしてください。フィードバックを得て、それから磨き上げましょう。
あなたのポートフォリオこそがプロジェクトである。 SLO、インシデント訓練、証拠アーティファクトを備えたポートフォリオサイトを維持するメタプロジェクト自体が、エンジニアリングの成熟度の証明です。
1年後
私はソロで1年間に、多くのチームが2年かけて構築する以上のものを構築しました。私が速いからではありません。ミーティングも、プランニングポーカーも、スプリントセレモニーも、組織的なオーバーヘッドもないからです。
その代償は、孤独、自己不信、そして絶え間ない問いかけです:「これで十分なのか?」その答えは常に「リリースして確かめよう」です。
