フロントエンド技術者が会社とどう関わっていけばいいのかという話

今日はフロントエンドの仕事について考えていることを書く。フロントエンドの人間としてどのように会社と関わればいいのか、あるいはフロントエンド以外の人達に何を求めるか、そのような人たちとどうコミュニケーションをとって行ったらいいのか、などという事を中心に。

結論としては、やっぱりチームとしてモノを作っている意識を、みんなで持とうよということだった。

わたくしダーシマはネコメシに入る前、たぶん平均的な受託系ウェブ制作会社で2年半くらい仕事をした。フロントエンドとバックエンドが主で、ほんの少しだけディレクション業務もかじった。そこでは分業制が基本だった。ディレクターがクライアントと要件を詰め、デザイナーが絵を作り、場合によってはプログラマーがバックエンドをつくり、コーダーがコーディングをする。いわば、きちんとしたウォーターフォールでプロジェクトを進めていた。一人で複数の役割を担うことはあれど、世の中のウェブ制作会社としてはたぶん当たり前の制作フローで作っていたのではないかな。

では実際に、このやり方が全く滞りなく遂行されていたかというと、やっぱりそんなことはなかった。前職場の強みは、ウォーターフォールの中にも更に手戻りが起こらない工夫を盛り込んでいるという点だが、それでもやり直しは発生していた。これはどうにか改善できるのだろうか。

今の自分の考えでは、まあやりようによってはある程度の改善はできるかもしれないが、だいたいの部分は「しかたのないこと」なんじゃないかと思っている。開発フローのモデルはいくつもあり、それぞれ案件に対する向き不向きはあるわけだけど、案件に最も向いているモデルを選択したところで、それで仕事が完璧に滞りなく進むようになるかというとそうではない。予期せぬことは必ず起きる。じゃあひたすら予防策をはりめぐらせる方にコストを割くのかっていうと、そんなことをしだしたら本末転倒だ。もはやものづくりではないよね。「もはやものづくりではない。」これは大事な意識のひとつだと思う。

そのような現実的な事情の中、フロントエンドの人間が一体どのように立ち回っていくのがよいのか、という話に至る。

第一は、作業者になってはいけないということだ。指示されたことだけをこなすのは簡単なことなんだけれども、少しでも軽くなるようにとか、運用が容易なようにとか、再利用性を確保しつつとか考えると、目には見えない所でできることはいくらでもある。既存のサイトの修正だったら、修正箇所とは違うけどなんか不整合を見つけたので「ついでに修正しときました」というのは素敵なことだと思う。そういうのを「よしなにする」ことこそ、フロントエンダーとしての(というよりむしろ、チームメイトとしての)価値なのではないか。

個人的な話に逸れるけども、前職に入社し、自分がフロントエンドの部署についた時、「よしなに」とは真逆の「作業者たれ」というのが部署の空気としてあった。砕いて言うと「問題をディレクターが把握できていないのが悪い」「余計なことをすることでコーダーの価値を下げるな」のような空気。余計なことをすることで価値が下がるという理論はつまり、あれもこれもやってくれるとディレクターに思わせるなと(=コーダーの仕事単価が安くなる)いうことなんだけども、この空気は自分にはなじまなかった。「もはやものづくりではない。」だった。話を戻します。

第二に、責任をとるということ。我々フロントエンド技術者は、うつりゆく技術パラダイムの中で常により良い選択をしていかなければならないわけだけど、何か社内の規定や慣習に無い、新しい技術を導入するときにはリスクが発生するのが普通だ。たとえば、実装を開始してみたけど特定のブラウザでうまく動かなかったいとか。ちょっと技術的な検証が必要でそれだけ余分に稼働しなければならないとか。リスクの見込みにもよるが、自分の中でそれらのリスクを受け止めるある程度のバッファを持つことが肝要だと思う。サビ残しろということなのかと問われると、ある意味ではそうなる。あらゆる責任を放棄して、「やってダメだったのは指示したお前のせい」にするのはチームメイトとして反則だと思う。

そして啓蒙するということ。ディレクターもデザイナーもだいたい、フロントエンド技術のことについては門外漢だ。印刷技術を知らない人がDTPデザインをできるワケがないように、HTMLのことを知らない人がウェブデザインをできるワケがないというのは正論。しかし現実、技術のことをまったくワカラン人がそのような職種で飯を食っている以上は、誰かが何かしらの手段で蒙を啓いていなかなければならない。社内に対して啓蒙活動ができるフロントエンダーはもはや神だ。


しかし、とも思う。フロントエンダー全員に上のような意識を持てと強要するのもまた違うと思う。というのも、会社とどう関わっていくかとか、自分の人生の中の仕事とはなんぞやということは、まったく人によるからだ。生活水準を落としてでも良いものを作りたいと思う人もいれば、堅実にキャリアを固めたい人もいるし、生活のために仕方なくやっている人もいる。だからいろんな人がいて、そこにべき論なんてものはないのだ。チームの中で自分がどういう立ち位置に居たいか、あるいは居るべきかと考えて、自分こそそういう役割だと思った人が上述したような心得を噛み砕いて、自分の中にハメ込めばいいものなんだと思う。そういう意味で、チームとしてモノを作っている意識を持ち、チーム内での自分のあるべき立場というものを認識しようよというリード文に戻るというわけでした。

ここまで書いてきて、まあわたくしごときは業界3年たらずのヒヨッコだし、前職でそのように動けていたのかというと35%くらいの出来だし、春日井おやびんCOOのような実装ディレクションは出来るようになりたいと思いつつ思っているだけで、説得力があるかというと微妙なところ。とはいえ今後の自分のためでもあるし、このへんの立ち回りで悩んでる知人のためでもあるし、見ず知らずの誰かの背中をそっと押してあげられるような文章になっているといいのだけど。

株式会社ネコメシでは意識の高いフロントエンド技術者を求めています!!