9ヶ月間自社サービスのクライアントワークをやってみた話
どうもこんにちは!個人でスマホアプリ開発をしてるゆうとです。
昨年末から9ヶ月間クライアントワークをやってみて、色々感じることがあったので、その話をまとめようかなと思います。
ちなみに、今は新作のアプリ開発にフルコミットする期間にするため、お仕事は一旦終了してます。
お仕事が決まるまで
2021年は5月ごろからTradeNoteの有料プラン機能拡張や様々な障害の修正など大規模な実装をしていたのですが、年末にかけてかなりアプリ自体のクオリティが安定してきたのと、アプリ開発にフルコミットしていたので手元のキャッシュが少なくなってきたのと、そろそろ一人孤独に開発するのも寂しくなってきたので、「そうだ!クライアントワークやろう!」ということで動き始めました。
(ちなみにクライアントワークとは業務委託のことです。クライアントワークって言うとちょっとかっこよく聞こえません?笑)
以前一度クライアントワークはさせてもらっていて、その時は、
・週5
・1日6時間
・受託開発
・フルリモート
・フルフレックス
・Rails + React
という感じでした。
この時はそれなりに楽しいお仕事をさせていただいていましたが、一方で受託開発なので自分たちで中々方針を決められず「業務間強いなあ」という感覚があって、また週5でやっていたので「中々個人開発進まないなあ」という感覚を持っていました。
で、これらを解消するために僕が設定した条件がこちら。
・週3
・自社サービス開発
・常駐OK
あと、前回はTwitterで繋がった方にお仕事を頂いたので、今回はエージェントを使ってみることにしました。
エージェントに登録したら、持っているスキルセットや、今までの実績などを色々書いて、そしたらエージェント側から早速連絡が来て、一度条件面などお話させてください。と。
それで上記条件を伝えて、よろしくお願いします。となったら、あとはエージェント側で合致する条件の会社をピックアップしてもらって、気になるお仕事があったらこちらから伝えて、その後会社側の採用担当とエージェントの担当と僕の三人でZoomで面談をする感じです。
で僕が気になった会社の2社目の面談で、無事契約していただき、3週間後くらいから業務スタートという流れでした。
(ちなみにお世話になることになった企業さんは、おそらく多くの方はご存知のメガベンチャーでした。)
こんな感じで働いてました
僕はクライアントワークと個人開発を明確に分けたかったので、火、水、木をクライアントワークに、金、土、日を個人開発に、月を完全オフ日に設定してました。
クライアントワーク日は全て常駐してました。「リモートでやってもいいよー」とは言われてましたが、どうしても家より会社の方が集中できるので、基本的には会社に行ってました。
仕事内容は細かくは書けませんが、自社サービスの新規事業開発です。そのプロジェクトがRails+Reactだったので、すんなり入っていけました。
業務委託という立場でしたが、打ち合わせやブレストなども参加させてもらえてかなり言いたいこと言わしてもらえたので、そういう意味では「指示された事だけやる」という立場でなかったのはすごくよかったです。
自社開発のクライアントワークの中で感じたこと
まずプログラミングスキルのレベルアップができたのは本当によかったです。入ったチームのエンジニアのスキルがめちゃめちゃ高くて、本当に多くのことを学べました。特にコードレビューの指摘が的を得まくっていて「よくこのレベルのレビューできるなー」って感心してました笑
次に、思ったことはなんでも発言していい文化があったのは素晴らしかったです。会社なのでどうしても忖度があるものが普通だと思いますが、毎週の振り返り会などでは各人がそれぞれ発言する場があって、チームの改善点や、今プロジェクトに対してどう思っているかなどをディスカッションできたのは素晴らしい文化だったと思います。
少し残念だったのは、携わったプロジェクトをスケールさせることができなかったことです。(ちなみにここで言うスケールとは具体的には、PV数、リテンションを増やすことです)
サービス開発なのでもちろんすぐには結果は出ないのが当たり前なのですが、やはり僕がエンジニアとして関わっていく以上、ディレクターの意見に従うべきだと思ってやっていたし、その辺り「僕ならこうするのにな」みたいなところもあって、中々歯痒い思いもしました。
あと正社員と違って業務委託という立場上しょうがない気もするのですが、中々フィードバックがもらえないのも残念でした。
淡々と契約更新してもらえるので、そこで「あ、一応ちゃんと評価してもらえたのかな?」という感じでした。
結局最高なのは週3で働ける正社員って立場だと思うんですけど、実際日本でそれは中々難しいので、うーん、これは難しい課題ですね😅
僕からもう少し積極的に「フィードバックください!」と言えばよかったのかもしれません。今振り返ると。
なぜ9ヶ月で辞める意思決定をした?
僕は今年の2月くらいから新しいアプリの開発を始めていて、そのアプリがだいぶ形になってきたので、リリースからPMFまでフルコミットしたいと思ったからです。
クライアントワークも週3だったので、もちろんできないことはなかったのですが、違う言語の違うプロダクトを二つ並行で進めるのはスイッチングコストが結構かかるなーという印象でした。
例えばクライアントワーク稼働が終わってから個人開発を始める場合、前回の着手から3日〜4日経っているわけで、何やっていたか思い出したり、進み始めるまでにある程度時間がかかる感覚がありました。ようやくエンジンがあったまってきてギアが上がってきた段階で別の車に乗り直す感覚です。
もちろんこれでも進捗はありましたし、長い目で見ればできる感覚はあったのですが、なんというか「全集中」したいという思いがあったのでこういった意思決定をしました。
(↓僕も前々からこんなことをほざいてました笑)
今回の新作アプリのアイデアはかなり強いモチベーションがあるので、自分自身満足させられる形にしたかったし、それこそ99%ではなく100%を発揮したいと思った時に、どうしても思考がブレない状況を作りたかったんですよね。
クライアントワークにもチェックポイントや、達成目標があって、僕自身それを意識しながら器用に100%個人開発に対してコミットする自信がなかったっていうのが正直なところだと思います😅
9ヶ月間のクライアントワークの中で芽生えた思い
「チーム開発って楽しい!」
これは前々から認識していたのですが、今回も同じ思いになりました。
特にレベルの高いエンジニアたちと、議論をぶつかり合わせて一つのプロダクトを作り上げていく過程は本当に心から楽しかったです。
これは常駐ということも大きい気がしていて、フルリモートも常駐もどちらも経験した僕からしてみると、チーム開発はF2Fの開発が最高だなという結論に至りました。すぐに質問ができる環境や、何気なく雑談ができる状況など、そういう何気ない会話がチームの雰囲気を良くしたり、士気を上げるきっかけになってたんじゃないかな?と思います。
あと今回の僕の立場はエンジニアだったので、完全に設計やコーディングのお仕事でしたが、プロダクトのUX設計や、Figmaを使ったUI設計など、プロダクト設計的なお仕事をしてみたいという思いが芽生えました。
この辺りは僕の強みでもあると思っているのですが、今は自分自身でコーディングしちゃってる状況なので、次はこの辺りもできるお仕事を探してみようかな?と密かに思ったりしてます笑
(そういうお仕事あったら是非DMまで!🙏笑)
最後に
はじめてのエージェントを使ったお仕事探しに、はじめてのメガベンチャーでの自社新規サービス開発という初めて尽くしでしたが、また視野が広がったし、新しい仲間も増えたし、やりたいことも明確になったし、改めて振り返るとめちゃくちゃ充実した9ヶ月間だったと思います。
このお仕事を始める前は正直「個人開発だけでずっとやっていきたいな」と思っていましたが、チーム開発の楽しさに改めて気付いてしまったので、いずれは僕がディレクターとして価値観のあう仲間たちと楽しみながら爆速で進めるプロダクト開発チームを作りたいという夢が生まれてしまいました笑
長々となってしまいましたが、こんな感じです!
質問や相談などはTwitterのDMやスペースのリクエストなど頂けたらお話できると思いますのでよろしくお願いします🙇♂️(https://twitter.com/yuto_apps)
では!