2024.12.10
“放置系”なのにサイバー攻撃を監視・検知、「統合ログ管理ツール」とは 最先端のログ管理体制を実現する方法
個人開発がおすすめな理由(全1記事)
リンクをコピー
記事をブックマーク
名人氏:タイトルは「個人開発がおすすめな理由」というところで、株式会社NoSchoolでCTOをしている名人という者ですが、発表します。お願いします。
目次です。自己紹介と、私が個人開発しているツールを話したあとに、おすすめな理由を6つほど用意してきたので、それを話す感じで発表をしていきます。
最初に軽めに自己紹介をします。名人というハンドルネームで「Twitter(現X)」や「Zenn」で記事を書いているので、良かったら見てもらえたらうれしいです。ふだんはオンライン家庭教師「マナリンク」という家庭教師のサービスを開発している株式会社NoSchoolでCTOをしています。個人開発で「テストメーカー」というサービスを作っています。
好きな言語はTypeScriptで、好きな麻雀の役は七対子です。趣味は将棋、カメラ、ラム酒、個人開発、筋トレです。お願いします。
最初に自分が個人開発しているサービスを軽く紹介できればと思います。テストメーカーというサービスで、もし興味がある方がいたらググったりしてもらえると出てくるかなと思います。
2021年ぐらいに開発し始めて半年ぐらいでリリースしたやつで、今は累計で14,000アカウントぐらい登録してもらっている感じです。
「文章をそのまま穴埋め問題にできる」というコンセプトのツールを作っています。「技術的な話で興味あるよ」という方がいたら、「Zenn テストメーカー」と検索をしてもらえると、いい感じのが見つかるかなと思います。
ちなみにテストメーカーは人生で10個目ぐらいの個人開発で、過去にもいろいろと作ったことがあるのですが、だいたいスベっている感じです。
せっかくなので操作動画を見てもらえると良いかなと思います。(画面を示して)こんな感じで文章を入力したら、そこからそのまま問題ができて、選択問題を作れたり、解答モードに移ったら解答できるようなツールです。「トランペット」と打って、採点したら結果が出るみたいなツールを作っています。
あとは、リリースした時に取材も受けたりして、貴重な経験ができている感じの人です。
こんな感じで個人開発を1年半ぐらいやっている自分から、個人開発がおすすめな理由を発表していけたらと思います。
1つ目が、使ってみたい技術を試す場になるところです。これはすごく月並みな話ですが、個人開発は意思決定者が自分なので「使ってみたいから」という理由で技術導入ができます。
テストメーカーの場合は、これは本当にアレなんですが、意味もなくi18n対応しました。国際化対応は、本来はそういうサービスに関わらないとやることはないと思うんです。
だけど、知り合いの方と話していて「名人さんはi18nをやったことあります?」みたいなことを聞かれて、「i18nはないですね」みたいな話になり、ちょっと悲しかったので、テストメーカーでやるかという感じで入れました。
その時の話の内容があとからわかってうれしかったというか、やって良かったなと思いました。
あとは、既存サービスをあとから国際化対応するのはメチャクチャだるいなという感覚を得られて良かったなと思っていて、こういうことが経験できるのは良いところかなと思っています。
2つ目は不確実性に投資できるところです。これはどういうことか、独特な表現かなと思います。自分は今エンジニアになって7、8年ぐらい経つんですが、エンジニアは経験を積めば積むほど、より確実にリターンが得られる手段を選ぶ傾向にあるかなと思います。
例えば、自分がReactをメチャクチャ経験したことがあるんだったら、業務で新しいものを作るとなったら、まずはReactで作ることを選ぶと思います。
経験値に応じて等級や立場も上がっていくと、なおさら「自分はReactをやっているしReactでやるか」みたいな感じになっていって、不確実性が高いことができなくなっていく傾向にあるかなと個人的には思っています。
なので、誰とつながるかわからないけどイベントに登壇をするとか、読まれるかわからないけど記事を書いてみる。あとは、1円も入るかわからないけど個人開発をするとか、そういった行動をあえてすることは個人的には大事かなと思っていて、個人開発もそのうちの1つかなと思っています。
なので、個人開発をしようと思っている方は、自分もそうなんですが、「このアイデアはスベリそうだからやめようかな」みたいなことをあまり思わずに、どんどん開発するのがいいのかなと思っています。
次に3つ目です。作ったことのあるサービスの種類が増えるという話をしていきたいと思います。いきなり大きい話になるのですが、いろいろなWebサービスが世の中にあると思うんですが、雑に分類すると、メディア、SaaS、ツール、SNSの4つぐらいがあるのかなと思っています。
メディアというのは、飲食店検索サイトの「食べログ」さん、ECサイトやブログですね。SaaSは会計のSaaSで「freee」さんや株式会社マネーフォワードさん、あとは医療SaaSとか。ツールは「Slack」「Notion」あとは「Autify」とか。SNSには「X」や「Facebook」というようなサービスがあると思います。
自分は前職ではメディアで、現職ではメディアとSaaSを兼ねたようなサービスを作っているんですね。経験していないのがツールとSNSだと思っていて、テストメーカーもいわゆるツールのサービスなので、これで3種類経験できたと思っています。
これはなぜ大事かというと、分類ごとに重要視する技術が異なるのかなと思っているからです。例えば、SaaSを作っている方がSEOについて学ぶ機会はあまりないですよね。逆に、LPを量産するメディアをふだん作っている場合には、デザインシステムをがっちり構築することはあまりないかなと思っています。
そこで、個人開発も兼ねることによって、いろいろな種類のサービスを作ってみる経験値があると、流行っている技術や設計手法を聞いた時に、「流行っているから使う」というのではなく、「自社のサービス特性に合っているから使う」みたいな考えが及んだりするので、そういうメリットがあるのかなと思っています。
次に4つ目。Webサービスの全体感が見えることです。これはWebサービスに限った話になりますが、個人開発をするとWebサービスの全体感が見えるようになります。Webサービスを作ると、デザインとか、SEO、「LPにどんな情報を載せるとコンバージョンが取れるのかな」とか、フロントエンド、認証、バックエンド云々みたいな、いろいろなところをやることがあります。
やはり実務で全体を任せられることも普通はあまりないことかなと思うので、個人開発というか、Webサービスを0→1で作ってみると、いろいろなところの解像度が上がっていくのかなと思っています。
例えばテストメーカーの場合ですが、とある格安のサーバーのサービスを契約したら、リージョンが海外だし、謎に落ちるし、サポートが雑というような経験をして、「やはりAWSやGCPって値段が高くて、IAMとか設定も大変で手間もかかるけど、相応のメリットがあるよね」みたいな気づきを得たりしたので、すごく良い経験かなと思っているところです。
5つ目が、要件定義の経験ができるところです。個人開発は自分が企画から実装までをやるので、課題を解決するためにはたくさんの手段があって、その中から自分が決める経験ができると思っています。
要件まで固まってから開発チームに要件が降りてきて、そのとおりに開発するというところでは、設計や実装に集中して仕事をする方も多いのかなと思います。
個人開発では、サービスやそのサービスで解決したい課題は自分が一番わかっているし、そういう点では、要件定義にチャレンジする上での知識的な障壁がほとんどない状態になっているので、挑戦するには打って付けだなと思っています。
最後の6つ目です。表現がアレですけど(笑)。汚いコードを書けばどんな目に遭うかわかるところです。これはふだん自分も仕事でコードレビューをする時に、つくづく思うところです。
実務だと、コードに問題があった時にソースレビューで弾くことが多いと思うので、リリースしたり、保守することがないと思います。
保守されることがないから、「こういうコードを書いたら具体的にどんな目に遭うのか」は、頭ではわかっていても、実体験が伴わないことがあるのかなと思っています。
例えばコードを見た時に「こういうことで困りそうだから、このコードはダメだよね」じゃなくて、「なんかDDDっぽくないよね」とか、「責務違反だから」みたいな感じに至りがちなのかなと思っています。
個人開発だと、ファットコントローラーや、すごく大きいモジュールとかが思いっきり書けるので、そういう状態で思いっきりリリースしてみて。
機能をどんどん追加するとえらい目に遭ってしまうので、そうすると、やはり「どういうコードを書くとより保守性の高いアプリケーションを作れるのか」が逆にわかってくるのがすごくいいところというか、自分なりの砂場を持つメリットかなと思っています。
最後にまとめです。個人開発は、自分のキャリアにおいて不確実性に投資するための手段の1つだと思っています。別のLTであったように、収益を上げたり、ユーザーさんから「いつも助かっている」というメールを受け取ったりするとか、そういうところはうれしいというのもありますが、今回のLTではあえて個人の利益に着眼してみました。
というのも、他の人に使えるかどうかはコントロールはできないですが、自分がその個人開発にどんなふうに取り組むかはコントロールできるので、そういうところを考えてみるのもちょっとありかなと思ってLTをしてみました。
最後に一瞬宣伝です。テストメーカーは有料版もありますが、無料でもそこそこ使えます。知り合いに学校の先生などがいたらぜひ布教や紹介をしてもらえると、とてもうれしいです。
あとは普通の宣伝ですが、私がCTOを務めているマナリンクではエンジニアを募集しています。私も含めて、個人開発で収益化しているメンバーが複数名在籍しているという、謎の特徴があります。
良かったらTwitterのDMとか、あとはカジュアル面談もよくやっているので、連絡をもらえればうれしいです。以上です。ご清聴ありがとうございました。
関連タグ:
2024.12.10
メールのラリー回数でわかる「評価されない人」の特徴 職場での評価を下げる行動5選
2024.12.09
10点満点中7点の部下に言うべきこと 部下を育成できない上司の特徴トップ5
2024.12.09
国内の有名ホテルでは、マグロ丼がなんと1杯「24,000円」 「良いものをより安く」を追いすぎた日本にとって値上げが重要な理由
2024.12.12
会議で発言しやすくなる「心理的安全性」を高めるには ファシリテーションがうまい人の3つの条件
2023.03.21
民間宇宙開発で高まる「飛行機とロケットの衝突」の危機...どうやって回避する?
2024.12.10
職場であえて「不機嫌」を出したほうがいいタイプ NOと言えない人のための人間関係をラクにするヒント
2024.12.12
今までとこれからで、エンジニアに求められる「スキル」の違い AI時代のエンジニアの未来と生存戦略のカギとは
PR | 2024.11.26
なぜ電話営業はなくならない?その要因は「属人化」 通話内容をデータ化するZoomのクラウドサービス活用術
PR | 2024.11.22
「闇雲なAI導入」から脱却せよ Zoom・パーソル・THE GUILD幹部が語る、従業員と顧客体験を高めるAI戦略の要諦
2024.12.11
大企業への転職前に感じた、「なんか違うかも」の違和感の正体 「親が喜ぶ」「モテそう」ではない、自分の判断基準を持つカギ