STORES Product Blog

こだわりを持ったお商売を支える「STORES」のテクノロジー部門のメンバーによるブログです。

本を読むよりもコードを読んだほうがいい。ベストプラクティスよりベストを見よう【ep.19 #論より動くもの .fm】

CTO 藤村がホストするPodcast、論より動くもの.fmの第19回を公開しました。今回は藤村が3月9日に登壇した『いかにして文系新卒エンジニアが “基礎” を大事にするCTOになったのか - CTO名鑑 vol.2』でいただいた質問に答えました。

 

 

論より動くもの.fmはSpotifyApple Podcastで配信しています。フォローしていただくと、新エピソード公開時には自動で配信されますので、ぜひフォローしてください。

 

テキストで読みたい方は下記からご覧ください。

Q. プログラミングの知識が追いついていないと感じる時、何を心がけるといいですか?
A. 勉強して手を動かす以外解決策はない

藤村:こんにちは、論より動くもの.fmです。論より動くもの.fmは、STORES のCTO 藤村が技術とか技術じゃないことについてざっくばらんに話すPodcastです。先日CTO名鑑というイベントに登壇しました。僕がCTOとして、何を考えて、どうなって、何を大事にしているのか、大きな問いが大切だよね、という話をしたんですけど、そのイベント中に質問をいただいたんですね。

まつもとりーさんとのトークセッションで質問に答えていたんですけど、答えられなかった質問があるので、お答えしようと思っております。お話の相手として技術広報のえんじぇるさんにも来てもらっています。えんじぇるさん、こんにちは。

えん:こんにちは。今日もよろしくお願いします。

藤村:お願いします。

えん:早速質問を読みます。

プログラミングは好きなのですが、知識が追いついていないと感じることが多々あります。何を心がけるとよいでしょうか。

藤村:僕もすべてのことについて知識が追いついてないんですよね。なので、もう勉強するしかないです。勉強して手を動かす以外に、ここへの解決策はないような気がする。身も蓋もない答えで終わってしまった。

えん:めっちゃわかるんです。この1年ずっとダンスを習ってるんですけど、マジで全然うまくならないんですよね。

藤村:うまくなると違う下手さがわかりますよね。前よりできるようになると、俺ここはできてねえな、と。うまくなったり、知識が増えたりして、自分がやってることへの解像度が上がると、また別の新たなもっと重大な欠陥が見つかるみたいなのは、何をやっててもそうかなと。

えん:そうですよね。

藤村:プログラミングは、知識問題もあれば応用問題もたくさんある、いわゆる知的労働なんですよね。本屋さんに行くと読んだことない本がいっぱい置いてあるけど、たぶん全部読めないじゃないですか。だから、知識が追いつくってことは人類生きてる以上ないっていう可能性が高いなって気がするんですよね。

えん:なるほどなー。

藤村:なので、追いつくことはない。追いつくことはないから勉強し続けるか、ここでいいかって諦めるかは、たぶんみなさん人それぞれだと思うんですけど、僕はうまくできるようになりたいし、シンプルにどうなっているか知りたいことが多いんで、本を読んだり、実践したりしてるっていう。

えん:つまり、何を心がけるとよいでしょうかっていう問いに対しては「勉強しましょう」っていう。

藤村:それしかないような気がするんだよな。

えん:さっきのダンスの話もですが、好きだけどうまくならないなって思うんですけど。練習する以外うまくなる方法が全くないから、練習するしかないなって感じなんですよね。

周辺領域の知識をつけることが結果的に近道になる

藤村:もうちょっと実践的なアドバイスだと、周辺領域の知識をつけるのは、結果的に遠回りのように見えて近道だったりすることも多いと思ってます。

プログラミングだと、コンピュータの理論とか科学っぽいところがあり、一方では基本的に仕事でプログラミングをやると人が関わるじゃないですか。なので、組織の話もあったり、また違う重要な角度として、NPOとかボランティアとか趣味でやってる以外は基本仕事なんで、事業や会社っていう軸もあるじゃないですか。そこら辺の自分がここはよくわかってないなというところを理解すると、スルッとこういうことだったのか、としっくりくることはあるような気がしますね。

音楽の勉強するときに、音楽理論も勉強するし、音楽ビジネスも勉強するし、一方で機材の使い方も勉強するみたいな、そういう感じ。運動も多分いろいろと周辺ジャンルがあるじゃないですか。

えん:はい。

藤村:そこら辺をやっておくと、気をとられるものが少なくなるというか、自分の中でしっくりこないものが減ると考えが楽になるので、頭の身のこなしみたいなのが楽になる。周辺領域の知識をつけるとかは、アドバイスとして一個あるかもしれないですね。

えん:実用的なアドバイスだと思います。

藤村:あとはなんだろうな。プログラミングに関しては、僕は本を読むよりもコードを読んだほうがいいと思ってるんですよね。本って、うまくコードを書く方法がいろんな角度からいっぱい載ってたりするんですよ。その中には、良いものも、悪いものも混ざってると思うんですけど、とにかくいいコードを書く方法が書いてある。でも、その前にオープンソースで世の中に山ほど出ている、良いコードを読んだほうがよっぽど勉強になるんじゃないかなって思ってますね。

えん:なるほど。

藤村:ベストプラクティスより、ベストのものを見たほうがいいと思うですよね。「ビートルズみたいな曲を作りたいんですよね。ビートルズの解説ブログめっちゃ読んでるんですよね」て、おかしいじゃないですか。

えん:確かに。

藤村:そういうのがマジでプログラミングは多いなって思います。「でもこのビートルズの解釈があまりよくないと思ってて、こういう部分、Sgt. Pepper's Lonely Hearts Club Bandの解釈はこうだと思うんですよ」「ところで、Sgt. Pepper'sは何回聞いた?」「いや、YouTubeでさわりだけ」みたいな。そういう風にならないようにしないといけないと思うんですよ。ちなみに僕はビートルズが全く好きじゃないから、全然聞いてないっていうのはあるけど。

えん:すごいわかりやすい例え話ですね。

藤村:解釈論より、ビートルズを真似した曲を作ってみるほうが早いんじゃないかなと思いますけどね。

えん:まず本物をたくさん吸収したほうがええやろっていう。

藤村:これはある種スパルタな考えかもしれないですけど、例えばビートルズみたいな曲を作りたいってなったら、ビートルズ完全入門みたいな本は一切読まないで、ビートルズ自体を聞くのと、あとは音楽理論みたいなのを勉強したほうがいいだろうって思って、音楽理論を勉強することを僕はやりがちなんで。

プログラミングでいうと、オープンソースのそれに類するコードを見たりするのと、ドキュメント読んだりするのと、あとはそれに必要な理論、いろいろあるんですけど、そういうのを勉強するって感じです。だから、ビートルズ完全入門みたいな本は、僕のものの考え方のスタイルとして、そういうのに興味がない、楽しめないっていうだけなのかもしれないですけど、あんまり読まないですね。

えん:なるほどな。Rails Girlsに行くことに備えて、私の手元に本があるんですけど、これは読まずに行った方がいい?

藤村:どんな本ですか?

えん:『現場で使える Ruby on Rails 5速習実践ガイド』 があります。あと『ルビィのぼうけん』もあります。

藤村:『ルビィのぼうけん』を読んだほうがいいんじゃないですかね。

えん:じゃあ、『ルビィのぼうけん』から頑張ります。子供向けだから頑張りますとかじゃなく、読めるだろって感じだと思うんですけど。

藤村:あとはRailsだと、Railsガイドっていうオフィシャルのドキュメントがすさまじい量があって、めちゃくちゃよくできてるので、Railsガイドを読んだほうがいいですね。

えん:わかりました。じゃあ、まず『ルビィのぼうけん』をちゃんと読むところから始めて、その次Railsガイドをやりますね。

藤村:意外と話が広がったな、よかった。

Q. チームを強くするために何をしていますか?
A. 事業に価値があると信じ、技術的にこうすべきというストーリーを持つこと

えん:次の質問にいっても大丈夫ですか?

藤村:はい。

えん:続いての質問にいきます。

“チームを強くするために何をされていますか?”

藤村:これは期待されている答えを返せるかが怪しいなと思うんですけど、僕の今の仕事って、直接見てるチームもあるんですけど、それはかなり例外で、基本的に間接マネジメントなんですよね。僕の直接見ているチームもあるんですけど、そっちよりもどちらかというと間接的に人に影響力を及ぼす部分がメインなんですよ。大きい方向性を考えたり、みんなと話して決めたりとか。なので、そういう立場から見てチームを強くするために何をしているかっていうと、例えば、1on1をこうしてます、目標設定はどうです、一緒にペアプロしてますとか、そういうのは今あんまりないんですよね。

僕の立場、今CTOっていう仕事をしていて、隣にVPoEっていう組織をメインに見てる人がいて、僕らの場合は、CTOが技術的なところのディレクション、VPoEが組織のディレクションっていう大きな分担になってるんですね。

で、僕が何やってるかっていうと、この質問を見てパッと思った、および、やっぱり一番近道だよなって思ってるのは、この事業の価値がある、と自分が強く思うこと。整合性がある形で、自分がこの事業に価値があるなって思うこと。その事業をやる上で、技術的に本当に必要なやり方でやるにはこうするべき、という確固たるストーリーを持っておく。そしてそれを折に触れてチームのみんなに伝える。直接にしろ間接にしろ。

でも、CTOがこの事業は微妙なんだよなって思ってるとか、技術的にはこうはいかないほうがいいんだけど、こうするしかないからまあこれでいいかってなってたら、結構テンション下がるじゃないですか。

えん:やばいテンション下がりますね。

藤村:やばいくらい下がるじゃないですか。仕事も微妙、事業も微妙だし、技術的な方向性も微妙ってなったら、マジでいやだと思うんですよ。ここは大丈夫だね、これだったらいいでしょ、いけるっしょ、面白いでしょ、この事業やる価値あるでしょ。これ技術的にもこれだったらいい方向でしょ、って思えるようにし続けるために、何か考えたり話したり、何か発表したりするっていうのが、CTOは重要なんじゃないって思いますね。チームを強くするためには。具が面白くなかったら、つらいですかね。

えん:確かに。面白くないって思ってたら、それ伝わっちゃいますもんね。

藤村:伝わりますよ、バレますよ、やっぱ。自分がちゃんと心からそう思えるくらい、思考しておくとかいうか、自分の心構えっていうか、自分が素直にそう思える状況を作るために努力してるかもしれないですね。努力してるのもあるし、そうなるような身のこなしをしているのも結構あるかもしれないです。

僕がこの会社で働いてるのは、このJust for Funってミッションが、自分の個人的な人生にとっても価値があるし、個人的な価値観としても価値があって、全力で追いかけられるやつだと思っているからなんですよ。あんまり疑いを持たずに。そういう奴が本気で考えてたら、そうだねってみんな思うと思うんですね。藤村さんがそう言ってるならわかるわっていうか、本気で考えて本気でそう言ってるから、嘘はないやろってみんな思うわけですよ。そういう状況に自分を置くみたいなのを気を遣ってるかもしれないですね。

えん:どんな事業に自分がいてもそう思えるように思考し続ける?それとも、事業選びを気をつけている?

藤村:事業選びを相当気をつけてます。事業選びもそうだし、一緒に働く経営陣とかエンジニアチームもそうだし、そう思えない場合もめっちゃあると思うんですよね。この人と合わないなとか、この事業には興味ないなとか。そういう風になったらもう勝てないと思ってるんで、自分は。仮面を被りきってプレイするの苦手なんで、素が出ちゃうんですよね。素直に良いと思って一生懸命やれるような場所に身を置くみたいなのはすごく気をつけてますね。

この会社で働き始めてからは、その身の置き方、身の振り方みたいな、いろいろ考える余地っていうのはありがたいことにないんですけど、仕事選びのときには気をつけてます。そのディレクション次第で自分の仕事人生のハッピーさも変わるし、事業的なインパクトを自分がどれくらい出せるかも変わるんで、すごく気をつけてるかも。

えん:それは転職するときとかには、そういうことに気をつけようね、気をつけて選んだ方がいいねって感じは、うん、それはわかる。だが今いるこの状況をどうにかしなきゃいけない人はどうしたらいいんだろう?

藤村:やっぱり自分の中で自分なりの、自分が心からいいって思える、これはやった方がいいわって、素直に思えるストーリーを自分の中で作るのが重要です。必ずしも全部が全部百点満点っていう時なんてないし、そんなことはそうそう起きないんで、折り合いをつけるっていうとあんまり美しくないですけど、自分の中で取り組むにあたっての、素直に統合された形のストーリーを作るのが、僕は重要なんじゃないかなと思うんです。

えん:確かに。しかもそのストーリーって自分でしか作れないですよね。他人に言われてどうとかじゃないからなぁ。

藤村:そう、自分の中で意味を決めて価値を決めるしかないんで、それはすごいエネルギーもいるんですけど、やった方がいいです。

えん:心に折り合いをつける方法みたいな本を最近読んだんです。前に藤村さんがエピクテトスの話をしたと思うんですよね。それがあって、私はエピクテトスの本じゃなくエピクテトスについて紹介している『奴隷の哲学者エピクテトス 人生の授業』を読んだんですよ。

藤村:ああ、この本ね。よさそうですよね。

えん:読んで、面白かったんですけど、本当に自分の解釈次第だなって思ったんですよ。で、それを読んだからか、『心に折り合いをつけてうまいことやる習慣』Amazonでレコメンドされて。精神科医のおばあちゃんが書いた本なんですけど、それも読んだら、大体同じこと言ってました。

藤村:この本か。

えん:そう。軸を自分で持って、それに従って生きればいいんだよっていう。

藤村:そうですね。それは本当にそう。軸を自分以外のところに置いちゃうと、もうダメですよ。引っ張られちゃいますからね。自分で自分の人生の価値を決められなくなると、つらい。

えん:つらっ。想像しただけでつらかった。あれ、元々の質問からすごい離れていってる。

藤村:なんでしたっけ?

えん:チームを強くするために何をされていますかっていうところでしたね。

藤村:心に折り合いをつけるってことですね。正しく。まあ、重要だと思いますね。

えん:自分のやってることを信じると、周りの人もついてきてくれるよっていうことでしたよね。

藤村:はい。意外と質問から自分の軸みたいな話になってしまいましたが、そんなところで今日は終わろうと思います。#論より動くもの で感想をお待ちしていますので、ぜひツイートしていただけると幸いです。ということで、今日はCTO名鑑でもらった質問に答えつつ、自分の人生の軸、考え方の軸みたいな話に広がった回でした。今日は聞き手として技術広報のえんじぇるさんに来てもらいました、えんじぇるさんありがとうございました。

えん:ありがとうございました。

藤村:では終わろうと思います。ごきげんよう。(完)

 

次回の更新をお楽しみに!

 

STORES ではエンジニアを募集しています。論より動くもの.fmを聴いて、少しでも STORES に興味を持たれた方は、ぜひカジュアル面談に遊びに来てください!

jobs.st.inc