個人開発者はチーム開発を経験するべき


私はこれまで9年間、個人開発だけで生計を立ててきました。そんな私が、ひょんなことから3ヵ月ほどチーム開発をすることになり、そのチーム開発での経験があまりにも良かったので記事にすることにしました。

この記事の結論

まず初めに結論です。この記事でお伝えしたいことは、個人開発者こそチーム開発に積極的に参加するべきだということです。理由は2つあります。

  • 個人で集める情報は視野が狭い
  • 個人開発に比べてチーム開発はモチベーション維持が簡単

このような理由から、私はチーム開発を強くおススメします。つまり、チーム開発はメンバーから得られることが多いのです。

個人で集める情報は視野が狭い

個人で情報を集めていると、自ずと情報が偏ってしまいます。それは自分にとって興味がある情報を優先するからです。しかし世の中にいるのは自分だけではありません。いろんな人の考え方があり、その考えに基づいた需要があり、その需要に対してサービスを供給することで、人々の不便が解消し、サービスを使ってもらえることでサービスが成長していくものだと思います。ということは、自分だけで集める情報では、世の中の需要を満たすサービスを提供するのが難しくなります。もちろん出来ないことはないと思いますが、難しいことは確かです。

その点、チーム開発をしていると、チーム内で情報交換が頻繁に行われます。そうすると自分と違った視点での情報収集が可能になるのです。新しい選択肢が手に入ります。もちろん情報に踊らされてしまったら効率が悪いとは思いますが、その情報の取捨選択をするのは自由なので、必要ない情報は捨てて、必要な情報だけを拾うことで、視野の広い生きた情報収集が可能になります。もうこれだけでもチーム開発をするメリットは大きいのではないでしょうか。

個人開発に比べてチーム開発はモチベーション維持が簡単

個人でサービスを開発していると、モチベーションの維持がとても難しいです。

「このサービスは本当に需要があるのだろうか。作る意味がないんじゃないか…」

「不具合をどうやって解決すれば良いのか分からない。気が遠くなってモチベーションが下がってしまう。」

なんてのは個人開発あるあるだと思います。個人開発はモチベーションが下がっても相談する相手がいないのが致命的です。

その点、チーム開発をしていると、チーム内で議論することで上記のような問題が簡単に解消できます。

私の経験上、サービスを作る上でモチベーションの維持はかなり重要で、モチベーションが下がってしまうと開発を続けることはできないと思います。この観点からもチーム開発をするメリットは大きいと言えます。

私がチーム開発をすることになった経緯

そんなチーム開発ですが、そもそもどうやってチーム開発の機会を得たのかというのが気になる方もいると思います。答えから言うと、オンラインのコミュニティに参加して、チーム開発の募集に応募して、チーム開発の機会を得ました。ちなみに私が入れてもらったコミュニティは、IT KINGDOM – しまぶーのIT大学オンラインサロンです。IT KINGDOMはIT業界では割と有名なコミュニティなのですが、オンラインサロンというクローズドな場ということもあって、評判を探してもなかなか出てこない印象です。この記事では詳細なレビューは控えますが、チーム開発の機会が得られるだけでもメリットは大きいのではないでしょうか。気になった方はぜひをサイトをのぞいてみてください。

チーム開発をして良かったことを箇条書き(メリット)

チーム開発を通して多くの学びがありました。その具体的な内容は全てを語っていると長くなりすぎてしまうので、箇条書きで語ることにします。

  • GitHubの使い方に自信が持てるようになった。
  • フロントエンド関連技術のアウトプットができて技術力が上がった。
  • Figmaでの画面設計を経験出来て、Figmaに抵抗がなくなった。
  • チーム開発の進め方を具体的にイメージできるようになった。
  • オンラインでのコミュニケーションはただでさえ相手の情報が少ないので、自分から情報をオープンにすることが如何に重要かということを痛感した。
  • 意識の高いメンバーの推進力に刺激を受けた。
  • 出来ないことに対して、言い訳をすることや予防線を張ることが情けなくて意味がないものだということを知った。自分は言い訳をせずに頑張ろうと思った。
  • チームメンバーという一番の宝に出会えた。

チーム開発での反省点

一方、チーム開発をする上で、チーム開発の難しさを知ることもできました。あの時こうすれば良かったという反省点がたくさん出てきます。その中でも、一番の反省点は人に期待しすぎたことでした。期待しすぎることで、期待を裏切られたときに大きなダメージを受けて、その結果、自分が消耗してモチベーションが下がってしまうということがありました。その時、なぜこんなに消耗するのだろうと冷静に考えてみることにしました。すると、自分が勝手に期待して、その期待通りにならなかったことで消耗しているということに気が付きました。つまり、自分勝手な感情が自分自身を追い詰めていたのです。それから私はチームメンバーに過剰に期待するのを辞めることにしました。自分のやれることをコツコツとやって、メンバーに少しでも進捗があると感謝するようにしました。その結果、同じことが起きても消耗することはなくなり、開発に集中することができるようになりました。

この経験はチームでやらないと得られなかったと思います。しっかり反省して改善できたのも自信になりました。期待しないのは寂しいですが、過剰な期待も良くないということを知れたことは大きな収穫でした。

チーム開発をする上で大事なこと

今回チーム開発をしたのは3ヵ月と短期間ではあるけど、チーム開発について必死に考えもがいた3ヵ月でもありました。そして私なりにチーム開発をする上で大事なことに気付くことができたと思います。チーム開発をする上で大事なことは、

チームとして前に進むことに喜びを感じること

これに尽きると思います。技術的なことや人間的なこと、チームでやっているといろいろあるし、嬉しいことだけでなく不満も出てくると思います。どうしたら良いのか迷うこともあると思います。そんなときにその事象をチーム全体としてプラスになっているのかで判断すると、もしかすると迷いは少なくなるのかもしれません。

まとめ

いかがでしたでしょうか。チーム開発の魅力を伝えることはできたでしょうか。私はこれまで個人で開発をしてきて、それなりの数のサービスを作ってきました。結果を残してきた自負もあります。しかしそれは「井の中の蛙大海を知らず」な状態だったということに気付くことができました。個人開発は人の進捗に左右されないし、自分の思いを直でサービスに乗せることができるので、作っていて楽しいのは確かですが、いいサービスを作れるかというとイマイチなのかもしれません。需要に対しても、技術的にも、独りよがりのサービスが出来上がる可能性は高いと思います。その点、チーム開発を経験することで、視野が広がって、良いものを取り入れることができるようになります。なので、個人開発が好きな人こそ、チーム開発に参加するべきだと思います。チームにメリットを与えることで、自分に余りあるメリットが返ってくる。そんな経験は個人開発では得られない喜びです。そしてメリットを与えることでメリットが返ってくるというのはサービスの本質な気もします。

つまり、チーム開発めっちゃいいのでおススメです!