フリーランスになることにしました

junichi_y
·

まだ辞めてないのだけどもういいかなと思って退職エントリ的なものを書いてみようかなと思います。

こういうの書いたことないのでどこまで書いていいのかわからないけどまあ、どうせ見つからないだろうということで迷惑がかからない程度で現職のことも書いてみます。

現職入社

わたしは現在ぎりぎりまだ在籍していますがCoconeというゲーム会社に所属していますが、入社時はグループ会社のcocone connectという会社に入社しました。

入社する前はJavaで受託開発をしており本当はRubyで自社開発をしたかったのだけど転職ドラフトで見事にJVM系の会社様からしかオファーいただけず、どうしたものかと思っていたところ、Kotlinいいっすよと言われて触ってみたら思ってた以上に面白かったのでそのまま選考進んだら採用になった。

予想外だったのはちょうど入社したのが2022年の2月ごろでweb3が国内でも盛り上がってる時期だったこともあるのか、社内事業をweb3に全振りしますみたいな時期で新規アプリの立ち上げから参画することになったこと。

弊社はアバターゲームを長年開発・運用しておりNFTのようなデジタルアイテムを所有、収集するということと相性は確かに良さそうに思えた。

ただ、入社した時点でブロックチェーンやweb3、NFTなんて何のこっちゃという状態だったし、どちらかといえばKotlinやNoSQL、gRPCといった使ったことのない技術ばかりでそっちでいっぱいいっぱいだった。

web3との出会い

これはあるあるなのかわからないけど立ち上げ時はゲームの世界観や仕様、デザインのことで毎日話し合っていて、クライアントエンジニアは忙しそだったがサーバー側がかなり暇を持て余していた。

これリリース間近で絶対サーバー側炎上するだろとか思いながらできることをちまちまやっていたがブロックチェーンの技術キャッチアップ人材みたいなのに抜擢された(単に暇そうに見えただけかもしれない)のでいろいろキャッチアップを始めた。

もうあんまり覚えていないけど本当に何もわからない状態だったので中田敦彦のYoutube大学のweb3回を観ることから始めた気がする。

あとは夏頃にbitFlyerさんのイベントオンライン視聴したけど、登壇者の方々(たぶん当時わかってなかったけどブロックチェーン最前線な方々)が本当に何を言っているのかほとんどわからなかったけど必死に何かを得ようと視聴した気がする。

技術的な面はNFTの売買をweb上で行えるマーケットプレイスというものがあるのだけれども当時最も取引が行われていたOpenseaというサイトのSDKを使ってチュートリアルをやったり、web3アプリケーションを作るにはスマートコントラクトと呼ばれるものをブロックチェーン上に公開する必要があってそのスマートコントラクトを書くためのSolidityという言語を勉強したり、そのほか世界中に分散されて稼働しているブロックチェーンネットワークとやり取りをするためのweb3プロバイダみたいなのでAlchemyというサービスがあってそれのチュートリアルやったり、hardhatやfoundryといった開発ツールのチュートリアルやったり、、

とにかくチュートリアルやりまくった。

web3やった人はわかると思うけど本当に変化が激しくて、安定稼働しているものなんてほとんどなくて、特にチュートリアルやドキュメントなんて書いてある通りやっても動かないこととかめちゃくちゃ多かった。

まあただweb3やったことで公式ドキュメント読み倒すことに抵抗がなくなったのでそれは今でも役に立ってる気がする。

チェーンやトークンのことなどはとにかくweb3系のことを発信しているTwitterアカウントをフォローして情報収集した。ただ、これも本当に変化が激しいし情報量が莫大でまじでいまだにweb3最前線で走り続けている人はすごいと思う。

で、一応web3をやるということがどういうことか技術的にも思想的にもなんとなくわかって、最近のトレンド的なものもなんとなーくわかるくらいにはなれた気がする。

web3のワクワク感

新しい技術のキャッチアップは比較的ワクワクするし面白い。ただ、web3のそれは段違いに面白かった。

本当にインターネットがもたらしたくらいの変革をブロックチェーンという仕組みがもたらしてくれると信じている人もいたし、そう思ってしまうくらいにブロックチェーンはすごい技術だった。

いろんなものを手探りで試行錯誤している感じがたまらなく楽しかった、気がする。

加えて、web3系のハッカソンを数多く開催していたakindoが開催した東京web3ハッカソンの熱量はめちゃくちゃ高かった。オンライン視聴だったけど発表者の方々の熱量はかなり伝わってきたし、本気でプロジェクトを考えてるのも伝わってきた。オフライン参加しておけばよかったと少し後悔

こういう一緒にweb3にわくわくしている人たちがいるんだということも楽しくて、なんか本当にお祭りみたいな感じだった。

ただ、一方で社内とのweb3における温度感みたいなのをすごい感じるようになった。いつまでたってもゲームのweb3的な要素が見えてこないし開発メンバーの興味関心もそこに向いていないように感じてしまった。

結局、リリース間近になって言われたのが既に用意されたAPIを言われた通りに呼び出すだけでコントラクトの実装もマーケットプレイスの開発もなくだいぶ肩透かしをくらってしまった。

まあ、社内全体で使えるようにするのだからそうなるとは思うのだけど、もう少し早く知りたかったし、トークン設計もコントラクト設計も何もあったもんじゃないなと。

ただ、弊社のフォローをしておくとパブリックチェーンのサイドチェーンを自社で開発していたし、ウォレットアプリも開発していたし、自社で複数のアプリを開発・運用する弊社にとってプライベートチェーンとしてアプリ間でトークンが流動する仕組みは悪いものではない気がした。そこまでやっていた企業は当時そこまで多くなかったと思うし、もっとアピールしてもよかったんじゃないかなと思う。

チーム移動

ブロックチェーンゲームはいろいろありつつもリリースをした。そのタイミングで移動となり既存アプリに移った。そこで言語も変わり念願のGoを使うことになった。

結局育児休暇を取得することになったので3ヶ月くらいしかいなかったが既に売り上げが立っているゲームの運用の難しさみたいなのをすごい感じた。

ユーザーが多くいるため不具合が出せない。出せないというかとても慎重にならざるをえない。リリースしてもう何年もたっているアプリのためレガシーな部分も多く、何よりデプロイコストが非常に高く感じた。

アプリ開発の関係者も非常に多く、負債の返済をするにも多くの調整が必要になることが目に見えていたし、負債の返済に着手するにも毎月あるイベント、機能追加で開発リソースをそっちに割くことも難しいように感じた。

これはわたしの考えが甘いというか社会人として終わってるなーとも思うのだけどこの売り上げをとにかく追うような雰囲気が合わなかった。

営業やってたときと変わんないなーと思ってしまった。

もっと技術の話をわちゃわちゃしたいんだよなぁ。

ビジネスサイドの要望を叶えつつ、チャレンジングな開発をいい塩梅でしたいなーって

休職

育児休暇を取得した。取得させてもらっておいて復帰せず退職するのでだいぶ不義理だと思います。

なんかでももう長く働くイメージが持てず、わたしものんびりキャリア構築できる年齢でもないのでやめる決断をした。

育児の方は大変さを毎回更新してて今がいつも1番大変です。休職中は技術書を読むことに徹底しようと思い、読んだ方がいいだろうと思われる名著たちを片っ端から読み漁った。

これはとても身になったと思うのだけど、クリーンアーキテクチャやDDDといった設計関連、ネットワークやセキュリティ、DBといったエンジニアとしての土台になるような基礎力がかなりついたと思う。

このような土台があると技術的に考えることの解像度みたいなのが1,2段階くらい変わったような気がする。気のせいかもしれないけど

とりあえず、あの分厚い書籍たちをゆっくり読む時間なんてないから育休という期間を利用して読めたのはよかった。

一方、プロダクト開発から1年近く離れているのですごい置いて行かれている感がすごい。実際のチーム開発、プロダクト開発で直面するような課題解決から遠ざかっているので実際の現場でバリューを発揮できるんだろうかという不安がある。

フリーランスという選択

もともとわたしは「フリーランスになってイッセンマンエン」と言われてこの業界に入ってきた人種なのでフリーランスになる考えは常にあった。

ただ、やっぱり正社員にしか経験できないようなこともあるなと思っていてフリーランスという選択を気軽にできないでもいた。

具体的にいうとマネジメント経験。役職としてメンバーを持ったことはなく、こういった経験は積むのはフリーランスよりも正社員のほうが有利だと思う。

さらに、やっぱり会社の看板は大事だと思う。名無しの野良フリーランスよりもどこどこの会社のテックリードとかそういう肩書きがあるかないかで人に与える印象は全然変わる。

肩書きなくてもちゃんとアクティブに行動していれば肩書きなくてもやれるとも思うのだけどそもそも表立って活動するのがそこまで得意ではないし今からそこを頑張るのも辛いなーという逃げの姿勢。

会社に属してさえいれば頑張って出世すれば肩書きは手に入る。

あとはどうしても転職先を考えるときに技術視点になってしまうから。人とか事業とか文化とかそういうのもわかるしそうやって働く場所を決めたいとも思うのだけど一回のカジュアル面談でそこまでわかることは稀だし、何の言語でどういう技術を使っていて、そのプロダクトは技術的にどうやって実現しているんだろうとかそういう興味の方が上回ってしまう。

で、多分そういうふうに思っているうちは技術的なことに満足すると転職することになるんだろうなと。そうやって転職繰り返すくらいならフリーランスで案件移った方がいいのかなと。

まあ、ずっとフリーランスをやらなきゃいけないわけでもないのでフリーランス試しにやってみて、やっぱり正社員が良くなればまた正社員に戻ればいいし、いろんな開発現場を見てみるのがいいんじゃないかなということでフリーランスをやることに決めた。

おわりに

現職の不満っぽいこと書いたけど今思えばブロックチェーンの技術をキャッチアップして、開発しているときは楽しかった。0-1が楽しいってこういうことなんだろうな。

web3の盛り上がりはすっかりAIに持って行かれてしまったように感じる。転職活動しているときにブロックチェーン使いますっていう会社もいくつかあってプロダクトについて少し聞いてみたけどなんだかはっきりしない回答しか得られなかった。

ブロックチェーンを使って世界を変えるぜ!!っていうプロダクトは世の中にはまだそう多くなくて、私自身どうその技術を活かすのがいいのかまったくわからない。

たぶん、ブロックチェーンで世界を変えるには早すぎてあと5年後くらいにはまたweb3の話になっているのかもしれない。

そのときはまたweb3に期待を膨らませそのお祭りに参加したいなと思う

と言いつつ次に参画する案件はたぶんweb3っぽい。まったくの偶然

フリーランスになるのが正解なのかどうかはわからないけど、せっかくなるのだからいろいろやりたいことにチャレンジして楽しみたいなと思う。

@junichi_y
エンジニアしてます。