【Devチーム紹介_スペシャルインタビュー】技術顧問 前島真一さん | Dev Driven 開発・デザインチーム 【Devチーム紹介_スペシャルインタビュー】技術顧問 前島真一さん | 働くひとと組織の健康を創る iCARE

BLOG

【Devチーム紹介_スペシャルインタビュー】技術顧問 前島真一さん

こんにちは!UIデザイナーのじゃっきーです。

今回はスペシャル!必見!企画!です!
弊社の技術顧問でいらっしゃいます、前島真一さんにインタビューしてきました。
インタビュアーとして、サーバサイドエンジニアのでんでんさんとこっしーさんも参加してくださり、とても内容濃ゆい回になりました。


(左:こっしーさん🐶  右:でんでんさん🐱)

前島さんの過去や、技術者としての成長の仕方のヒントがみっちり詰まっています!必見!です!(2回目)

---技術顧問に就任されるまでの経緯を教えてください

3年くらい前に、当時CTOだった石野さんからオファーを受けたんですね。
でもその時は忙しかったので、ちょっと難しいですという話をしました。

その後も石野さんと共通の知り合いがいたので、その人を仲介して連絡を取り合ってました。僕の仕事って知り合い経由で受けることが多いので。
半年くらい経って時間ができたので、お手伝いしますよと連絡しました。

それから3年くらい関わっています。今のiCARE DEVチームの中だと古参って感じですね。ま、ベンチャーあるあるですけど、1年いたら古参みたいな感じ。

---なるほど。当時の弊社はどんな環境だったんでしょう。

お手伝いし始めてからコードをざっと見て、整理されてないな〜っていうのを感じて...とくにfeature spec。end to endのテストが足りてないな...というかほぼ無い状態だったので、これはいかんなと。
Railsのバージョンもその当時は5.0で、バージョン上げたいけどテストがないから安心して上げられないという状態だったんですね。なのでまずはテストを書ける環境を整えて、社員エンジニアの皆さんがコードを書いてくださって、カバレッジが上がってきたのでバージョンアップだ!ということで実現することができました。

---大変な状態だったんですね...。そういえば前島さんは、弊社がペアプロを導入するきっかけにもなったと伺ってます。

そうですそうです。今はコロナの関係で全然出社できていないですけど、それ以前は渋谷のオフィスに毎週通っていて、何度かペアプロしましたね。
普通にレビューするよりも手っ取り早いというか、効率的に知見が伝えられるんですよね。

でん🐱:前島さんがペアプロについて気をつけていることなどあれば、ぜひ聞きたいです。どういう層というか...ジュニアに力を入れた方がいいのか、リーダー層にやってもらったほうがいいのか、など。

組み合わせってことであれば、最初はペアプロに慣れている人を絡めてやったほうがいいかなと思います。
ペアプロってそんなに難しくはないんですけど、最初は「え?どうやったらいいの?」ってなると思うので。そこをある程度経験がある人がリードできるとスムーズかなと思います。で、どこでつまるかっていうと、特にドライバー(実際にコード書く人)が何をしようとしているかっていうのを、ナビゲーター(見てる側の人)にちゃんと伝えられるかというところ。ここは慣れが必要で、要はその頭の中を全部「こういうことを考えて、こうしようとしてます」っていうのを説明しなければいけない。そこが壁で、あとはそこができれば、ジュニア同士でもペアプロしてもそれほど問題ないのかなと、個人的には思います。

気をつけることは、適度に休憩を入れることですね。めちゃくちゃ頭がつかれるので 笑
コーディングより全然疲れますね。その代わり進みも早いんですけど。普通に2人で別々に書くより早いんじゃないですかね。

あ、僕フリーランスで活動している時に、とある会社でずっとペアプロをやり続けるってことがあって、8時間くらい、1日中ペアプロしてたんですよ。すごい進むんです。けどすごいつかれましたね...

こし🐶:前島さんが以前ご自身のslackで「ここめちゃくちゃリファクタリングしたいな」ということがあったと思うんですけど、そういうのをみんなでリアルタイムコードリーディング会みたいなのもやってみたいです!前島さんがどういうところに気を使ってリファクタされているのかとかも、めっちゃ知りたいです。

お〜いいですよ、ぜひぜひやりましょう。

こし🐶:おお...(感動)

---前島さんが弊社にもたらしたものって本当に大きいですよね。meetupにも登壇してくださってますし。

2回か3回か出たような気がします。iCAREさんすごく頑張ってますよね。

---そうなんです!でも、前島さんがいらっしゃる回は参加者がとても増えるイメージがあります。

お題がキャッチーだったというのが大きいのかなって思います。
たしかRailsの最新機能を紹介するとか、もしくはBasecamp社製の新しいベースフレームワークの話をするとか、割とみんなが興味を持ちやすいトピックを選んだので、それで人が集まったって感じですかね。

---イベントに登壇されることって多いんですか?

最近はちょっと減ってるんですが…今子育て真っ最中なので、あんまり頑張って登壇するってことはないですね。今3歳と1歳です。かわいいですけど、大変です。笑

でん🐱:うれしい悩みですね。話は戻るのですが、僕が前島さんを知ったきっかけはイベントでした。
コロナ前だったんで、めっちゃでかい会場に200人くらい集まっていて。

おお、ありがとうございます。笑

---そうそう、前島さんは技術だけではなく、組織や文化にもコミットしてくださってますよね。リードエンジニアとも1on1とかしてくださってたとか。

1on1というか、お悩み相談ですね。エンジニアとして成長するにはどうしたらいいのか?どういうことを勉強していったらいいのか?ということを聞かれたと思います。
こういう本がいいですよとか、書籍の紹介をした気がします。あまり覚えていないですが。笑
僕はでできる範囲のことならなんでもやるので、今社内にいらっしゃる方も、言っていただければ喜んで応じますよ。

---なんと!贅沢すぎる。ランニングなんかもご一緒したんですよね?

去年の年末に、マザー牧場でトレイルランというのがあって、iCAREのみなさんと一緒に参加しました。としさんや、すんさんと参加して、20kmだったかな。距離もそこそこで。
趣味でジョギングはちょくちょくしていたので、今も家の近くとかをよく走ってるんですけど、たまにマラソン大会とかで10kmやハーフを走ってます。フルはないですけど...体に悪いと思うんで 笑 ハーフがギリギリかな。


(真ん中右のかわいいお帽子が前島さん)


それでは、ここからは弊社エンジニアのでんでんさん/こっしーさんとの対談タイムです。順番に前島さんに質問・相談させていただきます!


前島さんは現在のポジションまでにどんなヒストリーを経たか

でん🐱:結構みんな気になるところかなと思うんですが、どういう経緯で1開発者を経て、技術顧問という立場になったのかというのを教えていただきたいです!もし大学から勉強していたなどあれば、その辺りも含めてお伺いできたら嬉しいです。

大学は情報学科だったので、そこで最低限のプログラミングなどの知識を得ていたんですが、そこから開発がしたいなと思って、某SIerの会社に入ったんですね。ところが、開発職として入社したはずなのに、配属ガチャでエクセル、パワポ、ワードの部署に配属されて、3年弱くらいエクセルパワポワードマンをやってました。頑張ってはいたんですが、やっぱり何か違うなと思って、辞めて...そこからプログラマーとして仕事をするようになりました。

それでRubyを使っている会社に入社したんですね。あの頃はRails2.0が出たくらいで、Rubyは1.8.6かな...。当時はRubyを仕事で使うっていうのはあまりメジャーではなかったんです。たまたまそこでRubyを使い始めて、その会社はまた当時では珍しくフルリモートの会社だったんですね。
なので1人でひたすら勉強して、それをブログに書きつつ仕事をするっていうのをずっとやっていたんです。当時いっぱいブログを書いていて、それでいろんな人に認知されるようになったのかなと思います。

それを3年強くらい続けて、フルリモートで1人でプロジェクトを進めるみたいなことが多かったので、「これは1人でやっても同じでは?」と思って。辞めてフリーランスになったんですね。
フリーランスになってからはいろんな会社の開発メンバーとして、開発に携わってました。 だから会社員だった時よりも、フリーランスになってからの方が「チーム開発」をするっていう感じでしたね。笑
そのなかでさっき言ってた、ずっとペアプロする会社のお手伝いをしました。

それが何年続けてたかは覚えてないですけど、続けていく中でパーフェクト Ruby on Railsを書いたりしました。当時はフリーランスなので、仕事と仕事の合間を敢えて自分で作って、1年で数ヶ月くらい...2,3ヶ月ですかね、それくらい休みを作って、自分の好きな開発をしたりしていました。

でも4年とか5年とか続けて、飽きてきたんですよね。プロジェクトの普通のコードを書くっていうのが、あまり頭を使わずスッとできるようになってくるわけです。ずっと同じことをやっているわけですから。
で、なんか別のことをやりたいなと思った時に、これまで学んできた自分の知見を、他の人に伝えるのはどうかって思ったんですね。

自分1人が5のバリューを出すよりも、10人のバリューを1ずつ増やした方が大きなバリューを出せるのでは?と。

で、やってみようと思って、当時、自分でGinza.rbというコミュニティをやっていたのもあって、知り合いは結構いたんです。それで知り合いに「こんなことやろうと思ってるんすよ」というのを声かけをしたら、そのうちの、、、あ、大久保さんだ。

でん🐱:えっ大久保さん!?(大久保さんは今月入社した弊社のアドバイザーです)

そうですそうです。その大久保さんからお仕事紹介してもらって、そこから技術顧問業っていうキャリアがスタートしました。徐々にお仕事増やして今に至るって感じですね

でん🐱:ちなみにパーフェクト Ruby on Railsはどういう経緯で執筆し始めたんですか?

あ、それは本当にたまたま誘われたっていう。
当時、某ゲーム開発会社さんをお手伝いしていて、そこに同じパーフェクト Ruby on Railsの著者である、うずらさんがいらっしゃったんですね。で、昼飯をエンジニア何人かで食べていた時に、「技術書興味ないですか?」って言われて、僕は査読の話だと思ったんですね。なので「ああ、いいですよ〜」って気軽に返事したら、執筆の方だったって言う。笑

でん🐱:そんなことが...!なるほど。

技術顧問になってから、現在までの大きな変化

こし🐶:今何社くらいのお手伝いをしているのかと、技術顧問を始める前と始めた後でどんな変化があったのか伺いたいです。

そうですね。現在は5社見ています。

変化したことだと、仕事内容が大きく変わりましたね。
自分が手を動かすことはやっぱり減りました。顧問をやる前は1社を見ることが多かったんですが、今は5社を分散して見ているので、自分のコンテキストスイッチングがむちゃくちゃ大変です。「この話この会社にしたっけ?してないっけ?」みたいなのは忘れそうになるときもあります。
あとは関わる人もめちゃくちゃ増えたので、人の名前と顔を覚えるにも一苦労です。そういう細かいところはいっぱいありますね。

こし🐶:なるほど。ありがとうございます!

未来の話

こし🐶:お手伝いされている中にも大規模な企業さんがいらっしゃると思うのですが、iCAREも大きくなるために、エンジニアチームはどう成長していけばいいのか、というのをお伺いしたいです。

そうですね、iCAREさんは今とても風通しの良い文化を持っていると思うので、それを維持しつつ大きくなっていくにはどうすればいいかって話だと思うんです。
まずは採用だと思うんですよね。カルチャーマッチする人、かつ技術がある、もしくはこれから伸びていくであろう人をいかに採用できるか。そこですよね。そこが一番大きいと個人的には思っています。

こし🐶:確かに今、弊社のVPoEやCTOも、めちゃくちゃ血相変えて採用活動しています。

ですよね。まあでも、VPoEやCTOだけじゃなく、採用ってみんなでするものだと思うので、みんなで頑張ってください、僕もできる範囲でお手伝いするので。

こし🐶:ありがとうございます!心強いです。

みんなでやっていきましょう。

でん🐱:それでいうと、こうすると技術が伸びるというのはあるんでしょうか?
Railsって勉強すればするほど、そんなに簡単なフレームワークじゃないと感じています。作りたいものは雑には作れるんですけど、「綺麗に作る」となるとRailsは途端に難しくなる印象があるんです。Railsを使いこなせるようになるには、どうすればいいのか聞きたいです。

そうですね...Railsっていっぱい機能を持っていて、かつそのサードパーティのgemとか使うと、欲しい機能…特にコードをそんなに書かずに作ることができてしまう。なんか動くのを作る、って言うのはやりやすいと思うんです。でも結局、それって裏側で「何がどうなった結果その機能ができた」っていうのを学ばないで「できた!OK次」みたいな感じでいってしまう。そうすると成長しないと思うので、なぜこれがこう動いているのかっていうのをちゃんと調べる...まあ時間の制約もあるとは思うんですけど、できる範囲で都度深堀りしていくことができると伸びるのかなと思います。

特にその一次情報を見にいくのが一番いいんですけど。公式のREADMEを見にいくとか。一次情報に近ければ近いほど正しいことが書いてあるので、それを見てきちんと深いところで理解するって言うのを積み重ねていくと伸びるのかなと思いますね。

組織が急拡大する時に気をつけること/よく起こること

でん🐱:今開発人数を倍以上にどんどん増やしていくというフェーズなんです。前島さんが今まで見てきた会社で、いろんな組織の規模の変化があったと思うんですが、その中で急拡大する組織で気をつけた方がいいことってなにかありますか?

そうですね、人数も少なくて行動規模も小さければ、1人で全体を把握してるっていう人もいると思うんですが、それがだんだん難しくなっていくわけですよね。目が届かないところが出てきて、その目が届かないところに「なんじゃこりゃ」っていうコードが入ってくる可能性があるわけですよ。セキュリティ的にまずいとか、潜在的なバグが生まれているとか。

そういったものを個人の力だと全部見るって言うのは難しくなってくるので、チームや仕組みでどうにかそれを減らしていかないと、どこかで「ドカーン!」っていって「ギャー」となるわけです。
同じような話ですけど、すごく気の利く人はいろんなボールを拾って、いろんな雑務をこなしてくれます。それが規模が拡大することで全部は無理になって、こぼれてくるようになったり、もしくはその人が辞めてしまったせいで、そこら中にいっぱいボールが落ちていることになると。
それについても組織で仕組みでやるとか、強い人いっぱい入れてそもそもボールが溢れないようにするとか、いろいろあると思うんですけど、基本的にはチームでやるというように転換していかないといけない。そうしないとだんだん辛くなっていくので。

でん🐱:さっきの“全部が把握しきれなくて、ある日変なものが入ってドーンと爆発する”というのは、Railsでは、このような状況が出始めると危ないというのはあったりするんですか?例えばよくわからないサービスクラスが増えてくるとか...

サービスクラスに限らないですけど…既存のコードをコピペするっていうのが増えてくると危ないでしょうね。
ありがちですよね。「よくわからないけど他のところでちゃんと動いているからコピペすれば、まあ大丈夫だろう」みたいな。
で、大丈夫だろうというところを編集し始めると、どんどんカオスになっていくという。。

でん🐱:うー、心にくる話だな...。

閑話休題

こし🐶:実は、僕Gimeiにプルリクを出したことがありまして…市町村を編集したいっていう…あれ僕だったんです!…笑

え!おお!本当ですか!すごい嬉しいです。
あ、今見つけました。ほんとだ。ありがとうございます。すごい助かってます。

こし🐶:個人のプロダクトでもテストデータ作る時に使ったりしてて、また使わせていただきます。

でん🐱:たからばこもめっちゃおもしろいんで使ってください。

笑 ありますねー。

でん🐱:EC系のシステムを扱ってる時に、たからばこっていうgemを使ってたんですけど、前島さんが作ってる。

使ってたんですね?すごいな。

でん🐱:商品名が「風神の剣」とかあるんですよ。めっちゃ強そうなECショップができるんですよ。

ゲーム会社でお手伝いをしていた時に、テストデータとしてランダムなゲームのアイテムを生成できないかなと考えて、Gimeiと同じような仕組みで「頭になる言葉」と剣と盾とかを組み合わせてランダムでワードをつくるっていう「たからばこ」っていうgemをつくったんですね。

でん🐱:がっつりシードデータとかに使ってましたね。

いやあ、冗談半分で作ったんですけど、ちゃんと使われてるみたいでよかったです。

最後に、iCAREのいいところを教えてください...!

風通しのいいところだと感じます。みんな仲が良くて経営陣とも距離が近いので話が通しやすい。開発陣とビジネスサイドの境もあまりないので、ちゃんとコミュニケーション取れそうなのもいいと思いますよ。


いかがだったでしょうか?
iCAREメンバーのめちゃくちゃ緊張しながらもはしゃいでいる感、
それに暖かく答えてくださる前島さんの経験値/レベルの高さがありありと伝わったんじゃ無いかと思います!

ここでiCAREメンバー一押し!いやゴリ押ししたい!前島さんが作られているサービスを紹介させてください。

見てください、この一目で記憶できるかわいさのライオンアイコン...!かわいい...♡

こちらは「サバンナ」という、Webエンジニアやデザイナーが、友達同士でおしごと情報を共有できるサービスです。
仕事や仕事探しをもっと楽しく、もっと便利にしたいという思いから生まれたそうなんです。素敵すぎますね。

私達は日々の大半を仕事に費やしています。毎日仕事をしていれば、多かれ少なかれ仕事に関して話したいことが出てきますよね?もし新しい仕事を探していればなおさら誰かと話したいはず。サバンナは、そんな仕事に関するコミュニケーションの場を提供します。

友達に対して日報を公開したり、友達が最近どんな仕事しているのかを見たり、お仕事を募集できたりします。 プロジェクトベースで動くことが多いフリーランスのエンジニアを中心に、そうでない人にも使われています。

サバンナを通じて、我々の仕事がもっと楽しいものになり、さらにもっと自然によい職場や仲間を求めて動けるようになることが、世の中にさらなる価値を生み出すことに繋がると考えています。

こちらのサービス、安心安全の「招待制サービス」となっており、既にアカウントを持っていらっしゃる方から招待を受けないと残念ながら使用できません。

しかし!なんと!iCAREでは前島さんから招待が受けられます!

なので使ってみたいな〜という方は、ぜひiCAREに遊びに来てくださいね!
こちらからいつでも!お待ちしておりま〜す