in Think

「フルスタック」ってどこからどこまで?

こんばんは。社長に名刺の肩書きを「フルスタックエンジニア / グロースハッカー」と書かれ、炎上しそうになったので全力で止めた@srockstyleです。

今日はそんなフルスタッックについて思ってること書いてみます。

元同僚のえふしんさんにFacebookでフルスタックについてなんか書いてくださいよとお願いしたら書いてくれたのが以下の記事。

僕はそういう意味だとAdobe系をばりばり使えるわけでもないし、フロントは最近HamlだのSassだのJSだのに慣れてきていけるかなーと思っている程度でして、一人で0〜1はいけるけどスケールさせるにはフロント能力が破滅的にダメなエンジニアって感じです。

周りの話聞いているとRailsアプリつくって自分でサーバたててデプロイかますところまでいければフルスタック扱いになるみたいですが、個人的にはそっからスケールさせたりできないと実戦は厳しいのかなあと感じてます。僕の場合元々がインフラ・サーバエンジニアだったので下地はあったって感じですけども。

ただ僕みたいなUI /UXが破滅的にダメなエンジニアだと、フロントをやってくれる「デザイナー」という方が必要です。これ「デザイナー」が必要です。大切なことなんで二回いいました。まあデザイナー必要な時点で僕フルスタックじゃないよって話なんですけど、そんなの承知の上です。

注意しておきたいのは、僕がここで求めているのは「アートディレクター」という人たちではないということです。

よく言われるんですけど、ディレクターらしい仕事をしてくれる人と仕事したことないんですよね。プロダクトオーナー的な立ち位置のひとと仕事することはありますが、ディレクションをきっちりやってるっていうひととはいままで社会人10年やってきて会ったことない。もしかしたらいたのかもしれませんが、それらしい仕事をしてもらった記憶がない。僕がプロダクトつくれるエンジニアとしてジョインすると大抵ディレクションとか僕がコード書いたりシステム作りながらやってるか、そもそもディレクターがいないかのどっちかで。社外にいくと「ディレクターです!」って名乗ったりしている人は割といるんですけど。希少価値のある職種なのかな。

まあそれはさておいて、僕はデザイナーさんと仕事がしたいわけですね。

すると問題なのは、エンジニアとデザイナーさんってどこまで役割分担するのん?って話です。

その前に僕がデザイナーさんとやりたいこと

ただこのままだとようわからんので事例をあげます。

一つのプロダクトをつくろう!ってなったとします。

僕はデザイナーさんと話します。こういうのいいよねああいうのいいよね。お互いの目線でやりたいこと洗い出します。

機能面で洗い出しがきまったら次はUI / UXをどうするかを書き出します。ふたりでそこまでを書き出すことができたら、デザイナーさんはこういう感じにするよっていうモックとか、ラフみたいなのをその場で書いてくれて、それに対して必要なデータや情報をこちらで設計します。 DB設計を僕は進めます。

あとは実装。実装はデザイナーさんがJsonを受け取り、それをデザインに当てはめるところまでをやってくれます。僕はサーバサイドの構築とインフラ周りをやっていきます。フロントのJS部分については二人で協力しながら実装します。HTMLとCSS(Haml&Sass)らへんでデザイナーさんは書いてくれます。

コード管理はGitで行います。二人でIssueになにかをあげながら、随時やっていきます。

そんなところまでをできるデザイナーさんが僕は好きです。

フルスタックの定義

ここまで読んでわかると思うんですが、これって割とフルスタックなデザイナーさんではないかなあ。でもWebにいるならHTMLやCSSの心得はあって欲しいし、今時のフロント事情ぐらいは汲んでいていてほしいな、と思いますし、別に絵はかけなくてもいいから、ロゴ作ったり素材を元になんかつくったり、そしてアウトプットに対して社会的な問題を解決する機能美を追求する気持ちは持っててほしいなあ、とかは思っちゃう。アーティストとデザイナーの違いってやっぱりそこだと個人的には思ってるので…..。まあ、たまに「わたしアーティストだから」とかいってごっちゃにしている人も見かけるけども。そしてちゃんとしたデザイナーさんだと実装まで一緒に考えてくれるからすごい助かります。

逆にエンジニアのフルスタックってなんだろう?って思うとサーバ作れてアプリをたててデプロイできればだいたいフルスタックって誤解されている感があるけど、そうでないよね。本当にフルスタックって海外で言われているのでインフラチューニングとかDBの正規化とかはもちろん、フロントエンドの最適化とかも含めてやれよゴルァって言われている気がします。なのであれは名乗る物じゃなくて目指すものですな。名刺とかに「フルスタックです! きりっ」とか書いたらだめ。あれはダメ。ただの炎上案件。

 

なんとか不要論不要論

 

まあなんでこんなこと言っているかって、定期的に「UIデザイナー不要論」「デザイナー不要論」「サーバサイド不要」「インフラエンジニア不要」とかそういうなんとかっていう仕事は不要論がでてくるのにすっごい疑問を持っているからなんですよね。まあプログラマーの35歳定年説とかありますけど、個人的にはすっごいあれ条件的な話だと思ってるんですけど。ていうかそんな不要不要いってるならいっそ全部無くしちゃってディレクターとマネージャーだけで会社立ち上げたらいいんじゃないのとか思いますが。

どの職種にも限らずですが、特にIT / WEB系は向上心がない意識低い人はだいたい仕事失うんじゃないかっていうのが僕の思ってるとこです。

そして僕の知ってる向上心がある意識高い人は、ほぼ自分が専門外の所も学ぼうとします。

彼らに共通するのって、結局好きな範囲が「WEB」全体なんですよね。その中でも得意なところはあるけれど、他のところも知りたい、やってみたい、っていう気持ちがすごいあるんだろうなーって、いつも話してて感じます。そういう人たちが35歳を迎えて WEBを離れていくとか考えられないんですよね。いや君達おじいちゃんおばあちゃんいなってもWEB業界いるでしょみたいな。まあ昨今のテクノロジーの発展でWEB業界がいつまで続くのかなんてよくわからんちんではありますが。

だからWEBが好きなひとって自然とフルスタックなスキル身につけていくと思うし、自分がやりたいって思う限りやりつづけられると思うので別にいかなーと。

milkcocoaみたいに「これを使うとサーバサイドいらなくなるよ!」みたいなのを発表している会社がちらちらいますけどね。herokuとか。あの辺って結局お金を出さないとちゃんともの使えないわけだから。

仕事を奪われる!とかは気にせずみんな今まで通りWebを好きでいてくれればみんな生き残れるだろうし、そういう世の中になったらいいなーって、すごく思います。

おしまい。