Help us understand the problem. What is going on with this article?

3年間の個人開発を通じて得た気付き

2020 年ももう少しで終わりですね。私が個人開発という言葉を知ったのが 2018 年のこと。あれから約 3 年が経とうとしています。

今回のアドベントカレンダーを機にこれまでの取り組みを振り返ってみて、その中で得た気付きをまとめてみます。これから個人開発を始める人や既に個人開発をしている人に、少しでも参考になりましたら幸いです。

はじめに

個人開発の目的は人によってバラツキがあるように思います。例えば、アプリを開発してお金を稼ぎたい、スキルアップのために業務以外のことで学びを得たい、などです。

私は、自分の好きなものを自分で作りだせること、それ自体が嬉しいので個人開発をしています。そのため、今回の気付きはお金稼ぎやスキルアップに直接結びつかないかもしれませんのであらかじめご理解ください。

また、振り返りもあわせて書くので長文です。それでも大丈夫という方はお付き合いいただければと思います。

1 年目( 2018 年)

振り返り

私が個人開発を始めたと言えるのが 2018 年。元々営業出身のため、業務で開発に携わることはありませんでした。ただ、開発できるようになりたいという想いだけはあって、具体的な行動には移せていなかった、そんな状況だったと思います。

この年にふと思い立って、ホームページを立ち上げました。立ち上げたといっても、初めは「開設しました」ぐらいしか書くネタがありませんでしたが(笑)そこで、これから書くネタをつくるぞ!と意気込んでいた気がします。

それからホームページに書くネタの 1 つとして、当時興味を持って調べていたブロックチェーンについてまとめ、Qiita に投稿しました。Qiita を知ったのがこの年で、せっかくなので、と勢いで初投稿したのを覚えています。

そして 11 月も近くなる頃になって、ようやく初めての Web アプリをリリースできました。グアムの路線バスの発着時刻を検索できる乗換案内アプリで、Ruby on Rails 製です。コーディングはもちろんですが、リリースにあたってインフラ関連( VPS や CentOS 、Web サーバ、またそれらを扱うための Linux 知識)も知らないといけなかったので苦労が絶えなかったです。

この時の学びなどをまとめ、Qiita の個人開発アドベントカレンダー 1 日目でエントリ。アドベントカレンダーに初参加しました。

気付き

この年の気付きは、見栄を張らなければ未完成でもリリースできる、ということです。

初アプリをリリースはできたのですが、実は開発中、完全に息切れしていて、途中でやめるところでした。バグが残っていたり機能が実装できていなかったりで終わりが見えない状況が続いていたからです。

それでもなんとかリリースまで辿り着いたのは、未完成でもいいからリリースしてしまおう、と発想を切り替えられたからでした。

そもそも「未完成」というのも曖昧なもので、個人開発は仕様も含めて全て自分の裁量なので、仮に今「未完成」の状態であっても、仕様自体を変更すると考えればもう「完成」してると言えるわけです。

ただ、仕様含めて全て自分の裁量であるからこそ「未完成」か「完成」かは、自分が納得できるかどうかにかかってきます。そうすると、本当にこれでいいのか、もっと綺麗にできるんじゃないか、人からほめてもらえるようなアプリにしたい、といった見栄が(山のように)出てくるので、その葛藤に打ち勝つことができるなら、逆にいつでもリリースはできるのだと気付きました。

2 年目( 2019 年)

振り返り

1 つ目の Web アプリをリリースして以降、燃え尽きたのか、特に作りたいものがありませんでした。作るのが大変と分かったことで、逆に作る気力が沸かなくなってしまったのかもしれません。

そんな中、データを入力するだけでアプリが作れるという Glide というツールの存在を知りました。所謂ノーコード開発ツールです。しかも、当時マイブームだった PWA にも対応しているということで、ここぞとばかりに Glide を使ってたくさん作りました。地域の子育て関連施設一覧アプリや避難所確認アプリなどです。(現在はクローズ済み)

この年も Qiita の個人開発アドベントカレンダー 1日目にエントリ。個人開発として何を作るのか、どうやって作るのか、自分は個人開発の何を面白いと思っているのか。Glide を軸にしたアプリ開発の方法と併せて、そんなことをまとめていました。

気付き

この年の気付きは、苦労しなくてもアプリは作れる、ということです。

1 つ目のアプリがスクラッチで 1.5 ヶ月ほどかかったのに対して、Glide でアプリを作ると 1 時間くらいで作れました。驚愕です。

それに、自分で 1 から考えたデザイン(1 つ目のアプリ)より Glide で作ったテンプレートデザインのアプリの方がはるかにオシャレであったことも、悲しいですが事実でした。

そのため、労力とアプリの質は比例しないと身に沁みて実感しました。

ただ、アプリを簡単に作れると分かり、実際にいくつも作って、最初こそ狂喜乱舞していましたが、どこか腑に落ちないところがありました。

「これ、自分で作ってるって言えるのかな」と。それになんだか 1 つ目のアプリの時に感じた楽しさがないようにも思いました。

そこで、なぜ自分はアプリを作るのか、どうやって作りたいと思っているのか、そんな疑問が自分の中に湧いていたのだと思います。この年のアドベントカレンダーで、何を作る?何が楽しい?といったことを題材に書いていたのは、きっとそんな疑問に対して(無意識に)自分なりの答えを出したのだと思います。

3 年目( 2020 年)

振り返り

アプリは苦労せずに作れると分かってから、アプリを作るなら自分でロジックを組んだりデザインしたりして作りたいと思うようになりました。加えて、これからは Web アプリに集中していこうとも考えていました。

そこで JavaScript に注力して学習をしました。文法や API 、ストレージやパフォーマンスについて広く浅く学ぶとともに、サンプルアプリを暗記するまで何度も何度も書きました。

結果、JavaScript に多少は慣れたので、日頃生活していてちょっと気になったことを解決しようと次のようなサイトを作りました。

  • Safari バージョン確認(モバイル iOS 端末はすぐに Safari のバージョンが分からないようなので、アクセスするだけで誰でも分かるサイトを作成)

  • 育児休業給付金計算(育児休業給付の概算支給額を、簡単に把握できるサイトがなかったので作成)

また、後半からは React が面白そうなので学習を始めました。これもサンプルアプリを暗記するまで何度も何度も書きました。結果、React も多少は慣れたので、今では Qiita のネタ記事にも参加する余裕ができました。

2020 年今年の React アドベントカレンダーにも参加してます。

気付き

この年(今年)の気付きは、開発言語を 1 つ扱えるだけで、できることが飛躍的に増える、ことです。

JavaScript を(多少は)使いこなせるようになって、とても自由になれた気がします。例えば、ちょっとしたアプリならサクッと書いてリリースできますし、Qiita のネタにもすぐに乗っかることができます。時間がかからないからです。

これまでは、調べながらコーディングすることしかできなかったのですが、今は考えたことをコードに落とすことはほぼできるレベルになったので、ストレスがありません。コードの書く速さも格段に上がったので余裕が生まれ、リファクタリングや実装方法を変えてみるなど色々なことを試すことができます。

開発言語を 1 つ扱えるだけで、ここまで変化があるとは思いませんでした。

全体を通して

今回、3 年間の個人開発を振り返ってみて、私は とにかくやってみる ことで前に進めているのだと思いました。うまくいった/いかなかったという結果に関わらず、行動を起こしたことで学びを得て、次のアクションへ繋げていると感じたからです。

悩んだり立ち止まったりして必ずしも効率的ではないかもしれませんが、これからも とにかくやってみる 精神は継続したいと思います。

(今回の記事では個人開発に絞って書いていますが、これまでやってきたこととしては、Kindle でセルフ出版したり、カンファレンス登壇したり、クラウドソーシングで受託開発したり、オープンデータアプリコンテストに応募したり、資格取得したり、細かいところでは Twitter を始めたり、Medium に投稿したり、note に投稿したり...と色々やりました。)

おわりに

個人開発は義務ではありませんが、まだ個人開発をされていない方で、この記事を読まれたり、関連するアドカレを読まれたりしているようなら、やってみるのも一興かと思います。

ここまでお読みいただき、ありがとうございました。

drytt
React Lover
https://drytt.com
admin-guild
「Webサービスの運営に必要なあらゆる知見」を共有できる場として作られた、運営者のためのコミュニティです。
https://admin-guild.slack.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away