「ZOZOTOWN作り直しにつき「40名」のエンジニア求む!」について、尾野(しっぽ)tail_y さんのツイート

57
尾野(しっぽ) @tail_y

@gyoh_k いやいや、サーバー出力無関係に、ツッコミどころ多すぎるですよ。common_2015とdefault_2015というディレクトリ名とか、2015ディレクトリに入ってる2016という名のファイルとか、後から入れられたであろう変数書き換えるだけの行とか

2017-04-08 19:22:26
gyoh_k @gyoh_k

@tail_y うう... web制作の現場にいるものとしては色々と事情を想像してしまい心が痛むところです

2017-04-08 19:24:09
尾野(しっぽ) @tail_y

@gyoh_k それは分かりますよ。問題は、この点がおそらく「お客様目線」という言葉で蔑ろにされてるってことです。現場が綺麗にソースコードをかけないのは上の責任で、その上を何とかしない限り、良い運用は見込めないだろうなという話です。

2017-04-08 19:25:28
尾野(しっぽ) @tail_y

ZOZOTOWNのソースコードの何が悪いのかという問には答えが多すぎて逆に困るんですけど「/common_2015/css/coupon/coupon_common_2016.css?10269」というファイル名はどう贔屓目に見ても闇だと思うんですけど如何でしょうか。

2017-04-08 19:24:06
尾野(しっぽ) @tail_y

インデントや空行に関しても、ズレてること自体よりも、インデントのズレに法則性が無いことが問題なのよね。同一ブロックの最初だけインデントが抜けてたりとか、これ手作業でインデント入れてるでしょ?っていう、そういう開発環境がどうなってるか透けて見える。

2017-04-08 19:28:34
尾野(しっぽ) @tail_y

解説する必要すら無いと思うけど「common_2015」というフォルダはフォルダ名でバージョン管理する必要があり、しかも同一年に別のバージョンが発生することを想定せず、かつ2016年に別バージョンを作ったが何処かに密結合がありフォルダを変えることは出来なかった、ってことです

2017-04-08 19:32:38
尾野(しっぽ) @tail_y

今までのワークフローと思想が駄目だったことを認めて、ワークフローを構築できる人を募集するべきじゃないのかなと思うんですよ。ゼロからって言っても、組織の方針がそのままなら、それはゼロからじゃないんですよね。

2017-04-08 19:36:13
尾野(しっぽ) @tail_y

CSSの命名に関しては、「general」と、「default」と、「common」が使い分けられてるのもヤバいです。

2017-04-08 19:43:53
尾野(しっぽ) @tail_y

@kinohana_des どれも「基本」という意味でつけられているので、ファイルを混同したり、同じ意味のファイルが重複する原因になるからです。

2017-04-08 21:59:47
kinohana💀 @kinohana_des

@tail_y そうなんですね。その名前に意味がないもの(記号)だと思えば気にならないかもしれないですね!某サイトを官公庁関連のWebを手掛けてる会社に作ってもらってファイル名がそんなファイルだったから、普通だとおもってました。

2017-04-08 22:11:10
尾野(しっぽ) @tail_y

@kinohana_des 意味がないものである場合1つに統一しておくべきです。例えば、今回の例ではdefault_2015とcommon_2015というフォルダがありますが、サイト全体の色を変えたい時に、その指定するファイルがどちらのフォルダに入っているかぱっとわかりますか?という話ですね。

2017-04-08 22:13:22
kinohana💀 @kinohana_des

@tail_y やっぱり地雷っぽいんですかね。default_2015で作り始めてそこそこ完成した後にクライアントの指示で大きくデザイン変わったけど工数かけたくない・・みたいな。コードからいろんな背景が読み取れるもんなんですね。ありがとうございます。

2017-04-08 22:19:19

「儲かってるところのクソコードは許されないんですよ」

尾野(しっぽ) @tail_y

色々書いたのでちょっとまとめる。まず、ZOZOTOWNは最初1人で作ったとからしいし、それは凄いし、拡大化していく中で色々ソースとかヤバいことにもなっていくので、ゼロから作り直しという決断は大変素晴らしい。決断なのか、追い込まれてなのかは知らないが、とにかく良い。

2017-04-08 20:05:34
尾野(しっぽ) @tail_y

ただし、募集項目を見るに、何をゼロからにしたら良いかが分かっていない。現状おそらく運用コストが跳ね上がってて新機能実装どころか微妙な仕様変更すらままらないのだと思うが、それを現場の責任と考えているような募集項目になっている。

2017-04-08 20:06:02
尾野(しっぽ) @tail_y

僕は命名規則やインデントを厳格にするべき派ではないものの、流石に誰も整理してないことが完全にわかるソースコードはヤバい。それは現場の精神性によるものではなくて、上が「整理しよう」という方針を取り、時間を取らなければ成し得ないものなのだ。まあ、現場が超頑張る例もあるが…。

2017-04-08 20:06:20
尾野(しっぽ) @tail_y

ところが中の人は「徹底的なお客様目線」とか「新ZOZOTOWNには、全く新しい革新的な機能が実装される予定です」とか言っているし、募集項目ではコミュニケーション能力をリーダーではなく現場に求めたり、UXデザイナーに作文を書かせている。

2017-04-08 20:06:43
尾野(しっぽ) @tail_y

お客様目線の運用も、革新的な新機能も、継続的に用意したければ、現場の真心とか努力とか信念とかいうウェイな言葉からじゃなくて、毎日の運用の余裕から生まれてくる。その認識を改めないまま、適切なワークフローを構築できなければ、40人募集はただのギャンブルになるんじゃないかな?という話

2017-04-08 20:07:41
尾野(しっぽ) @tail_y

もちろん、40人の中に、そこまでやりつつ、かつ上との認識のすり合わせまでできちゃう人が含まれている可能性はあるけどね。

2017-04-08 20:08:45
尾野(しっぽ) @tail_y

まあ僕も社長やってて、現場に最適なワークフローを提供できてるかって言ったらそんなことないけど、その努力はするし、プロジェクトが炎上した時に「現場が頑張らないから」「あいつらがコミュ障だから」みたいなことは言いたくないですよ。それをさせるか、そうできる人を揃えるのが仕事なのだから。

2017-04-08 20:13:57
尾野(しっぽ) @tail_y

儲かってるサービスこそ正義という説もあるし、ユーザーが満足していれば良いという説もあるけど、僕はディレクトリ名でバージョン管理する現場で人を働かせるのは暴力だと思うし、通常回避できうるレベルの現場ストレスを無視したサービス運用は許されないと思うので、外野からも文句は言っていくよ。

2017-04-08 20:19:02
尾野(しっぽ) @tail_y

サービス残業だって、飲みの強要だって「その会社の外の人には関係ない」とはならないでしょう。なら、劣悪な開発環境だってそうだよ。どんどん言ってって、全体の文化変えなきゃダメだよ。

2017-04-08 20:20:38
尾野(しっぽ) @tail_y

要するに、儲かってるところのクソコードは許されないんですよ。何が技術的負債の許容だ、殴りつけるぞ。

2017-04-08 20:26:29
加藤潤一(かとじゅん) @j5ik2o

気持ちはわかるけどね…。とはいえ、某◯ワンゴさんの(すでに故?)四天王の強さに比べれば 貧弱!貧弱ゥ! って感じで相対論になるだけなので…。 twitter.com/tail_y/status/…

2017-04-08 21:58:04