STORES Product Blog

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

そのアウトプットは業界最高水準ですか?CTOはどうやって技術力を磨いているのか【ep.16 #論より動くもの .fm】

CTO 藤村がホストするPodcast、論より動くもの.fmの第16回を公開しました。今回は STORES のテクノロジー部門のマニフェストから技を磨き続ける重要性について話しました。

 

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

 

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

 

個々人が専門家として技を磨き続けることで、六角形が大きくなる

藤村:こんにちは、論より動くもの.fmです。論より動くもの.fmは、STORES のCTO 藤村が技術とか技術じゃないことについてざっくばらんに話すPodcastです。今日は論より動くもの.fmを運営しているえんじぇるさんに来てもらってます。よろしくお願いします。

えん:よろしくお願いします。

藤村:今日は僕に聞いてみたいことがあるということですが、何だろう?

えん:STORES のテクノロジー部門には、テックマニフェストとバリューがあるじゃないですか。そのマニフェストとバリューを、2022年9月から部門のオンボーディングで説明していただいていると思うんですけど。オンボーディングに同席してるときに、藤村さんのマニフェストの説明がめちゃくちゃいいなと思って、パブリックで話してもいいんじゃないかと思ったんですよね。

藤村:どんな話でしたっけ?

えん:まずそもそもマニフェストって何やねんってところなんですけど、読みますね。

“職業人として技を磨き続ける。
その自力があるから、みんなで大きなことができる、
どんな課題や変化にも応えられる。

制約の中で最高に良いものを作る。
そのエンジニアのこだわりが、オーナーさんのこだわりに応えていく。”

前半と後半っていう概念があることも、オンボーディングの説明で知りました。改めてこのマニフェストは、どういう思いがあって作ったものなのかを話していただきたいです。

藤村:それで言うと、STORES って会社はJust for Funっていうミッションのために仕事をしていて、それをやる上でエンジニアはどういうプレイスタイルでやるんですか、みたいな話なんですよ。で、それが大きく2個あって、前半後半みたいにわかれているっていうことですね。まぁ2個っていうか、2個以上の要素が入っちゃってるんですけど。

超前段の話をすると、Just for Funが何なのか。僕らのプロダクトを使ってくださっているオーナーさんって、めちゃくちゃうまいカヌレをどうしても作りたいとか、そういう情熱やこだわり、楽しみで事業をやってらっしゃるんですね。それを支える我々の姿は、そこに通じるものがあるんじゃないかみたいなところもあって。
Just for Funっていうのをエンジニアはどうやって支えるといいのか、俺たちはどう支えたいのかっていう話なんですよ。

えん:うんうん。

藤村:1つ目はエンジニアって専門家じゃないですか。専門家は必ず技を磨き続けるべきだと思っているんですよ。これって近代経済における専門家って(ヨーロッパ中世からの)ギルド制みたいなのが背景にあって、会社員っていうのもそうだけど、その専門家集団の中での価値観とか美意識みたいなものもすごく重視されているところがあるんですよね。

エンジニアもそうじゃないですか。僕はそういうところはすごくいいものだと思ってるし、本質的なものだと思っていて、今のソフトウェアエンジニアって職業にとっても。なので、自分もこれをかっこいいと思っていたからっていうのもあるけど、追求したい。個々人が専門家として技を磨き続けるっていうのはめちゃくちゃ重要だと思っている。

それぞれのフォーカスがあるんですよ。デプロイの頻度にこだわりがあって、そこをなんとかしたいと思っていろんなことを勉強したり、手を動かしたりしてるとか。そういういろんなこだわりが集合すると、六角形のグラフが大きい丸になってくるわけですよ。六角形だから正確には丸くはならないんですけど。

えん:(笑)。

藤村:そうなると、いろんなことが起きても大丈夫じゃないですか。ここ俺はできないけど、●●さんはマジ詳しいから大丈夫だと、ちょっと助けてもらっていいですか?よしきた!みたいな。そういう感じで自分の担当領域のヘルプが来るとマジ燃えるんですよね。というのもあって、個々人が専門家として自分の技を磨き続けるのと、それが集まると大きい仕事ができて変化にも耐えられるよねっていうことで、1個目が

“職業人として技を磨き続ける。
その自力があるから、みんなで大きなことができる、
どんな課題や変化にも応えられる。”

これまで聞いて感想とかありますか?

えん:六角形って、ゲームキャラクターとかに出てくる、ここがウィークポイントだってやつですよね。そこを攻められないように、いろんなこだわり持った人が集まって、綺麗な六角形ができるみたいな。

藤村:そうそうそう。みんなでやると個々は尖れますからね。

えん:たしかに。

藤村:僕は全部まんべんなくやることを目指しつつも、尖るのが一番かっこいいと思ってるんですけど、まあ限界がありますよね。

制約がある中でも、最高のものを作ることを積み重ねる

藤村:2個目が

“制約の中で最高に良いものを作る。
そのエンジニアのこだわりが、オーナーさんのこだわりに応えていく。”

なんですけど、Just for Funって言葉は、第一義的にはオーナーさんのための言葉なんですよね。オーナーさんのJust for Funを俺たちはそれを支えるぞっていう話なんですけど、でもどう考えてもエンジニアもそうなんですよ。

そもそもJust for Funって、Linuxの作者Linus Torvaldsの本のタイトルからとっていて、LinusもやりたかったからLinuxを作ったんですよね。エンジニアがどうかっていうと、人生最高のコミットを積むために一生懸命、頭をひねりまくって、なんとか目の前の課題を正しく美しく早く解決することを目指してやっている。自分が書いたコードをいいものにしたいっていう熱意や情熱があって、それで仕事してるところがめっちゃあるんだよなって。これ、我々の仕事ぶりもそうなんじゃないかって思ってたんですよ。

ある日経営会議で「我々の仕事ぶりもJust for Funですよね」って話になって、そうだねってみんながなったんですよ。それがこの

”制約の中で最高に良いものを作る。
そのエンジニアのこだわりが”

エンジニアのこだわりがっていうところがそういう意味のメッセージです。僕はソフトウェア開発が好きなんですけど、専門家のエンジニアがめっちゃ最高の仕事をして、最高のコードを書いて、最高のプロダクトにしたいと思ってるものを使ってもらって、オーナーさんが最強のカヌレを作るという絵面はかっこいいじゃないですか。それをやれるといいなって思ってます。

“制約の中で最高に良いものを作る。”

って書いてるんですけど、僕は音楽もやってるんですけど、ライブで最強のパフォーマンスってあんまりできないんですよ。能力にも、機材にも限界がある、その時の環境にも制約がある、制約だらけなんですよね。「制約だらけだから、今日はできなかった」っていうのは簡単なんですけど、せっかくやるんだったら、ひとステージひとステージで最高のものを出さないと意味がないじゃないですか。だから、さまざまな環境上の制約、外部的な制約もあるし、自分の能力という内部的な制約もあるんですけど、制約があっても、その場その場で最高のものを出さないといいものっていうのは絶対できない。これは多分僕らのプロダクトを使ってくださっているオーナーさんもそうだと思います。

ソフトウェアを書いててもそうなんですよ。自分の能力、時間、仕様的な限界があって、ああもうこれで今はいくしかないか、もうちょっと時間があったらいいものができるかも、いや自分はこれ以上はできないかもしれないみたいなのもある。そもそも時間がないこともほとんどだし、歯がゆい思いをしながら、その時の限界を出していくしかないんですよ。でもそれを積み重ねないといいものは作れないと思うんで。

我々のJust for Funも制約の中で、最高のものを作るっていうのを積み上げていくしかないかなっていうのがあって、

“制約の中で最高に良いものを作る。”

を入れてます。

えん:”制約の中で”って言葉を入れてるのはいいですよね。仕事をしていたら、絶対に制約はあるじゃないですか。

藤村:ある。制約が非常に多い。

えん:音楽の話もそうですけど。

藤村:そもそも人生は有限ですからね。だから、今この瞬間にベストを尽くさないと、その瞬間のベストはもう人生に二度と来ないんで、やるしかないですよね。

えん:いやー深いなぁ。

藤村:とか言って、サボってるんですけどね。

えん:え?

藤村:サボってるっていうか、休む?そのテンションで月160時間やっていたら辛いんで、それじゃあいいソフトウェアができないっていうのもあると思ってて。ゆとりの設計もすごい重要だと思うんですけど、それもある種、最高のものを作るための戦略的なゆとりになるだろうなって思います。

えん:そうですよね。サッカー選手が誰よりも上手くなりたいって24時間練習していたら、最強のサッカー選手になれるのかというと、なれないですもんね。

藤村:そうそう。僕はあんまり器用な方ではないので、24時間オンみたいなモードに入っちゃう時もたまにあって。そういうのをやっていたら電池切れするんですよね。2週間ぐらいブランクみたいな状況が突然きたりするので、継続的にアウトプットを出すためには余裕は重要だなっていうのは、それはそれで思うんですけど。

その仕事は業界最高水準ですか?

えん:自分の技というか持っているものを全部出し切ったなって思った時に、その後ってどうしたらいいんだろうって思うことが最近ありました。

藤村:ほう、何ですか?

えん:初めて社内テックカンファレンスをやってみて、今自分ができることはその場に全部置いてきたんです。次回開催する時、私は何をここで披露すればいいんだろうか、新しい技をどこからか仕入れて、それを追加していくしかないのだろうか、次は何を磨けばいいのかなと思いました。

藤村:なるほど。その時のアウトプットは、えんじぇるさんは最高だって思ったんですか?

えん:細かい改善点はあるんですけど、持ってるもの全部出したなって感じでした。

藤村:業界最高水準だって思いました?

えん:業界最高水準…。

藤村:業界最高水準と自分のアウトプットは必ず差があるじゃないですか。

えん:ありますね…。

藤村:それを埋めるだけですよ。

えん:なるほど…。

藤村:練習と実践で。僕、コードを書く時は業界最高水準を目指すっていう心積もりだけはありますから。

えん:なるほどなぁ。

藤村:この問題に関しては、この解答以上のものはないだろうっていうのを常に出そうって考えてますよ。

えん:ほう…。

藤村:業界最高水準じゃないと最高じゃないじゃないですか、どう考えても。

えん:そうですね。

藤村:だから基本最高を目指す。最高を目指すと「やばい、俺まだインターハイも出れないな」みたいなのがわかってくるわけですよ。インターハイに出るには、あと何すればいいかなみたいなことがわかってくるみたいな。僕は運動でそういうのを目指したことが人生で一度もないので勘で言ってますけど。だから業界最高水準を目指していると、差分は常にあるし、改善の余地は山ほどあるので大丈夫です。

えん:それが藤村さんの技の磨き方なんですね。

藤村:そうですね。大体うまくいかないんですけど。あと自分の能力の限界を常に知らしめられるんで、辛すぎるんですけどね。でもプログラミングも自分は当然ながら世界一じゃないですよ。自分より上手い人が山ほどいるのがわかってるんですよ。でも最高水準を目指さないと絶対最高にはなれないし、近づけないんで。自分のコードを見て、ああ自分はこのぐらいが関の山か、あとはどうすればいいんだろうって考える感じですね。

えん:考えて結論は出るんですか?

藤村:考えても結論は出ないんで、練習するか実践するかしかないです。

えん:そうだよな…

藤村:練習というか、職業エンジニアなので実践の場は仕事してると山ほどある。今までの自分が書けるコードよりも少しでもいいものを書こうって頑張るしかないですね。

えん:業界最高水準かっていう問い、めっちゃ怖いな。

藤村:怖いんですよ。特にソフトエンジニアはオープンソースでコードがいくらでも見れるので、業界最高水準のお手本がわからないという言い訳が一切聞かない世界なんですよ。

えん:たしかに。

藤村:オープンソースのソフトウェアを書くのもすごい怖くて、仕事だったら職場内でしか能力はわからないじゃないですか。オープンソースにすると世界中の人から「藤村ってRubyはこれぐらいね」っていうのがバレるんですよ。怖いけど、でもやってアウトプットしたり、ものを作っていかないと、上にはいけないんで。醜態をさらしてでも、かじりついていくっていうのが重要なんじゃないだろうか。

えん:なるほどなぁ。

藤村:ソフトウェアは基本的にそんなものだと、プロフェッショナル仕事っていうのはそういうものだろうと思ってますけどね。

えん:業界最高水準か。誰が最高水準なんだっけってこともわかってないと最高水準になれないですね。

藤村:そう。だから審美眼もめっちゃ重要ですね。あとは業界最高水準になってしまったら何を目指すんだっていうのもあるんですけど、ニッチな領域だと自分が業界最高水準になってしまう場合もあるじゃないですか。その場合何を目指すかっていうのもそれはそれで難しい問いですけど。こうやって自分で思ってることを自分で言うと、改めて頑張らねばって思いますね。

えん:私はこうやって直接話を聞いちゃってるじゃないですか。Podcastで聞いてる人と直接聞いている私とは食らい方が違ってて、たまに藤村さんが言ってたこと思い出すんですよね。

藤村:そんな人間じゃないんですけどね。

えん:またパン作りマシーンを作らなかったな…とか思ったりする時があります。

藤村:それね。僕も自分の記事とか見て、やべやべ俺こんなこと言ってるけど、やってないじゃんって思いますから。

えん:今日もまたどこかで思い出すと思います、業界最高水準なんかって。

藤村:今の俺の仕事は、業界最高水準なのかっていう。

最高の仕事したかなって思いながら生きるしかない

藤村:マニフェストをもう1度読むと、1個目が

“職業人として技を磨き続ける。
その自力があるから、みんなで大きなことができる、
どんな課題や変化にも応えられる。”

技を磨き続けるしかないんですよ。それをみんなでやると、さまざまなことに対応できるようになって、大きなものが出せるようになるし、個々の技を尖らせることもできるのでよい。

“制約の中で最高に良いものを作る。
そのエンジニアのこだわりが、オーナーさんのこだわりに応えていく。”

制約しかないんですよ。できないことも多いし、環境にも限界があったりするんだけど、その中で最高に良いものを作らないと業界最高水準のものはできない。なので、その場その場でベストを尽くす。ベストを目指す必要がある。

オーナーさんと同じように最高のものを作りたい、生み出したい。それを事業としてやっていきたいっていうJust for Funを、我々のJust for Funで支えていく集団でありたいというのがテクノロジー部門のマニフェストですね。

えん:仕事のやる気がちょっと…てなった時にこのPodcastを聞いて、自分を奮い立たせられるかもしれない。

藤村:そうですね。僕がちょっとサボっている時とかに、この記事が投げつけられてっていう盛大なブーメランとして自分に作用することに気づいてますけど。もうブーメランすぎますからね。

えん:でもそのブーメランを受けて、やらなきゃって思うのがいいんですよね。それが重要なんですよね。

藤村:そう、そうなんですよ。ベストじゃねえな俺、今日も俺ベストだったかなってね。最高の仕事したかなって思いながら生きるしかないんですよ、きっと。

えん:無事聞けてよかったです。ということで STORES では、技を磨きたいエンジニアの方を大募集しています。みなさんの尖りが事業を強くしていくので、尖りたいぜという方はぜひ。

藤村:自分の技で、同じような気持ちの人たちを支えたい、そういう人たちの仕事がもっとうまくいくようにしたいっていうのが面白いな、いい仕事だなと思ってもらえたら、ぜひ僕に声をかけていただければと思います。

えん:仕事をしている中で「それ業界最高水準なの?」って言われることはないですよね?

藤村:そんなにサディスティックじゃないんで、大丈夫です。

えん:その部分はビビらなくて大丈夫ってことで。

藤村:まあ目指したいですけどね。
締めましょうか。今回はえんじぇるさんに来ていただきました。ありがとうございました。

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

藤村:#論より動くもの で感想をお待ちしています。ということで論より動くものfm終わろうと思います。ありがとうございました。(完)

 

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

 

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