「ライブラリ開発」という形の個人開発

2025.04.08読了目安: 9
メンター執筆
「ライブラリ開発」という形の個人開発

「個人開発、みなさんはしていますか?」

世の中には、たとえばモバイルアプリ開発者であれば Android や iOS 向けのアプリを個人的に開発してストアに公開したり、Web開発者であれば Web サービスを開発して公開したり、他にもさまざまな技術でアプリケーションを「個人開発」している人たちが存在します。

技術力向上のため、事業収入を得るため、趣味として、その目的は人によってさまざまですが、「自分のアイデアを人が触れる形で実現したい」というモチベーションは共通しているのではないかと思います。

しかしその一方で、「触れる状態になるまでが長い」「開発時間が確保できない」という悩みを抱えている個人開発者も少なからずいらっしゃるのも事実です。その悩みが個人開発のハードルを上げている側面もあるでしょう。

単純な電卓やリマインダーのようなちょっとしたアプリケーションならまだしも、他にないサービスを考え、機能や仕様を検討し、システム全体を設計し、開発し、デザインも整え、さらにはプラットフォームの規定に従って公開作業を行う、という一連の作業は個人開発としてやるには規模が大きく、よほどの熱量がなければ達成できません。加えて、公開した後も機能追加やユーザーのサポートで継続的なモチベーションが求められます。

ここで視点を変えてみると、もしかしたら「ライブラリ開発」という発想がそのような悩みの解決策のひとつになるかもしれません。それがなぜなのか?を詳しく説明していきたいと思います。

ライブラリ開発とは?

読んで字のごとく「ライブラリを開発する」というものです。

言語やフレームワークに関わらず、みなさんも利用する側として日頃からライブラリのお世話になっていると思います。あれです。

私も Flutter 向けのライブラリ(Dart/Flutter では「パッケージ」と呼びます)をいくつか開発・公開していますが、まわりをみると同じようにパッケージを開発・公開している人は個人アプリを作っているという人にくらべて極端に少ないように思えます。

ハードルが高い印象があるのか、アイデアが沸きづらいのか、あまり選択肢として思いつかないのか、正確な理由はわかりませんが、実際にやっている身として改めて考えてみるとライブラリ開発にはアプリ開発に比べて継続しやすい理由がいくつかあることに気がつきます。ここからはその理由についてまとめてみます。

1. やりたいことに集中できる

なにより大きいのは自分の「やりたいこと」に集中できるという点です。

先述の通り、アプリ開発はモバイル・Web を問わずアイデアが実現するまでにとても長い工程と相当な規模の開発が必要になります。

もしそのすべての工程に興味があるということであればアプリ開発は最適です。しかし、必ずしも全員がそうではないとも思います。できることならアイデア出しとコーディング以外は AI にでも任せてしまいたい場合もあるでしょう。規模が大きくなればそのコーディングだってどこかで妥協しなければ終わりません。

一方、ライブラリ開発の場合はそれがありません。

ライブラリは「最低限のことをうまくやる」ことを求められることが多く、フレームワークのようになんでもやってくれる多機能なライブラリは逆に「重い」とネガティブに受け止められることすらあります。

つまり、機能をうまく実現する最小限のコードに集中できるため、めいっぱいコーディングにこだわれます。デザインを整えたりアイコンを作ったり、技術的には「以下同文」な大量のコードを書いたりする必要もありません。

2. 同じ立場の開発者に使ってもらえる

通常、アプリ開発というと利用者は一般の消費者であり開発者であることは稀です。つまり、コミュニケーションの背景となる知識や考え方、習慣の異なる人に向けてサービスを考える必要性が出てきます。

この点も「それがしたい」という場合はアプリ開発が最適なのですが、やはり技術やコーディングに集中したい場合はこの顧客理解に必要以上のリソースが割かれてしまいます。

一方で、ライブラリ開発の場合は利用者も開発者です。つまり、共通する前提や知識をもとに、スムーズにコミュニケーションをとることができます。GitHub 上で同じコードを読みながらやりとりができますし、場合によっては仕事や勉強会で知り合った人が自分のライブラリの利用者ということもあるでしょう。

そうなると、ライブラリは開発者の間で「名刺代わり」になることもありますし、話題のタネにもなります。勉強会での登壇ネタとしても最適です。

さらに視点を広げると、Readme などのドキュメントを英語で書いておけば世界中の開発者に自分を知ってもらうきっかけにもなります。もしかしたらその言語やフレームワークの「中の人」の目に届くこともあり得ない話ではありません。

3. アピールしやすい

面接をする側の経験から考えると、「個人アプリ開発」というのはポートフォリオとしてわかりやすいようでわかりづらい悩みがあります。

たとえばサービスを触ってみて表面から評価をしようとすると、それは見てくれが良いだけで技術的には大したことがないのか、本当に考え込まれよく実装されたサービスなのかがなかなか判断しづらいです。とはいえコードを読もうにも規模が多くて全体をしっかり読んで判断するには時間がいくらあっても足りません。そもそもコードが非公開である場合も少なくないでしょう。

一方でライブラリ開発の場合は必然的に issue などから「他の開発者からの評価」がつきやすく、それはソフトウェア開発技術の評価として大きな参考になります。またコードが少なければ全体を読み込んでより正確な判断ができますし、開発する側も妥協のない自分の技術を詰め込めます。

ライブラリ開発の難しさ

範囲を狭めてやりたいことに集中でき、集中できるからこそこだわりを入れやすく、さらに開発者同士のコミュニケーションや評価にもつながりやすい、そんなライブラリ開発ですが、もちろん難しい点もあることを書いておかなければフェアではありません。そちらについても考えてみましょう。

1. アイデアがわきづらい

アプリ開発は、内容的にも視覚的にも「自分がユーザー」となって使っているイメージが沸きやすく、アイデアも出やすい側面があるかと思います。

一方でライブラリ開発となると、もうすでにライブラリとしてほしいものはだいたいあったり、そもそもどんなコードを世の開発者が必要としているのかを想像しづらいという難しさが挙げられるでしょう。

しかし、一見同じことをするライブラリでも、いくつかピックアップして比較するとそのアプローチはさまざまであることに気がつきます。

ライブラリとしての対応範囲や利用側のコードの見た目(つまり API デザイン)、バージョンアップの頻度や内容、さらには開発者個人の属性まで、ライブラリに対する需要はさまざまです。もしかしたら「日本人が開発している」こと自体に需要があるとすら考えることがあります。

「このライブラリ、もう少しこう使えればいいのにな」「このコード、なんかよく書いてるな」という経験があればそれがライブラリ開発の入り口になります。「同じ目的のライブラリがすでにある」は新しいライブラリの開発を諦める原因には意外となりません。

2. ハードルが高いイメージがある

多くの開発者にとって、ライブラリは通常「探して使う」ものであって、それをどんな人がどのように作っているかをイメージする機会が少ないかもしれません。もしかしたらとんでもなくスーパーなエンジニアが想像もできない技術力で作っているイメージすらあるかもしれません。

確かに一部の人気で有名なライブラリは私たちとは世界が違う人たちによって開発されている場合もあるかもしれませんが、その他の大半の「ちょっと使えてちょっと嬉しい」ライブラリの GitHub を覗くと、意外と私たちとそう違わない立場やスキルセットの人たちが試行錯誤しながら改善している様子が伺えます。

アプリ開発する際も、いきなり有名企業の巨大なアプリと比べたりはしないと思います。それと同じです。

「ちょっと使えてちょっと嬉しい」ライブラリを使う機会があれば、ついでにそのライブラリの GitHub リポジトリを見てみると、「ライブラリ開発者」の解像度をより高めることができるでしょう。

まとめ

個人開発といってもその形はさまざまです。

モバイルや Web のフロントエンドひとつをとっても、ひとつのアプリケーションを作り上げて公開するだけでなく小さなライブラリを開発するという選択肢が同じ程度に存在し、そこにはまた違った楽しさやチャンスが広がっています

今までライブラリ開発という選択肢がなかった人、「難しそう」と考えて手を出せずにいた人にとって、この記事が新しい選択肢を与えるきっかけになれば幸いです。


いかがでしたか?

「個人開発」といえば何か動くもの!と思いがちですよね。新しい選択肢に興味が湧いた方もいらっしゃるのではないでしょうか。ぜひ、気になった方は挑戦してみてください。何か困ったことがあれば、メンターに相談してみましょう。きっと新しい挑戦を応援してくれるはず。

みなさんの「記事、読みました!」の声がメンターにとっても運営にとっても励みになります。読んだ方は感想などを伝えてもらえたらとても嬉しいです。

メンター執筆シリーズについて

メンター執筆シリーズはこれからも定期的に配信中。

現役エンジニアが執筆するからこそのトピックや本よりライトだけどみなさんにとって新しい発見がある情報をお伝えできるコンテンツとなってきました。この執筆シリーズは、リライトはほとんどしておらず、メンターの思考をそのままみなさんへお届けしています。

更新タイミングは不定期ではありますが、ぜひ、次の記事も楽しみにお待ちください!

TechTrain転職相談

この記事に登場するメンター