エンジニアになってからの振り返り
- はじめに
- エンジニアになるまで
- 研修
- プロダクト配属
- Platformチーム
- 振り返り
はじめに
こんにちは、ネクストビートの富永です。
本日はエンジニアになってから今年の4月で4年が経ち5年目に突入しましたので、エンジニアになってから今までの振り返りを少しだけ行なってみようかなと思います。
エンジニアになるまで
私は新卒で不動産売買の営業としてキャリアをスタートさせました。最初は宅地建物取引士の資格取得を目指して勉強をしながら先輩の付き添いとして営業を学んでいました。
先輩の付き添いから卒業して自分一人で物件の獲得からお客様の獲得、案内、契約準備等を行うために休憩もほぼなく夜中までやっていたのは今では良い思い出です。
私がエンジニアを目指したのは不動産営業として、お客様と話すためのネタを集めるために日々情報収集していたことがきっかけでした。
情報収集を行なっている中である海外の記事が目に止まりました。それは3Dプリンターで家を作るという内容の記事でした。
その内容は3Dプリンターであれば24時間で家を建てることができ尚且つ自然樹脂を使用しているため環境汚染が起こらないというものでした。
当時の私はその記事を読んでこれは日本でこそ必要な技術ではないかと思いました。
日本では自然災害が発生した時にプレハブを作成しますが、作るのに時間がかかるのと解体時に環境を汚染してしまうという問題がありました。
そのため日本でこの3Dプリンターでの建築技術を導入できればこれらの問題を解決できると思い興味を持ちました。
しかし、日本の建築基準法だと耐震の観点からこれらを導入するのは厳しいということがわかりました。
私は法学部で建築関係の法律を学んでいたことと宅地建物取引士の資格取得のために同様の法律に関しても勉強していたので、これは大分難しいなと思いました。
しかし、この技術自体には興味があったので引き続き調べているとどうもプログラミングというものが使われているらしいということを知りました。
ここでプログラミングというものを初めて知りました。そこからプログラミング自体にも興味を持ち調べていくとネットで勉強できるということを知り、触り始めたのがプログラミングとの出会いでした。
最初は何も分からずとりあえず指示通りに勉強をしていましたが、それ以上のことはできず応用は何一つ効きませんでした。
ネット上の勉強だけでもプログラミング自体は面白いなとは思っていたので、当時盛んだったプログラミングスクールに通ってみることにしました。
最初は仕事と併用してスクールに通っていましたが、だんだんと仕事よりもプログラミングを行う方が楽しいと思うようにり、どうせならこれを仕事にしてみたいと思い、思い切って仕事を辞めることにしました。
ここで私の不動産営業としてのキャリアは幕を閉じたわけですが、不動産営業自体は嫌いではなかったです。
仕事を辞めてからはプログラミングに集中できたので、よりのめり込むように勉強をしていました。
月日は流れスクールも卒業する時期になり就職先を探すわけですが、私はプログラミングを見つけるきっかけになった技術のように、誰か困っている人の問題を解決するためにプログラミングを使っている会社が良いなと思いそのような会社を探して転職活動をスタートさせました。
しかし、ざっくりとしたことはあっても具体的なサービス内容まで何をしたいかはありませんでした。
そんな中会社説明会で株式会社ネクストビートと出会いました。会社説明会では他の会社と同じように説明会がありそれを受けましたが、他の会社と違っていた点が2点ありました。
まず1つ目は、会社説明会に実際に働いているエンジニアの方も参加しており、人事ではなくそのエンジニアの方と直接会話できたこと。
2つ目は、説明会が終わった後に会社にあるバーでもっとカジュアルにお酒を飲みながらエンジニアの方と話す機会を設けていることでした。
そこで、エンジニアの方とたくさん会話をさせていただいたのですが、その中であるエンジニアの方からKIDSNA シッターというサービスの話をしてもらいました。
その内容がKIDSNA シッターは「育児を終えたけど働きたい方」と「育児をしているけど働きたい方」双方の問題を解決するためのサービスというものでした。
日本ではまだまだ育児で休まれた方の復帰や育児と仕事の両立には寛容的ではありません。
KIDSNA シッターではこうした日本が抱える社会的問題を解決するためにあるという話を聞いて、当時の私は問題解決とは3Dプリンターのような目に見えるようなものを作ることぐらいしか想像できませんでしたが、こういった問題解決ができるサービスづくりもあるのかと思ったことは今でも忘れていません。
これがきっかけで私も株式会社ネクストビートで働き、こういった問題解決を行うようなサービス開発を行いたいという思いを強く持ち選考に進ませていただきました。
幸い運よく内定をもらうことができ、2020年の4月からエンジニアとしてキャリアをネクストビートでスタートすることができました。
研修
入社が決まり使用する技術はScalaと聞いており少しの不安と難しいと言われている言語へのワクワクでいっぱいでした。
また、入社後は研修があると聞いていたので難しくてもなんとかなるだろうと思っていました。
しかし、私が入社した当時コロナが大流行して全社員フルリモートをしなければいけなくなったため、この研修は想像を超えるものとなりました。
当初の予定ではまずScalaの研修を行い、次にHTMLやCSS、データベースなどのその他の研修を行い、最後にScalaを使用してTodoアプリを作るというものでした。
当時はまだリモート勤務が普及していなかったため、環境もやり方も全員が手探りでした。そんな中フルリモートになってしまったので研修の進捗が見えにくくなり見えるようにしたいという話が出たようで、一番進捗度合いがわかるTodoアプリを最初に作ってもらおうとなってしまいました。
当時の私は「いや、Scalaすら書いたことないよ!?」という状態でしたが、そんなことを言う暇もなく崖から突き落とされました。
幸い他にも4月入社なので新卒の子もいるし同期もいるからなんとかなるだろうと思っていましたが、そんな気持ちは1週間も経たずに消え失せました。
気づいたら新卒の子達はTodoアプリはほぼ作りきり、フロントをAngularで作り替えたり認証を組み込んだりしていたからです。
意味がわかりません。
「まだHello World!が出て喜んでる時期じゃないの!?」
新卒って右も左もわからないひよこではなかったのか?と思いましたが、それと同時にこれがベンチャーか…と思い納得することにしました。
また、元々関西に住んでおり、ネクストビートに入社するに合わせて関東に引っ越して来ました。内定と入社の時期的にゆっくり引越しの準備をしている時間がなく、家具がほとんどない状態で引っ越してきました。最初は「家は帰って寝るだけでいいや」と思っており、デスクや椅子はゆっくり探していこうと思っていましたが、いきなりフルリモートになったせいで環境が全く整っていない家で作業することになったのも結構きつかったです。
デスクも椅子も何もないので引越しで荷物を入れていたダンボールの上で仕事をしていました。(身体中バキバキになっていました…)
家にエアコンも付いていなかったので、真夏の日はPCの周りに氷をおいて熱が篭らないように頑張っていました。
朝起きた時に鼻血が出た時は「あ、死ぬ」とも思いましたね。
どんどん差をあけていく新卒に最悪の環境で頑張って食らいついていくのは大変でしたが、今思うとここを抜けたことで自信が付いたついたような気がします。
そんなこんなで無事に研修を終えることができ晴れてプロダクトへ配属していただきました。
プロダクト配属
研修ではAngularを触ることができなかったですが、プロダクトではAngularを採用しているとのことだったので休みの日にAngularを勉強しておりScalaだけじゃなくてAngularもいっぱい書くぞ〜と思っていました。
早速初めてのタスクを振ってもらいワクワクしてその中身を見て見るとそこにはVue.jsという文字が書かれていました。
「Vue…js…?」なんだそれはと思い先輩に確認してみると配属されたプロダクトではAngularじゃなくてVue.jsを使っているとこのことでした。
今度はVue.jsの谷に突き落とされました。
さっきまでチピチピチャパチャパしてたのに…
とりあえずこれがベンチャーか…と思い納得することにしました。
プロダクト配属から少し経ちタスクを消化してリリースするのに慣れてきたとき初めての障害がやってきました。
ネクストビートではレビューが終わったものはリリースを行うブランチにマージを行えば、裏でいい感じにデプロイができるように仕組み化がされていました。そのため、メンバークラスでも本番環境へのデプロイができるようになっていました。
私も自分のやっているタスクはレビューでOKをもらったものは自分でデプロイを行なっていました。
ボタンを押すだけでデプロイができるのでデプロイすることにそこまで抵抗のようなものがない状態になっていました。
そんな時にDBのマイグレーションが必要なリリースをマイグレーションせずにリリースをしてしまいアプリケーションがエラーで停止してしまうという大障害を発生させてしまいました。
しかも、先輩たちがお昼でいない時にです。
幸い他のプロダクトの先輩はいたので、その人にヘルプをお願いして切り戻しを行なってもらいました。
結局アプリケーションは15分停止してしまうという結果になってしましたが…
ここでアプリケーションをリリースするという怖さを知りました。それと同時に今の状態だと問題が起きた時に何もできないということを自覚しました。
仕組み化されているためどのようにアプリケーションが本番にデプロイされて、どうやったら切り戻されているかを知らなかったためです。
このままではだめだと思い、SREの先輩に業務時間終わりにインフラの仕組みと構築方法を教えてもらおうと思い頭を下げてお願いしました。
幸いネクストビートの先輩はみんな優しくいろんな人が聞いたら教えてくれる環境だったので、インフラについても快く引き受けてくださり業務時間後でもいろんな質問に答えていただきました。(本当にありがとうござます)
結果的にはこの障害のおかげで、リリースすることに対しての怖さとインフラを学ぶことへのきっかけになったので起こしてよかったなと今では思います。
新規事業
プロダクト配属から半年ほどが経ち社内で新規事業を立ち上げるという話が出てきました。
その話を聞いていた私は0からプロダクトを作るなんていいなあと思っていましたが、そういうのは技術力のある先輩たちがやるんだろうなあと思っていました。
しかし、新規事業の立ち上げをやりたい人という募集がかけられたのです。
「もしかしてチャンスあるのか?」と思い「やります!」と手を挙げてみることにしました。まあ他の優秀な先輩になるだろうと思っていましたが、2,3日後に上司に呼ばれて話を聞いてみると新規事業をやることになったと知らされました。しかも1人でです。
こういうのってもっと時間かけて決めることだと思っていたので「流石に早すぎない?」と思いました。
しかも「1人ってまだエンジニアになって半年しか経ってないやつだよ!?」という驚きもありました。
とりあえずこれがベンチャーか…と思い納得することにしました。
とはいえ今まですでにできているものへの継ぎ足ししかやったことない自分にとって0からアプリケーションを作るということは謎がいっぱいでした。
アプリケーションのベースを作るところから謎でした。Todoだとそんなに謎に感じなかったのにプロダクトのベースとなると何もわかりませんでした。
もう何もわからないので当時のCTOに「とりあえずテンプレートからベースを作っていけばいいでしょうか?」と確認したら違うと言われました。
「じゃあどうすればいいのか?」と質問をしたところ必要なファイルを1つずつ作っていくんだよと言われて「まじ?」と思いました。
が、当時はそれが当たり前なのかあと思い必要なファイルを1つずつ調べて作成していくことにしました。
テンプレートで作るとベースはいい感じに作られてしまうため、あまり深く調べることはしなかったと思います。
しかし、ファイルを1つずつ作るとどれがなんのためにあってどれとどれが影響しあってるのかを全て把握しないと作ることができないので、大変でしたが自分の作っているのものをちゃんと理解して作成できるようになりました。
後から聞いた話では他の先輩たちはそんなことしたことないとのことでした….ですよね〜
これはちゃんと理解して作れるようになるためのCTOからのムチだったのかもしれません。
なんとかベースを作って要件を詰めたり、デザイナーと調整したり機能開発を行ったりをやっていくうちに慣れてきてスケジュールにも余裕が出てきました。
そんな中そろそろAWSでステージング環境を作りはじめる必要が出てきました。本来であればSREが作成する予定だったのですが、今まで勉強してたことを試す絶好の機会だと思い無理だと思いつつも作らせてくれないかとCTOにお願いしてみました。
すると二つ返事で承諾してくれました。「え、いいの?もっと考えた方がいいんじゃない?」とも思いましたが、そこはこれがベンチャーか…と思い納得することにしました。
他にも色々ありましたが、最終的には新規事業の全てをやらせてもらうことができ無事リリースまで完了することができました。
この新規事業は自分を大きく成長させてくれたと思います。
Platformチーム
新規事業の立ち上げが無事終わりグロース施策を行なっていくわけですが、ここからまた崖に突き落とされるできごとが起こります。
それは、先輩がほとんどいなくなってしまったことです。毎月のように先輩が辞めていく時期があり1年ぐらい続いていたかと思います。
エンジニアになる前はみんな2年ぐらいしたらやめるものだという風に聞いていましたが、まさか本当にみんなやめるとは思わなかったです。
最初は人がたくさん辞めていくので辛かったですが、自分はまだこの会社でやりたいことや、やるべきことがありました。
また、ネクストビートには「カオスを楽しむ」という 文化があったので、この逆境 (カオス) を楽しもうと思い「誰もいないなら自分が全部やる!」ぐらいの意気込みを抱いて色々なプロダクトの対応をしていました。
そのような感じで複数のプロダクトを触ったりしているといつのまにかPlatformチームとして活動を行うようになっていました。
正確にいつどのようにしてPlatformチームとなったのかは覚えていませんが、多分言われた当時は気にしてなかっただけだと思います。
色々と荒れてはいましたが、先輩がいなくなったことで全部やることができ、全体を俯瞰して見て対応するというような力を身につけることができたような気がするので、結果的には良かったのかと思います。
現在
他にも色々とありましたが、現在は引き続きPlatformチームとしてプロダクト横断で負債の解消を行ったり、新規事業立ち上げのサポートを行なったりしています。
Platformチームとしては、直近だとAuroraのバージョン更新やScalaのバージョン更新等を行なっておりました。
大分目に見える大きな負債は解消できてきたかなと思いますが、細かなものまで含めるとまだまだ負債は存在しているので早く解消を終わらせたいと思います。
また、負債を生みにくい組織づくりも行って行きたいなと思っています。
Platformチームとしてどのような活動を行えば良いのかは分かりませんが、できたら負債解消のようなマイナスの値をゼロに近づけるものではなく、ゼロを一に一を百にすることを行なっていくことに専念したいなとは思います。
開発組織も今は約40名と過去最多?となっております。
良くも悪くも安定した組織にはなってきたのかな?と思いますが、その反面破天荒さは無くなってしまったので退屈に感じることが多くなった気がします。
振り返り
そんなこんなで2020年の4月にネクストビートに入社してから今年で4年が経ち、5年目を迎えることができました。
振り返ってみるといろんなことに挑戦させてもらっていたので時が過ぎるのはあっという間でしたね。体感的には2年ぐらいしか経っていないような感じですが、もう4年も経っているのは驚きです。
当時とは自身の心境は全く異なるものとなったように感じます。
最初は世にある問題を解決するサービスを作ることに興味がありましたが、今は技術にばかり興味を持つようになっています。
また世にある問題解決よりも社内の特に開発組織の問題解消や課題解決をしたいという思いの方が強くなっています。
そういう意味では誰かの問題を解決したいという気持ちは4年前から変わっていないのかもしれません。
また4年もいると扱う技術は変わらないので、最近では業務に刺激を感じることが減ってきました。
昔辞めた上司の方が「いつか技術以外で自分がどういうプロダクトを開発したいのかを考える時がくる」と言っており最初はあまりピンときませんでしたが今ではそれがよくわかる気がします。
自分は今技術が好きでそればかりを考えるようになってしまいましたが、技術以外でどのようなプロダクトに携わっていきたいのかを初心に帰って考えていこうかなと思います。
We are hiring!
「人口減少社会において必要とされるインターネット事業を創造し、ニッポンを元気にする。」
を理念に掲げ一緒に働く仲間を募集しております。