postings「実装で頑張らない。経歴:大学時代に映画「ソーシャルネットワーク」をみてエンジニアを志す。新卒でHRテックのベンチャー企業に入社し、新規事業の開発を中心に担当。開発言語オタクで、言語の思想などに思いを馳せるのが好き。趣味でScala、Golang、Kotlinなど最新の技術を使う。業務で使用する言語・技術:HTML・CSS・JavaScript(Vue)経歴:SI業界で金融や物流企業の基幹システムをJavaで作る仕事からキャリアをスタート。経歴:サイバーエージェント、クックパッドなどで様々な新規サービスの立ち上げ、運用に従事。その後フリーランスとしてStripe.Inc、株式会社マナボ、など多数の企業のプロダクトのデザインやデザイナーの育成に携わる。特技はイラストで、本の挿絵なども手がける。visa開発チームの雰囲気を知ってもらおうということで皆さんにインタビューさせてもらいます!よろしくおねがいします。みなさんが今何しているかをざっくり教えてください!馬場:カイハツシテマス。アル:知ってます!(一同笑い)土谷:気を取り直して(笑)今は企業版サービスのリニューアルを行っています。visaだと早いタイミングで限界が来るよねってことで、フルリニューアルをしているところです。アル:0から作り直している感じなんですか?馬場:フロントエンドは全く0から作っています。土谷:読んでないですね。(笑)全く別物を作ろうとしてます。馬場:バックエンドに関しては、データベースはもとのものを残しつつ、8割くらいは作り変えています。今後の拡張性のことを考えて設計の方針を切り替え、API中心の設計に変えていっています。Wayな、Railsのサーバー上で裏側も表側も動く割とオーソドックスな設計でした。今はSPAといって、裏側と表側で独立して動くような設計にしています。コードの管理も別々です。アル:それは今後の拡張性とかを考えた時にそうした方がいいという風になったんですか?土谷:そうですね。あと、今のチームは僕がフロントエンド、バックエンドはばばーる(馬場)といったように専門領域がはっきり分かれているので、独立して開発ができる分、作業がしやすくなりました。馬場:滅茶苦茶やりやすくなりましたよね。土谷:今は西垣さん、僕、ばばーるの3人で開発していて、ちょうど座席順にデザイン↔フロントエンド↔バックエンドという風になっているので、コミュニケーションもすごい取りやすいですね。僕はフロントエンドなのでデザインを担当する西垣さんとも、バックエンド担当のばばーるとも話をする中間管理職見たいな感じですね(笑)馬場:僕は土谷さんにこのデータちょうだい!って言われたのに対してへいっ!ってひたすら返すデータを作り続けてます!土谷:僕はばばーると西垣さんの両方の方を向いて話しながら仕事してますね。馬場:僕はあっち向いて仕事してますね。アル:そこ誰がいるんですか?(笑)馬場:データベース。(一同笑い)出社は週2~3回。集中して開発できる環境づくりにこだわるアル:うちの会社って、リモート結構多いじゃないですか。土谷:開発チームはみんな週3か週2ですね。アル:開発するにあたって一緒に進めないといけないところも多いと思うんですが、そのへんはどうしているんですか?全員:最近はSlackコールですね。土谷:Slackコールで全員別の場所からつないだりしてますね。馬場:全員自宅からとかも多いです。この前も僕がいきなり、「ヘルプです!」って言って集合かけましたよね(笑)土谷:リモートだからといって、悩んだら次会った時に解決とかはなくて、その場で解決してますね。アル:じゃあ、みなさんリモートで独立して開発はしているけど、コミュニケーションは対面でやっているのとあんまり変わらないんですね!全員:変わらないですね。アル:リモートでありがたいことってありますか?西垣:圧倒的に集中しやすいです!うちの会社仲が良すぎて、一緒にいるとつい雑談がはかどってしまうので。(笑)アル:ちょっと燃料投下すると30分くらい話してますよね(笑)土谷:みんなサービス精神がある人が多いので、ノッていかなきゃ!期待を超えなきゃ!って感じですね。笑アル:よく馬場さんの藤原竜也とか降臨してますよね。゙アル:集中できるってことですね。馬場:あとは普通に出勤時間いらないんで、その分長く開発時間が取れるっていうのはありがたいですね。僕は嫁が家にいるので、早めに開発始めて、夜ご飯は家で嫁と一緒に食べて、みたいな時間も取れてます。アル:勤怠はSlackで管理してますよね。おはって打つと出勤になって、おつって打つと退勤になるやつ。あれって退勤したあともPC触ってたりするんですか?全員:触りがちですね(笑)西垣:家だと際限なくやりがちですね。家にいるとやっちゃえーっていうノリで、エンドレスにやってしまったりしますね。アル:波もありますからね〜、調子の波が夜に来るとか。西垣:そうそうそう!私はリモートで一番いいのはそこかもしれない。自分がノッてきたタイミングで誰にも邪魔されずに作業できるから、調子がいい時にバーっと進められるのがいいです。馬場:その日によって、今日コードかけるなーって日とかありますからね。書けない日は全く捗らない。リモート推奨だからこそ、計画は対面にこだわってしっかり立てるアル:リモートでよく不安要素に挙げられがちな、成果の管理ってどうしてますか?土谷:僕たちは今スクラムという手法を取り入れています。2週間に1回開発タスクの見積もりを行って、その後は一日に一回の進捗の報告を行い、2週間スパンで更に振り返って次のタスクの見積もりを行うというものです。カンバンっていう、全部のタスクが並んでいる場所があり、そこでみんなが何をしているかを可視化しています。誰が何やっているのかがわからないということはないですね。馬場:向こう2週間で何やります、っていうのはリモートではなく必ず対面でガッツリ丸1日くらいかけてやるようにしています。土谷:今はフルリニューアルで割と新規開発に近いので、見積もりの通りに進まないことも多いですが、だんだん精度は上がってきてますね。visaの開発に関しては、アルさんにプロダクトオーナーという形でスクラムに入っていただいているので、結構密に連携取れていると思います。西垣:今のメンバーは指示がないと動かない人がいなくて、全員自立してるのでやりやすいですね。馬場:全員推進力ありますからね。土谷:推進力といえば、この会社は結構ぶっこみ文化というか、なんでも勝手にやっちゃうことが多いですね。(笑)西垣:この前わたし、勝手にコーポレートサイトリニューアルしようとしちゃいました(笑)アル:あれは結構びっくりしました(笑)馬場:なんか急に、「サイト出来たからドメイン変えて」って言われて「えっ?!」みたいな。やっちゃいなよ!」って言われたんで、やっちゃいました(笑)土谷:もっとかっこよくしたい!っていう一心でね。「リリースしちゃいましょ!」ってばばーるも煽ってたし(笑)アル:一応3人での合意はあったんですね(笑)土谷:ずっと開発してて集中力切れた時に、そういうぶっこみタスクというか、遊べるタスクを自分の中に持っておくと、そこに気持ちを切り替えていけるのでやりやすくて。visaのリニューアルって基本的にはルールが決まっている中でデザインをするんですが、それだけやっていると飽きてしまうので、エラーページのデザインにはイラストをふんだんに使って、バックストーリーも用意して、すごくこだわりました(笑)リニューアル版のエラーページ。アル:あの犬が宇宙にさらわれるやつですよね(笑)土谷:あれは色々みんなの意見も反映されてますからね。馬場:途中完全に映画の話してましたよね。土谷:2001年宇宙の旅に出てくるモノリスが出てきたりしてますね。アル:遊び心があって素敵です!「実装で頑張らない。設計を頑張る」アル:開発チームを見てて思うんですが、結構いろんなことがノリで決まってません?動けばいいだろ!みたいな(笑)全員:いやいやいやいや!!!馬場:動けばいいは嘘ですよ!西垣:口では言ってるけどね!ちゃんとやってるよ!馬場:ちなみに僕ら、設計には滅茶苦茶こだわってます。今は既存サービスのリニューアルなので、データの持ち方はすでに決まっていて、動かせる範囲に限界はあるのですが、このデータの出し方すると動きが遅くなるけど、こういう出し方したら動き早くなるみたいなことを一日中議論したりしてます。西垣:デザインにおいても、そういう意見をしっかり聞いてデザインに落とし込んで、色んなパターンを出して、違和感がないかどうかの確認にはかなり気を使っています。僕たちは「実装で頑張らない。設計を頑張る」というのを標榜しているんですよ。いうのも、開発って基本頑張ればコードでなんとかなるんですよ。新しく入ったエンジニアの人がコードを読んでキャッチアップする時に、それだと何やってるのかわからないと思うんですよね。それが表側から裏側まで、一貫したルールで綺麗に書かれていれば、見たままのコードなので一目瞭然ですし、キャッチアップも早くなります。結果的に開発のスピードアップにもつながると思うんですよね。土谷:リモートでやっている時は基本一人ですが、設計の部分だけはあえて対面にこだわってしっかり決めて、実装は集中してガーッと進めるような感じですね。馬場:だからこそ開発スピードが上がるんですよね。設計の話をしっかりしておいて、レビューの段階では何も上がってこないのが理想です。アル:明確にリモートと対面で目的を分けている感じなんですね。土谷:基本的に実装の相談をすることはないですね。