AI tech studio

LODEOで1ヶ月間内定者バイトをさせていただきました!

Ryotaro Miyagawa By Ryotaro Miyagawa

Agile CircleCI アジャイル 開発

こんにちは!20卒内定者の宮川 竜太朗(りょうたろう)です。内定者バイトとして1ヶ月間LODEOにjoinさせていただたいので、この1ヶ月を振り返ってみたいと思います!

内定者バイトに到るまでの経緯

前回はREQUというメディアのスキルシェアサービスでフロントエンドエンジニアとしてインターンをさせていただたいていました。そこで、今回は全く違う部署・職種を体験しようということでアドテクでのサーバーサイドの開発を希望しました。

その後人事にその旨を伝え面談をいくつかセッティングしていただいたのですが、うまく自分のスケジュールと受け入れ先の部署のスケジュールが合わず、LODEOに決まったのは配属のわずか一週間前でした。笑

 

LODEOはモブプロ(後述)で開発を行なっており、「モブが大丈夫なら大丈夫だよ!」と面談で言っていただき受け入れてもらえることが決定しました。

 

LODEOでの開発

モブプロという未知の体験

LODEOでは常にモブプロで開発をするという珍しい開発体制をとっていました。最初は「本当にモブプロって効率てきなのかな?」と半信半疑だったのですが、joinした初日からガンガン開発ができてしまうという今までに経験したことのない状況になって「あ、モブすげーわw」となっていました。笑

LODEOでのモブの様子は、チームを引っ張ってくださってるエンジニアのIkuo SuyamaさんがLODEOでモブプロしたら最高だった話という記事を書いておられるのでこちらをご覧ください。

実際にモブをしている様子↑

 

あれ?モブプロ最強じゃね?

もちろんモブのすごさは初日からコミットできることだけではありません。今までストレスに感じていたチームでのコミュニケーションコストの高さ仕様の理解、コードレビューといったプロセスが必要ないのが感動的でした。

どんなに丁寧に説明してもうまく伝わらなかったり相手の時間を奪ってしまったりというコストや、同期的なコミュニケーションが取りにくいという非効率さを排除できるというのはすごく魅力的です。

また、リアルタイムにコードレビューをするも同然なので属人性の排除やチームとしてレベルの底上げもできるので、バイトの僕からするととてもありがたい環境でした。

意思決定も早く行えますし議論を通して方針への同意も取れるのでかなりメリットがあるのは間違いありません。が、もちろん向き不向きはチームや個人の性質によってはありそうです。ただ、モブという選択肢もあるんだということが学べただけでも良い収穫でした。

 

内定者バイトで学んだこと

チーム開発

成果発表の際にチームのメンバーには伝えたのですが、LODEOは今まで経験したチームの中で一番いいチームだったと思います。日々議論を重ねながら実装をしており各人がどうしたらチームがよりよくなるかという議論を積極的に行なっていたのが印象的でした。

チームとしてどうするのが最適かということを常に意識しながら意思決定をする、という場に参加できたのはすごくいい経験になったと思います。また、ただ思いつきで改善を試みるのではなくしっかりと仮説検証をしていたのもすごく学びになりました。

「議論よりも俺はコードを書きたいんだ!」って人には向かないかもしれませんが、自分はむしろ議論が大好きな人間なのでぴったりな環境でしたし、第一線で活躍されているエンジニアの方と一緒に議論しながら働く経験ができたことは自分のキャリアにとってとてもプラスになったことは間違いありません。

 

開発体験をあげるということ

今までもろもろの自動化や効率化による悪影響を受けた経験あまりなかったのですが、今回の開発では負債となってしまっている部分に直面する機会が何度かあり開発体験を向上させる意味を身を持って知ることができました。

それほど規模が大きい訳でもないJavaScriptのbuildに30秒以上かかっていたり、デプロイやテストが分離されていて効率が悪かったりといったことがあったので、自分から手を上げて調査し改善するという経験を積むことができました。

コストと効果のトレードオフを考えどこまでやるかを議論しながら実装し開発体験を向上させられたのはとても良い経験です。(最終的にはbuild時間を20倍程度短縮しデプロイもフロントのコードはCicleCIからできるようにしました。)

 

JavaScript

もともとフロントが得意だったということもありチームの中でもリードできるぐらいには理解していたのですが、それでも普段とは違う広告という環境下で学ぶことも多くありました。

特に新しい広告フォーマットのテスト配信をしているときにJavaScriptのメモリリークが発覚したときはとても驚きました。学生の中ではそこそこにJavaScriptのコードを書いてきましたが意識すらしたことがありませんでした。GCがるとはいえJavaScriptでもメモリ周りは侮れないんだなぁと。。

また、JavaScriptのランタイム時のメトリクスの可視化の方法など今まで使ったことのなかったデバッグツールの機能を使うことができてそれも勉強になりました。昨今のフロントエンドは肥大化しがちでそのパフォーマンス改善にはもともと興味があったので、思いもよらず触れることができて嬉しかったです。

 

最後に

実は「サーバーサイドの開発をしたい」という当初の目標は達成することができませんでした。その代わりに多くのことを学ぶことができたので、その点に関しては全く不満には思っていませんし、開発する中で自分に足りない部分も見えてきたのでそれだけで十分でした。

そして、これだけのいい経験をさせていただいたLODEOのメンバーの方には大変感謝しています。

1ヶ月という短い期間でしたがお世話になりました!ありがとうございました!