はじめに初めての個人開発ということもあり、開発に用いた技術スタックに目新しいものは全くありません。それを紹介するだけなら面白みがないと思うので、非情報系の学部&プログラミング未経験の状態からサービス作ってみるかと思い、実際に作るに至った経緯をメインに書こうと思います!個人開発は大学3年の春頃から始めて、出来上がったのは約1年後です。単純な技術不足を含む様々なことが理由で、かなり時間がかかってしまいました。リリースした頃には、既に大学を卒業していました。ちなみに個人開発に没頭していたこともあり、卒業時点では就職先が決まっていませんでした。ダメ人間が故に、「働く先がなかった訳ではないよ」と自分には強く言い聞かせてます!その辺りの経緯に関しては余談で書かせて頂きます。個人開発でエペタムというサービスの開発・運用をしています。Legends」というゲームの大会の結果を瞬時に計算し、結果をURLで共有したり、好きな画像に結果を出力することができるサービスです。収益源は画像出力機能への課金がメインです。無料でも出力可能ですが、背景に当サービスのロゴが表示されます。課金することで、背景のロゴが消える仕様になっております。リリースなぜエペタムを作ろうと思ったのか始めから集計サービスを作るつもりだったわけではありません。Legends』というゲーム専用のesports大会募集プラットフォームを作るつもりでした。他プラットフォームとの差別化のために、大会結果のスクショをOCRで読み取って、自動で集計する機能を提供すれば完璧だと考えていました。「人気になりすぎたら、サーバー代とか大丈夫かな。」と本気で心配しながら、脳内お花畑状態でスタートしました!仲間に友達を1人途中で引き入れる始めは1人で開発してましたが、一緒に誰かと作る方が楽しいので、仲が良い友達を誘おうと思い始めました。「俺と面白いサービスを作ろうや。作りきった後に、収益化済みのサービス引っさげて面接行けばええねん。「収益化済みのサービスを就活に持ってくる学生がおったら、どうなるか想像してみ?次の日には、既に同僚なんよ。大事なのは常に戦略やで!同じ土俵で比べられてる時点でコスパ悪すぎなんよ。」とりあえず個人開発をすることがいかに素晴らしいかを何度も語っておきました!傍から見ると、マルチ商法の勧誘者と似たようなもんです。気持ちは既にM&A前夜そんなこんなで、計8ヶ月間程開発することで、最低限リリースできる段階まで至りました。「大学卒業後の進路も決まってない状態やけど、リリースしたら金入るやろうから既に解決済み。したら、そのまま生活するもヨシ。個人開発最高!」イキリ大学生、現実の厳しさを知って悲しむそんな最中、PRTIMESにある記事が投稿されました。Legends』の自動集計機能を一般公開しましたという内容でした。GauGはOCRではなくワンクリックで自動集計可能だと書いているのです。Legends』の大会結果を取得できるAPI(以後、結果取得API)の存在は出回っていませんでしたが、存在するということをその時点で初めて察しました。「GauG半端ないって、こんなん贔屓目で見てもエペタム使う理由が全く無いやん。一晩で作っていたサービスの存在価値は0になり、ピボットする以外には道がない状況になってしまいました。私は普段はあまり落ち込んだりしない性格ですが、この時は本気で絶望しました。2択だと思い始めていました。絶望からの学び一次情報は面倒くさくても、出来る限り早く入手しに行くべきだった。結果取得APIの存在は公にされていなかったが、大会運営者に初期の頃からインタビューの機会を得ていたら、間違いなく早期に存在を認知するに至ったと思う。企業が収益構造上、狙わないポジションを取りに行くべきだった。個人だと企業に比べて、ランニングコストがほぼ必要ないので、それを生かしたポジショニングも視野に入れるべきだった。自分の技術力で主催者側と参加者側が必要なサービスを作るのは無謀だった。ツール系のように、1ユーザー属性のみで完結するサービスを作るべきだった。以上に書かれている全てのことは、有名なビジネス書などで似たようなことをよく目にすると思います。私も勿論、似たようなことを見聞きしたことがありました。実体験で感情を伴ってないと、単なる情報に過ぎないので、現実に役立てることが私には難しすぎると思いました。Legendsの集計だけに特化したサービスへピボットすることを決めました。Legends』上で大会を開催するには、公式からサーバーの鍵を借りる必要があります。団体・企業がメインで、個人で借りるには企画書を提出した上で審査があります。カスタムを借りる・借りたあとの流れに関する情報はネット上には出回っておりません。言うまでもなく、API仕様は外部に公開されておりません。集計サービスに特化すれば使われると思ったのか?私なりに当時リサーチした結果、esports大会募集プラットフォームには3つの提供価値が存在していると感じました。プラットフォームはあるが、集計機能だけのプラットフォームはない。集計機能がある場合は、募集・参加機能が強制的についてくるのがスタンダードだということが分かりました。このことから、基本的にはeposrts大会プラットフォームを運営している企業は募集・参加機能をキャッシュポイントに設定しており、集計機能はそこに人を流すための役割を担っているのだろうなと思いました。「大会の募集・参加はプラットフォームを使わずにDiscordやTwitterなどのSNSを組み合わせて完結させたい。集計機能だけを単体で使いたいので、そのようなサービスが欲している人がいるのではないか。」との仮説を立てました。その仮説を確かめるために以下のことを主にしました。・大会運営団体にボランティアとして参加し、募集〜集計〜結果発表の流れを運営視点で体感する。さりげなく運営者にインタビューもさせて頂く。・SNSで大会の参加者を募集している団体を監視して、募集〜集計〜結果発表の流れを追う。・自分も大会に参加してみることで、参加者視点の流れを体験する。その結果、大会の開催に慣れている運営団体は募集・参加のフローをSNS自分たちで完結させたいと考える割合が高く、集計機能だけのサービスを求めているということを確信しました。確信に至ったのは、募集・参加の流れをTwitter,GoogleForm,Discordで完結させているにも関わらず、集計機能を利用するためにesports大会募集プラットフォームをわざわざ使用している団体を複数観測したからです。集計機能を利用するにはプラットフォーム上に大会参加者を全員登録させる必要があるので、募集・参加のフローは終わっているにも関わらず、大会参加者の全員にesports大会プラットフォームへの登録を促さないといけません。これは明らかに、運営者・参加者の双方にとって無駄なコストだと思いました。よって、私は運営者以外は一切登録不要の集計特化サービスを作ろうという考えに至りました。サービスの方向性が決まってからここからは、特に何もありません。気合で作り切るだけです。絶対に完成するまで諦めないと自分に誓いを立てれば、後は月日が経過すればリリース日を迎えていました![結果取得APIの入手方法]結果取得APIに関する情報や権限の取得に関しては、様々な運営団体・企業にひらすら連絡を取り続けることで何とか解決できました。サービスを作る上で、プログラミングとは比較にならないくらい私にとってはこの問題の難易度が高かったです。「起業家ってプロダクトを0から作り上げて、色んな人の役に立ってるのかっこええな。俺も何か作ってみたいな。よし、手始めにとりあえず誰かに使ってもらえるサービスを1つ作ってみるぞ!」と思いました。無知だった私は、基本的にサービス開発を依頼するには数百万は必要で、仕様の変更・追加には別途料金を要するということを初めて知り、数日間諦めモードに切り替わりました。悩んだ挙げ句、自分がプログラミングを学んで作れるようになれば人件費は不要で、失敗しても自分の時間さえ投下すれば何度でも作れるという驚愕の真理に気づいてしまい、ProgateのHTML&CSS講座を開いたのが始まりです。半年間程学習をし続けましたが、この日々の延長線上に、目標を達成できるイメージが全く沸いてきませんでした。漠然とゲームに関わるサービスを作りたいとは思っていましたが、それを具体的な企画へ落とし込むことは勿論出来ない上に、仮に出来たとしても技術的にも今のままでは実現できないと感じていました。そこで、立ち上げ初期のスタートアップに入って、0からプロダクトを作る過程を体験させて頂くことで、自分に変化が起きるかも知れないと考え始めました。その時から、立ち上げ直後のスタートアップにエンジニアとして潜り込むことが直近の目標となりました。奇跡的に投資家の方のツイートに巡り会える私は当時大阪に住んでいたのですが、立ち上げ直後のスタートアップのエンジニアインターンの求人が調べた限りでは1つもありませんでした。立ち上げ直後のスタートアップの役員の方に直接連絡をとり、それを入り口にして採用してもらおうと考え始めました。調べていくうちに、ベンチャーキャピタルという投資会社の存在を知り、Twitterでキャピタリストの方を手当り次第フォローするようになりました。ピッチイベントの告知ツイートや投資先の役員の方による求人募集ツイートのRTがタイムラインに流れてくるようになり、その中で(大阪,スタートアップ)の2単語が含まれているツイートには注意して目を通すようにしました。「大阪の投資先にてエンジニアを募集しています!」とのベンチャーキャピタリストの方のツイートを発見しました。「万に一つでも、スキルレベルがミジンコの俺に向けて募集ツイートをしている訳ではない」と確信していました。図々しくも創業社長と繋いで頂き、立ち上げ直後のスタートアップに潜り込ませて頂きました。ここまでがコードを書き始めて8ヶ月程のことです。プログラミング、完全に理解したそこからは、インターンで目先の開発タスクをこなすことに全力を出しつつ、休みの日もずっとコードを書き続けることで可読性・保守性を考慮しなければ、何とか作りたいものを作ることが出来るという状態に半年程でなることが出来ました。よって、初めてProgateを開いてから計1年2ヶ月程で何とか時間をかければ作りたいものを作れるという最低限の状態に達することが出来ました。いざ、個人開発そして、満を持して個人開発に取り組み始めました。ここからは前述した通り、開発速度が遅い上にピボットまでしたので、1年1ヶ月もリリースするまで月日が経過してしまいました。「手始めにとりあえず誰かに使ってもらえるサービスを1つ作ってみるぞ!」という目標を達成するのに結局2年3ヶ月も要することになりました。卒業2ヶ月前に感銘を受けた教材の著者へ連絡→無事内定!もちろん大学2年の冬から2年3ヶ月なので、リリースした頃には既に大学を卒業していました(22卒)。世間的には、定職に就く意欲がない謎の若者状態だったと思います。実際には大学を卒業する2ヶ月程前に、自分が学習する過程で最も感銘を受けた教材の著者の方に連絡を取っていました。Controllerを回避できました。その上、テストコードがしっかり書けたのでリリース後の改善を高頻度で行うことが出来ました!)この行動が功を奏して、2022年4月1日時点には正社員雇用を見据えた業務委託契約のお試し期間として、著者の下で働く機会を手にしておりました。結果的には、個人開発の頑張りとお試し期間での働きを高く評価して頂き、無事に内定を頂けたので、いい感じに収束しました。ちなみに、私がマルチへの勧誘に成功した友人も、無事に志望する自社開発企業のwebデザイナーとして職を得ることが出来たようです。私は紙一重でホラ吹きになることを免れたので、長年の友人を失わずにもすみました。あとがきプログラミングをしたことはないけれど、これからサービスを作ってみたい!という方へのエールになれば嬉しいです。より固定オンライン家庭教師サービス「マナリンク」ではエンジニアを採用中です!https://manalink.jp/家庭教師の仕事をオンライン化することで、住んでいる地域に関わらず教育の仕事ができたり、保護者さんへの情報共有の透明化を行っています。卒業2ヶ月前に感銘を受けた教材の著者へ連絡→無事内定!あとがきZennエンジニアのための情報共有コミュニティAboutZennについて運営会社お知らせ・リリースGuides使い方Publicationよくある質問LinksTwitterGitHubメディアキットLegal利用規約プライバシーポリシ。