副業や個人開発で取り組んでいること
副業でやっていること
私が副業で主に関わっているのは以下のような業務です。
- 旅行アプリnicodyのiOS開発
- Firebaseの機能導入
- Firestoreの設計、など
稼働時間は月によって変動がありますが、1ヶ月で大体45時間程です。平日の本業終了後に1,2時間稼働し、土日の片方でも働くようなスケジュールです。
参画当時(2020年12月)は、フルタイムのPdM1名+ 業務委託のエンジニア3名というチーム構成だったので、業務委託だから引け目を感じるなどはありませんでした。ちょうどプロダクトのリリース直前くらいに参画して、毎月コンスタントに開発に関わっています。
個人開発でやっていること
個人開発では今まで15個ほどアプリを作ってきました。現在も新しいアプリを制作中です。本業ではまだ使う段階ではないが将来使うかもしれないぞ、というiOSの新しい機能や最新技術のリリースがあると、積極的に新アプリを作っています。
すでにたくさんのアプリをリリースしているので、既存アプリの改善をしつつ、新アプリの開発をしています。個人開発を始めた頃は2,3ヶ月、最近だと1,2ヶ月くらい掛けて新しいアプリをリリースしてきました。
リリース時点では作り込みすぎず、最低限の機能だけでリリースすることを心がけているので、もっと短い期間でリリースすることもあります。今までで一番ダウンロード数が伸びた「流れるメモ帳」の制作期間は2日程度でした。
既存アプリについてはログを見ながら機能の追加/改善を施しています。
iOSアプリエンジニアとして副業や個人開発を続けている理由
新卒1年目から約2年間、継続して副業や個人開発を続けていますが、動機はいくつかあります。
今年の振り返り記事何とか間に合った!!!
2022年は新規アプリを7本リリースしていたみたい
一年分の広告収入とかも載せているのでぜひ読んでから、いいねください❤️
2022年の個人開発を振り返るよ|Ryo Tsuzukihashi https://t.co/aDPo2Yg543 #zenn pic.twitter.com/0gaa6YmgQr
— ツヅキ (@tsuzuki817) December 30, 2022
最新技術についてのキャッチアップ
一番大きい動機は、最新の技術についてキャッチアップするためです。
iOSアプリ界隈は技術のトレンドが速く、毎年新たなリリースがされています。本業ではすぐに新たな技術トレンドを取り入れることはなかなか難しいですが、特に個人開発では積極的に取り入れやすい環境かなと思っています。
思い立ったらすぐに開発して試せるのは個人開発ならではの魅力かなと思います。副業先も、現職では試すことが難しい新しい技術スタックでの開発に魅力を感じ参画しました。
(個人開発)アイデアをすぐに形にできることの楽しさ
個人開発に関して言えば、アイデアをすぐに形にできるという魅力があります。
当然ですが、本業でも副業でも仕事となると様々な制約がついてきます。アイデアをすぐにアウトプットできるという点で、個人開発はとても優れています。
先程も述べましたが、過去一番伸びたアプリは制作期間2日程度でのリリースでした。企業が取り組むより速く新技術のエッセンスを取り込み、世の中に価値としてリリースできるスピード感は個人開発ならではの魅力だと思います。
例えば、今までのアプリは以下のような動機で制作していました。
- メモ帳アプリ: iOS 15からのPiPの新しい使い方を試す
- タイマーアプリ: iOS16からのChartとLive Activityという新しい機能を試す
- チケット管理アプリ: Swiftの新しい並列処理の書き方Swift Concurrencyを試す
(副業)業務レベルを求められクオリティが上がる
逆に、副業の場合、業務として関わるため何でも試せるわけではないですが、アウトプットに求められるクオリティが高いです。
仕事として行う以上は複数人での開発が前提となりますが、個人開発より本質的な理解が求められます。特にレビューなどを通して自分の理解が曖昧な部分を無くせるのは、個人開発では得られない経験だと思います。
(副業)開発に専念できる
流れるメモ帳がリリース1周年を迎えました
おかげさまでダウンロード数が13万件突破しており多くの方に使っていただいているようで嬉しいです
これからも頑張ります!https://t.co/Qbau5h74Zt#個人開発 #IndieApp #流れるメモ帳 pic.twitter.com/jPCo2PMf03
— ツヅキ (@tsuzuki817) December 11, 2022
個人開発で「ユーザー数が増えにくいこと」「プロモーションなど開発以外のことも考える必要があること」は多くのひとが悩んでいると思います。
副業の場合は組織化されて取り組むことができるので、開発に専念しつつ、ある程度のユーザー数のアプリの開発に従事できる点も魅力です。規模感によって課題は異なるので、いろいろな経験を積むという面でも副業は良いです。
長く続けるために必要なこと
長く続けるために意識していることをいくつかご紹介します。
(副業・個人開発)本業で残業しない
まず大前提のようで一番難しい事かもしれませんが、本業で残業しないことが重要です。
例えば、次のようなことを意識しながら業務をしています。
- ヒューマンエラーが発生しうる箇所はなるべくシステム化して事故を防ぐ
- タスクが遅延している場合はなるべく早く共有しスケジュールに変更をしてもらう
- あらかじめ時間がかかりそうな箇所に目星をつけそこに力を注げるような状態を作る
- ミスの近くにミスがあるということが多いので、何かを修正したら近くの要素も再度確認する
- テスト駆動開発で品質を上げることでトラブルを防ぐ
(副業・個人開発)複数を同時に進めてモチベーションを切らさないこと
特に個人開発のアプリを複数個並行して進めていて気づきましたが、気分によって関わる業務を変えられるのはモチベを切らさない上で重要だと思います。
どうしても気持ちが乗らないタイミングはあると思うのですが、複数プロダクトを同時並行で進めることで、他のプロダクトや機能の開発に切り替えられます。
(副業)稼働についてのコミュニケーション
副業先での稼働についてのコミュニケーションの取り方も重要です。
個人開発や本業と並行していると、試したい技術が出てきて一時的に個人開発に多くの時間を割きたい場合や、本業が忙しくなるタイミングなどがあると思います。そんなときに、稼働を調整したい旨のコミュニケーションがしっかりできるととても助かります。
私の場合は、CEOとの月1の1on1など、稼働についてのコミュニケーションの場が定期的に設けられています。副業先のチームの調整力のおかげという面は大きいですが、自分から稼働について相談して調整してもらい、無理をしない姿勢は欠かせないと思います。
(個人開発)一つのアプリに一つのテーマ
個人開発ではリリースまでの期間が長いとモチベーションを維持するのが難しいと思います。リリースまでは最低限の機能を実装したら、リリースするということを心がけています。
早くリリースして早くフィードバックをもらえると、モチベーションが持続しやすいです。まずは最低限の状態でアプリをリリースし、付加価値はあとから付けていくという流れで開発をしています。
(個人開発)嫌にならないこと
他の個人開発をしている方を見ていて、やはり趣味を持っているひとは強いなと思います。小説系のアプリ、音楽系のアプリなど、趣味から派生した個人開発はモチベーション高く取り組まれています。
個人開発も、勉強やスキルアップのための義務として捉えてしまうとなかなか続けにくいです。エンジニアだからといって個人開発をしなければならないということは当然ありません。
個人開発自体を一つの趣味として捉えて進めた方が良いし、興味がないのであれば副業など他の手段を検討したほうが良いかなと思います。
開発が好きだから、今後も副業や個人開発を続けていきたい
私は開発が好きで、死ぬまでコードを書いていたい人間なので、今後も副業や個人開発は続けていくつもりです。特に個人開発では、もっとたくさんのユーザーに使ってもらえるようなプロダクトを作っていきたいと考えていて、「人とのつながり × 積ん読」をテーマに新アプリを構想中です。