見出し画像

ただの塾講師がプログラミングを独学して個人開発で月20万円稼ぐまでの話

こんにちは。
この記事では、できるだけ読み物として面白いように時系列にまとめたリアルなエッセイとして、またできるだけ個人開発者の参考にもなるよう技術スタックも時折説明しながら執筆しています。
そのため、非プログラマの方は具体的な技術の話が出てきたらそこだけ読み飛ばしてもらえたらと思います。

この記事は私が個人で開発しているWebアプリ『小テストジェネレーター』と『暗記カードと辞書』(iOS版)(Android版)の開発の経緯をまとめたエッセイです。タイトルには収益を書きましたが、収益以外に手に入れたものについて、書いています。
アプリは日本全国の教員、学生の方々からフィードバックをもらいながら一緒に育てています。そのストーリーを「A面」とするなら、この記事は私ひとりの個人的なストーリーをまとめた「B面」のようなものです。


新卒時代〜塾を立ち上げるまで


私は2015年に関西学院大学国際学部を卒業し、東京で10ヶ月だけ広告代理店でクリエイティブディレクターをしていました。とは言っても10ヶ月ですから、ろくな業績を残したわけでもなく、特別なスキルを身につけたわけでもないまま地元に帰りました。ただ、このときに、オフィスのデザイナーさんたちがAdobe IllustratorやPhotoshopを使っているのを見たりして、のちにクリエイティブを作成するときの参考になりました。

大学4年生のとき、「業務内容」よりも「誰と働くか」を重視して就職活動をしてきました。そのどちらを重視すべきかについて、就職面接で面接官とディスカッションになったこともありました(1対1の面接なのに)。ただその熱量を買ってもらったのか、その面接を通過し、内定・就職する運びとなりました。
就職先はオフライン広告(通販の箱に同梱されているチラシとか)の大手広告代理店でした。その業界の規模では当時日本一の会社でした。
しかし、働いてみてすぐ、「自分がこの仕事をする意味」が納得できないまま働くことが私には非常にストレスになることがわかりました。周囲の人々はいい人ばかりでした。あの面接で自分が言ったこととは真反対の、「誰と働くか」よりも「業務内容」のほうが自分には大事だったのです。

地元に帰ってから、知人と偶然出会い、現在の学習塾がビジネスライクになってしまっている現状を知りました。理想の学習塾を目指して、そのままとんとん拍子で立ち上げました。塾の運営は知人が行い、私はその下で講師として働くこととなりました。学習塾の立ち上げの段階では、前職のAdobe Illustrator・Photoshopの知見やAdobe Muse(今はなきノーコードのWebサイト作成ソフト)を駆使して、塾のチラシ・パンフレット・サイトを素人なりに作りました。

塾を立ち上げた。効率化の課題にぶつかる。

学習塾の運営は大変です。入会処理・面談・授業・成績管理・進路指導など多岐にわたる仕事があり、近年は子供の家庭環境・学習障害・情操教育など、本来は学校や学習塾の仕事でない仕事もたくさんあります。
私はもっと子供たちに向き合うため、事務仕事や反復作業の雑務を徹底的に効率化したいと考えるようになりました。

一番最初に目についたのは、授業ごとに行う英単語の小テスト作成業務でした。生徒一人ひとり、単語帳も問題範囲も異なります。それを講師たちは毎回手書きで作っていました。Excelを使ってランダムに出題しようと試みたこともありましたが、Excelは印刷に向いていません。かっこよくもないし、そもそも私一人の業務ではなく塾内の講師全員、はたまた日本の教師や学生みんなが使えるものをいつか作りたいと思いました。
頭の中で思い描いたのは、市販の英単語帳の名前と問題範囲を指定して、ボタン一つで小テストを印刷できるWebサービスです。

コロナと同時にプログラミングを学びはじめる

そんな矢先、学習塾5年目となる2020年4月に新型コロナウイルスによる学校の休校が決まりました。学校がお休みなのだから当然学習塾もまる1ヶ月お休みです。私は内心、非日常な状況にドキドキ感で胸がいっぱいでした。のちに祖母が新型コロナウイルスで亡くなることになるのですが、それとこれとは別でした。私の心には、この空白期間を何で埋めることができるのだろうかという希望のほうが大きかったのです。

この時点で、プログラミングに関しては「ほぼ」未経験です。
大学1年生のときにC言語の授業を取ってみたことがありますが、ものの見事に挫折。期末の課題は情報系の友達にもらった簡単なコードを提出してやり過ごしました。
また、Unreal Engineを触って簡単なFPSゲームを作ったことがあります。ただ、これもネットの動画を見ながら作ったいわゆる「写経」レベルのものでした。ブループリントの考え方も「完全に理解したつもり」で、これはプログラマーの世界ではレベル0〜1なのはみなさんもご存知のとおりです。
そして、ProgateでHTML、CSSあたりの序盤だけをやって3日坊主という状態が長らく続いていました。

プロトタイプの完成まで

2020年4月、勤務先がコロナの休業に入ると、私はすぐにProgateを再開しました。最初の3週間でHTML、CSS、JavaScript、Ruby、Ruby on Railsを一通り学びました。

ここで学んだ技術について、非プログラマ向けに整理しておくと、
・HTML:ウェブサイトの構造を書くための言語。タイトルとか本文とか。
・CSS:ウェブサイトの見た目を装飾するための言語。太字とか背景色とか。
・JavaScript:ウェブサイト上の動きを決めるためのもの。アニメーションとか。ユーザーの端末側で動く処理を担当する。
・Ruby:ウェブサイトの裏側でユーザーのデータを保存したり演算をする場合に必要な言語。ユーザーの端末ではなくサーバー側の処理を担当する。
・Ruby on Rails:Rubyという言語を使って、サーバー上でサイトの骨組みをつくるフレームワーク
以上のように、ひとつのWebアプリを作るのに意外と多くの技術が必要です。

そしてついに、残りの1〜2週間ほどで自前の小テスト作成Webサービス『小テストジェネレーター』の原型を作りました。

小テストジェネレーター最初期のプロトタイプ。ダサいけど、動いた。

これが初めての個人開発の作品です。塾の公式HPはノーコードで作っていましたから、まともにHTMLを書くのも初めてです。
フォームで教材名と問題範囲を選んで「つくる」ボタンを押すと、一瞬で英単語と日本語のペアが印刷可能なページとなって画面に表示されました。このときの感動は今でも鮮明に覚えています。

小テストジェネレーター最初期のプロトタイプ。英単語の小テストを印刷する画面が表示されて感動したのを覚えている。

今見ればもちろん、デザインもダメダメだし、数値の入力フォームにはゴリゴリに文字列を入力できてしまいます(バグの温床です)。また、印刷用のCSSなど概念すら知りません(印刷時に小汚いデザインになります)。レスポンシブデザインなど夢のまた夢です(スマホでアクセスしたときに使い物になりません)。
ですが、頭の中に描いたプログラムが目の前で動きました。それだけで十分な高揚感でした。

追加の休校で、開発に追い風が吹く

4月の後半になると、追加で5月も学校と塾が休みになることが決まりました。もう私の開発の手の勢いは止まりませんでした。
市販の英単語データの入力、フォームの改善、アニメーション、4択クイズモードの導入。やりたいことは次から次へと出てきて、私の本来の夜型特性も爆発。すっかり昼夜逆転になり寝食を忘れて開発を続けました。作業をしていたら朝になる日のほうが多く、まともな時間に寝た記憶はほとんどありません。

夜通しプログラムを書いて、何度も朝を迎えた。

実は大型バイクの免許まで取得するほど、バイクはひとつの趣味でした。
風になる感覚とか、本気で好きでした。
しかしこの時期は家にこもり続けたこともあり、バイクに乗ることも忘れてしまいました。

引きこもりすぎて、この時期に売却してしまったバイクと私。

プロトタイプの公開

5月のいつの頃だったか、詳細な時期は覚えていませんが、プロトタイプをネット上に公開しました。もちろんWebアプリの公開も初めてです。塾の公式サイトをノーコードで作った経験はありましたが、そのような静的なサイトと今回Ruby on Railsで作ったWebアプリは、ネットへの公開の方法が全く違いました。

私は英語は苦手ではないので、Herokuというアメリカのサイト公開サービスを使うことにしました。Herokuを使えば、自分でサーバーを構築することなく、「比較的簡単」な手順でWebアプリの公開・運用が可能です。

・・・とは言っても、こちらはバリバリの初心者です。周りにプログラムがわかる友達もいません。とにかくGoogle検索を駆使して2日間ほどでキャッチアップし、Herokuへの公開を果たします。「小テストジェネレーター」はこれから長く運営していくサービスになるだろうと確信していたので、最初から独自ドメインを取得しました。

ここで、プログラミングのド素人が選んだ技術面・技術スタックについて、良かったものと悪かったものを振り返っておきましょう。

選んで良かったもの、悪かったもの(技術面)

良かったもの

①Progate
 →私には動画教材よりも、テキストベースのProgateが適していました。動画教材はみようみまねで習得できるという利点があるのでしょうが、私のように文章を読みながら手を動かすタイプにはProgateのほうが早かったと思います。

②Ruby on Rails
 →頭の中にあるサービスを、実際に動くWebアプリにするまでが早いです。立ち上げの迅速さは、モチベーションを失わずに公開までこぎつけるのに最適でした。今にして思えばNext.jsなど他の選択肢もあったのだろうと思いますが、Railsの立ち上げの速さにはかないません。

悪かったもの、失敗だったもの

①お名前.com
ちなみにこのとき独自ドメインをお名前.comで取得しましたが、お名前.comは正直あまり好きではありません。わかりにくい管理画面、あの手この手で金を払わせようとする姿勢に嫌気がさし、のちにCloudflareへドメインを移管することとなります。

②Heroku
Herokuは個人開発や趣味としての小規模なサイトには手軽なのですが、いくつか重大なデメリットがあります。

 ・アクセス速度がとても遅い
  →Herokuのサーバーはアメリカにあります。日本国内向けサイトをホストするには物理的な遅延がひどく、どのユーザーよりも私自身が満足できない速度でした。アクセスに3秒くらいかかることもありました。やってられません。このときは、速度が遅いのがHerokuのせいなのか、私のスパゲッティコード(絡まりあうような汚い実装のコード)のせいなのかが全くわかりませんでした。

 ・規模が大きくなると価格が高い
  →サービスへのアクセス数が増えてくると、捌ききれる処理の量が小さい割に、値段が高いです。特にRailsアプリはメモリを多く消費する傾向があり、メモリを大きくするとHerokuでは格段に値段が上がっていきます。また、データベースについても別料金で、こちらもはっきり言って割高です。
結局、Herokuから移行したいという思いがモヤモヤと3年ほど続き、のちにさくらのVPSへ移管することとなります。さくらのVPSでは現在メモリ8GBプランで月額7500円くらいですが、Herokuで同じ規模を構築するとしたら月額3万円以上すると思います。データベースも別料金だもん。

収益化のフェーズ①: Adsense広告がついた!

個人開発者にとって、Googleの運営する広告プラットフォーム「Adsense」の審査に通ることはひとつのマイルストーンです。サイトに広告を貼り付けることができると広告収入が入るようになりますが、Adsenseはそのための審査がそこそこ厳しいことで有名です。Adsense意外にも忍者なんちゃらとかいろいろ広告プラットフォームはあるのですが、正直収益性の面から考えて、目指す先はAdsense一択と言っても過言ではありません。
(例外として、エロサイトなどを運営するならば、エロを禁じるAdsense以外で探す必要があります。)

私の場合、Adsenseの審査に通ったのは2020年の7月下旬のことでした。
個人のブログ運営者なども含めて、初心者は1年経っても審査に通らないというのもザラにある話です。私は3ヶ月と経たぬうちにAdsenseを貼れるようになったので、だいぶ早いほうかと思います。

最初はこんなもん。でもうれしい。

最初の収益など、1日100円にもなりません。それでも、継続が大事なのはわかっていました。
この記事の執筆時点では、詳しくは後述しますが、Adsense収益は月4万円ほどです。

収益化のフェーズ②: はじめての有料会員!

有料会員の仕組みが必要だと感じた

サイトの収益が広告収入のみの段階というのは、手軽で責任も感じません。ユーザーは無料で私のサービスを使っているのですから、サイトに不具合があったって、サーバーがダウンしたって、私にはそれほど責任がありません。
しかし、広告収入のみというのは想像以上に不安定なものです。特に規模が小さいうちは、よくわからない原因でAdsense広告をストップされてしまうことがあります。どこかのユーザーがいたずらで広告を何度もクリックすると、それだけで不正扱いです。今月の収益が来月は無いかもしれません。
そのうえ、1クリックあたりの金額も景気によってかなり変動があります。やたら収益が上がったり下がったりする日があるのですが、その要因が自分でコントロールできる範囲ではないものばかりです。

そこで、いずれは有料会員の仕組みが必要だろうと思い、PayPalをRailsアプリに組み込む決断をします。まずはサイト内の広告を非表示にするオプションとして、有料会員システムを考案しました。

PayPalで有料会員システムの実装 月額収益への執着

そんな経緯で、重い腰を上げてPayPalのドキュメントを読み始めました。このとき、サイトを立ち上げてから半年くらいでしょうか。ゴリゴリの初心者ではないかもしれませんが、それでもなかなかの初心者です。PayPalをRailsアプリに組み込む方法など、いくら調べても理解ができません。
ちなみによく似たPayPayについても検討しましたが、単発の支払いには利用できるのですが、月額のサブスクリプション契約はPayPayでは法人にしか許可されていません。

私は安定した月額収益を最重要視していました。このときすでに「あったら便利」なサービスを作っても仕方ない、「無いと困る」サービスを作るんだという覚悟がありました。
PayPalをRailsアプリに組み込む方法を、どのようにして乗り越えたのか、詳細はあんまり覚えていません。このときはとても大変でした。PayPal自体の実装もとても難しかったですし、PayPalから渡される情報をRailsで処理する方法も当時の私には意味不明です。セキュリティについてもゼロからの勉強です。

決済の仕組みを実装するのはとんでもない緊張と重責を感じます。
私はやっとの思いで構築した有料会員の仕組みを本番環境に実装し、しばらくの間は気が気ではありませんでした。本番環境の決済は正常にうごくのだろうか、もしかしたら誰か決済しているのに不具合で反映されていないんじゃないか。自分の作ったシステムへの信頼がまだ十分になかったわけです。

はじめての有料会員が入ってくれた! 喜びで胸がいっぱい。

Adsenseに通ってからちょうど1年が経った2021年の7月、はじめての有料会員が入会してくれました。自分で構築した決済システムは正常に動いていたのです。まずは胸をなでおろしました。

・・・そしてすぐに喜びで胸がいっぱいになりました。

このとき、有料会員の価格は月額270円でした。広告収入とは話が全く違って、ユーザーから直接お金を払ってもらうのは非常に重責を感じます。自分のサービスが生み出す価値への自信も当然まだない段階です。その自信のなさから、価格もどうしても低く設定せざるを得ません。PayPalの場合は手数料もそこそこかかります。有料会員ひとりから入る収益は小さなものです。
しかし、その収益は確かに私へ直接支払われたお金でした。
大げさかもしれませんが、社会と繋がれた感覚がありました。

このときも、継続が大切だとわかっていました。
この記事の執筆時点では、有料会員の収益は月8万円ほどです。

モバイルアプリ版も作り出す

サイト公開から半年が経つころ、恐らく2021年の年末のころ。
私はスマホアプリの必要性をひしひしと感じていました。

それは、勤務する学習塾での子供たちの行動によるものでした。『小テストジェネレーター』をぜひ勉強に使うように、ぜひ検索するように、とオススメすると、子供たちは決まってApp StoreやPlay Storeで検索するのです。
私にとっては衝撃でした。私にとって「検索する」とはGoogle検索です。Webアプリです。でも今の子供たちには、アプリといえばスマホアプリでした。

開発にはFlutterという、iOSもAndroidも同じコードでアプリ構築できるフレームワークを採用しました。Flutterは恐らく、スマホアプリの開発言語の中ではモダンで難易度も低いのだろうと思います。

しかし、Web系から入った私にとってはFlutterは段違いの難しさでした。
Flutterの概念(ウィジェットとか)すら理解できない、エディタのエラーが消えない、アプリがそもそも起動しない・・・。
やっとの思いで起動したゴミアプリも、ストアへの提出手順もわからない。
やっとの思いでストアに提出するも、何度も何度もストアから審査却下の通知を受け取ることになりました。

2022年の7月。サイト公開から2年、有料会員からちょうど1年が経ったときです。
私は無事に審査を突破し、『小テストジェネレーター』のスマホアプリ版である『暗記カードと辞書』(iOS版)(Android版)をリリースしました。

このころ、私にとってはFlutterは動かすだけで精一杯でした。
パフォーマンスの問題もたくさんありました。Webアプリと違って、思わぬところで不具合が発生し、自分の端末では正常に動くのに、ユーザーの端末ではパフォーマンスが出ないことも多々ありました。

デザインがどうとか、言っていられませんでした。

初期の頃のデザイン。この画面はマシだけど全体的に酷いデザインだった。

しかし、そこから更に1年ほど経つと、ある程度デザインにこだわれるようになってきました。この辺りは生成AIのおかげによるところが大きいです。

わりとモダンなデザインで、Flutterアプリが完成した。

正直、中高生を対象とした暗記カードアプリの界隈では、デザインは軽視されています。今では自信を持って中高生に勧められるアプリになりました。

収益化のフェーズ③: Admob広告がついた!

2022年5月、スマホアプリ『暗記カードと辞書』にAdmob広告をつける審査に合格しました。あれ、日付が前後してない?と思われるでしょうが、実はAndroid版は先にリリースできていました。iOS版の審査が合格したのがこの2ヶ月後だったのです。

Admobに合格したとき、内心はAdsenseのときほど喜んではいませんでした。なぜならアプリの完成度が低く、普及する未来が自分で見えていなかったからです。

しかし、この記事の執筆時点では、Admob収益は月4万円ほどになりました。Adsenseと肩を並べる収益源となっており、成長率はAdsenseよりも高いのです。いずれ、AdsenseよりもAdmobのほうが収益が高くなる見込みです。種まきは多いに越したことはないようです。

余談ですが、このスマホアプリ、私の勤務先の学習塾の生徒さんが、友達からオススメされたそうです。全く面識のない人がアプリを使ってくれて、回りまわって目の前の人とつながったのがとても感慨深かったです。

収益化のフェーズ④: アプリ内課金(サブスク)を実装した!

自分が今までに実装してきた中で最も理解不能なもの、それがアプリ内課金です。
Webアプリと同様、スマホアプリでも広告非表示のオプションとして有料会員の仕組みを考案しました。
ただし、私の中で最初に実現しておきたかったのは「サイトで加入してもアプリ内で加入しても、同じ有料会員のサービスを受けられる」ようにすることでした。というのも、PayPalにクレジットカードを登録して決済することに躊躇するユーザーの存在を知っていたからです。
しかしこれを実現するのは並大抵のことではありませんでした。

訴求デザインだけはすぐできた。センスある?
有料会員はマイリストを5つまで使えるようにもした。

訴求デザインだけはサクサク完成しました。しかし肝心の課金の実装ができません。その上、サイトとの有料会員状態の同期の仕組みも必要です。私の能力を明らかに超えている課題でした。

ここで出会ったのがRevenueCatというサービスで、それを使えばアプリ内課金のコード量を大幅に減らすことができるというものでした。月額収益が2500ドル(35万円くらい)までは無料です。将来的に大きな会社にする場合は躊躇する仕組みかもしれませんが、あくまで個人開発プロジェクトなのですぐに採用しました。課金周りのコード量については問題が解決しました。

それでも引き続き相変わらず頭を悩ませたのは、サイトとの同期の仕組みです。こちらには時間がかかりましたし、今でも小さな不具合を直し続けているのが実情です。こちらについては後述しています。

アプリ内課金の仕組みを整えたのは、大正解でした。
実装には大変な時間と労力がかかりましたが、この記事の執筆時点では、月7万円くらいになっています。また、成長率が今までの収益源の中でもダントツに早く、数ヶ月ごとに売上が倍になるようなペースです。
やはり、ユーザーからの直接課金というのは、広告収入とは違って、幸福感と責任感を同時に与えてくれます。また、広告収入は月ごとの推移で見たときに下がる月もありますが、有料会員制度に関しては下がった月が今のところありません。安定性にも貢献してくれています。

試行錯誤と改善のフェーズ

【技術面】 改善について、具体例

ここは非プログラマの方は読み飛ばしてもらえたらと思います。

サービスの成長につれて、技術スタックに大きな変更がありました。
既出のとおり、Herokuは日本からのアクセスには遅すぎ、また規模が大きくなるにつれてコストが割高でした。
2024年の年初、ついにサイトを丸ごと日本のサーバーに移管しました。
これはずっとやりたかったことですが、Herokuには日本サーバーがなく、結局「さくらのVPS」を契約し、Linuxサーバー(Ubuntu)をゼロから構築しました。
もちろんLinuxサーバー構築も初めてのことです。未だに意味不明です。情けないことかもしれませんが、Linuxに関してはなんで動いているかわからないところが多々あります。だからバックアップだけは取っていますが、技術面ではまだまだ勉強が必要です。
しかし日本へサーバーを移管した効果は絶大でした。アクセス速度は桁違いに早くなり、サーバーダウンの時間も大幅に減りました。また、Linuxサーバーは自前構築ですから、コストも大幅に減少しました。いいことづくめです。

ここで、具体的な技術面をもう少し掘り下げてみましょう。
Linuxサーバーは当初、ApacheとPassengerを使ってよくある構成で作ってみましたが、これはちょっとしたサーバーへの変更が致命的な不具合につながることがわかりました。Linuxではアクセス権限など気をつけるべきことがたくさんあります。どうしてもこのファイルを編集したい、でも編集するには該当ファイルのパーミッションを変える必要がある。パーミッションを変えてファイルを編集すると、なぜか関係なさそうなWebサーバーがダウンする。プログラマの方にとっては当たり前のことだと思いますが、私は趣味でコーディングしている素人です。Linux自体のお世話は、ちょっと重荷に感じています。
そこで、DokkuというDocker系フレームワークの存在を知りました。DokkuはHerokuのように簡単にデプロイすることができるオープンソースです。Dokkuの内部はApacheではなくnginxが動いているようです。これのおかげでほとんどLinux自体のお世話を考えずに運用できるようになりました。

【とりまく環境面】 生成AIとコミュニティ

ここは非プログラマの方もどうぞ。

先述のとおり、課金周りの不具合などがあれば冷や汗ものです。
サイトやアプリに致命的な不具合があれば、いくら個人事業といえども、有料会員への裏切りになります。私は土日を潰して修正に当たることもたくさんあります。

ただ、追い風も吹いています。
私がサイトやスマホアプリの原型を構築したころ、2023年はじめくらいから、生成AIが普及してきました。日進月歩の生成AIによって、不具合の修正のみならず、新機能の実装に関しても従来の10倍くらいの速度で実現しています。ChatGPTとClaudeとCursor(VSCodeからのフォーク、AIが使えるエディタ)を3重に課金しておりそれだけで月1万円弱ほどかかりますが、私にとってはアシスタントを複数人雇用していると思えば安いものです。

また、不具合修正にあたっての現実的な解として、お問い合わせフォームを充実させ、ユーザーから不具合報告をすぐにもらえる状態にしました。フィードバックの仕組みを完成させることで、不具合修正のサイクルを早く回せるようにしています。フォームだけでなく、ユーザーが何でも投稿できる掲示板機能も早い段階から整備してきました。

掲示板機能には、「コミュニティの醸成」という副次的な効果もあります。この記事の執筆時点では、私のサービスを使ってくださっているユニークユーザー数が月間7万人を超えています。本当にありがたい思いと共に、もう「あったら便利」ではなく「無いと困る」サービスになっているのだと実感が出てきました。正確に言えば、多くの人にとっては替えの利く存在かもしれませんが、ごく少数でも、一部のユーザーにとっては「無いと困る」存在になれているのではないでしょうか。

【日常生活面・精神面】

プログラミングを趣味にして、自分のサービスを副業にすることで変わった自分の内面について記します。
まず、日常生活の時間の使い方ですが、休日の暇な時間はぼんやりと考え込んでしまうクセがあるのですが、その時間を上手く生産活動に熱中できるようになり、今を楽しむ心ができるようになりました。もともと、ギターを弾いたり、ピアノを弾いたり、バイクに乗ったり、映画を観たり、ゲームをしたり、趣味は多いほうでした。

また、そこに追加されたプログラミングは、消費ではなく生産の側面を持っていたことが私にとっては大きな自己肯定感につながるようになりました。これは今でも精神的な満足度を上げてくれています。また、収益が出ることで実際に経済的余裕も生まれます。調べてみると、どうやら個人開発もうまくいくことばかりではないようで、通常は10個くらいのアプリを作っても私より低い収益しか出ない方々が多いようです。私の場合は立ち上げ時の目的は収益ではなく、「小テストを楽に作りたい」という目の前の問題解決が先でした。規模が大きくなっても、「塾の生徒が楽しく英単語を暗記できるようにしたい」という目的でクイズモードなどを作ってきました。

クイズモードは教員よりも、目の前の学生のために作った。

つまり、収益は後からついてくるので、まずは問題解決を目的としたことが功を奏したのではないかと思います。また、私の本業は塾講師です。本業で課題にぶつかるからこそ、プログラミングの副業に相乗効果があったのだと思います。本業がなければ、プログラミングに全力を注いでもモチベーションが保てなかったでしょう。

まとめ 今の気持ち(と収益)について

気持ちの変化

この記事の執筆は、2024年9月です。
サイトを初めて公開したときから、4年が経ちました。
プログラミングに出会ってからの人生は、世界の見え方が変わりました。

まず、自分が困っていることを仕組みで解決できる、自動化できる。そういう考え方を手に入れて、効率化の楽しさを知ることができました。コンピュータを味方につけることができるというのは素晴らしい感覚です。

また、自分のプログラムは自分だけでなく他の人をも助けることができます。『退屈なことはPythonにやらせよう』という有名な本がありますが、その冒頭で「プログラムは簡単にコピーできる」のが素晴らしい点だと紹介されています。

世界の見え方が変わるというのは、具体的には、身の回りにある問題を見たときに、これはどうすれば解決できるのだろうかと考えることが自然にできるようになったことです。そしてその手段としてコンピュータを使えることです。私は考え込むタイプで、そもそもネガティブな方だと思いますが、気持ちが前向きになります。

収益について

いま、私のサービスの売上は全体で月20万円ほどです。コストは3万円行かないくらいです。
利益については、1年で2倍くらいの成長率を実現しています。来年も2倍になっているといいな、と思っています。
社会はそう甘くはありません。でも、私がユーザー目線で改善を続けるかぎり、そう夢物語でもない気がしています。
記事のタイトルにわざわざ収益を記載することが本意だったわけではありません。実際、収益は毎月上がっています。月収100万円くらいになってから記事を書いたほうがインパクトもあったでしょうが、ふと書きたくなったタイミングを大切にしました。急に思いついたエッセイでもできるだけ多くの人に見られればそれに越したことはありません。

プログラミングの収益というのは、少しユニークな性質を持っています。
実は先月、体調やメンタルがあまり優れない日々が2、3週間続きました。プログラミングからも距離を置いていました。
にもかかわらず、その期間も収益が上がっていました。私が寝ているときも、海外旅行に行っているときも(開発中に7カ国行きました)、体調不良で寝込んでいるときも、私の代わりにコンピュータが稼いでくれていました。
感覚としては、ベーシックインカムのようなイメージです。
もちろん開発にかけた手間暇もありますから、不労所得などとは違います。
それでも、自己表現と収益の確保が同時に行える、素晴らしい趣味がプログラミングでした。

では、プログラミングだけに集中して一人で楽に稼ぐか。
これには現時点で否定的です。引きこもるのは苦ではないタイプですが、やはりこれからの時代、「仕事がない」よりも「コミュニティがない」のほうがとても辛く苦しいはずです。対面での人とのふれあいは、ネットビジネスで代替できるようなものではないというのが、今の私の直感です。
それに、ネットビジネスの変化は激しいです。今は安定していても、来年はどうなるかわかりません。未来の予見はできないですし、予見しようとする行為も無駄です。私のサービスもなくなるかもしれません。
それでもどこか安心感があるのは、自分で問題を発見して自分で解決しようとする、それ自体を自分はできるんだという感覚を得たからなのだと思います。今のサービスが何らかの要因でなくなっても、また次を見つけるしかないのです。

これからプログラミングをしようかと思っている方へ

プログラミングには向き不向きがあると思います。人によっては楽な仕事でも夢のような趣味でもないかと思います。
また、私のように自分のサービスを持つことと、受託開発や常駐派遣でプログラミングをすることは実際に異なる行為だと思います。
しかし、コンピュータを味方につける、この感覚は他の仕事や趣味にはない感覚だと思います。また、それ以上に自己表現の手段になります。絵を描く、音楽をするなどと同じ快楽があると思っています。

プログラミングを始めることにデメリットはありません。
もし悩んでいるのなら、今すぐ手を出してみても損はないのだと思います。
手元にパソコンがあれば、それでできます。スクールに通ってもいいのですが、正直、すべての情報はネットに無料で落ちています。スクールに通ったり資格を最初に取ろうとする人は、そもそもあんまりプログラミングには向いていないかもしれません。手元の紙に絵を描くのと同じように、特に初期コストをかけなくても始めることができます。ぜひ挑戦してみてほしいと思います。


この記事が気に入ったらサポートをしてみませんか?