大学の演習科目で高度な技術を使うことについて


大学でフロントエンドエンジニアは評価されない | Kimamass News

 んー、まあ、こういうことあるよね…俺も昔受講者全員からポカーンとされた思い出がある。先生はちゃんと拾ってくれたので「秀」が付いたが。

前提

 この演習は九州大学芸術工学部「Webコンテンツデザイン演習」である

この演習が目指すもの

 とりあえずシラバスの題目はおいておいて(WebコンテンツだったりWebアプリケーションだったり揺れがある)、講義で習った道具立て(PHP, MySQL, その他正規化、認証など様々な付帯事項)とその関連を理解した上で、自分で何かを作れること、というのが現実に則しているだろう。

この演習の使い方

 まず大前提として、既に知っていることを繰り返しても意味が無い。なにもWebアプリケーションの仕組みについて知らない人がやったら、講義で習った道具立てを使うことは適切だろう。だから、「大学が与えた要件の範囲でやるべき」というコメントが多いが俺はそれに同意しない。最終的に必要なのは自分の知性を広げることだ。

 近年のフロント技術の進歩なりmBaaSなりを知っている人間にとっては、教えたことに乗っかるのはある意味で時間の無駄と言えるかもしれない。というか俺はそう思っている。それは理系でも文系でも同じ。基礎的な「プログラミング演習」で本来木構造を使った文字列の探索が必要なところを、本を読んで16分岐のif文だけで省メモリ・高速にやったが、あれは評判が良かった。アウトプットが正しければOK。また人工知能の演習でも無駄を徹底的に省いたら、サンプルに1行書いただけで実装できてしまい、その後鬱病で出なくなって5つある課題を1つしか出さなくてもその1行で単位が出た。「メディア論」では2007年に当時出たばかりのニコニコ動画を取り上げてもよかったし、まあ勘所さえ抑えておけばどうにかなる。

なんでこの発表が駄目だったか

 とはいえ、これらの自由な発想なり行動というのにはベースが必要。それは科目においては講義の内容となる。あらかじめ講義の内容があり、それを敷衍した上で新しい世界に広げていくという、ロジカルな作業が必要になる。

 その上で、「私はフロントエンドエンジニアなので、バックエンドはやりません」と言うのは、完全に愚策。少なくとも講義でやった範囲ではPHPMySQLについて理解しているはずで、それを元に何かを作ったり、PHPが糞だとかいうことができる。講義をちゃんと学んでいれば、バックエンドを知らないというのは謙遜で、ちゃんとその演習の中ではバックエンドエンジニアをやれるはず。そもそもmilkcocoa使ってる段階でフロントエンドにとってバックエンドがどういう位置づけかくらいは知っているわけで。

 で、その観点で発表スライドを見ると、学んだ内容から新しい技術への線が足りていない。例えば「MySQLよりmilkcocoaが良い理由」をちゃんと説明するには、データベースにとって何が基礎的な比較事項で、何が問題点やトレードオフなのかをきちんと抑える必要がある。例えばCAP定理。そして、それは恐らくこの講義のペースではやらなかった。だとしたら、「課題」の範囲でそこはやっておくべき。これがあるだけで評価はまるで変わるだろう。

 で成果物について。これを1つのWebサービスと捉えることは否定出来ないんだが、なんかこう広がりがない。サービスのコンセプトというものがわからない。コラボレーションを可能にするリアルタイムWebというのはわかるのだが、例えばそれがどう新しくて、もっと大きい物を作る際にどう役立つかなどの絵が書けていない。なんつーかexperimentalなんだけど、この演習で提出するのって完成品だよね。

 ということで、「フロントエンドエンジニア」かどうかは問題ではなく、ひとえに説明不足だったと思います。そして、付け加えると説明というのはフロントエンドエンジニアにとって極めて重要となります。ただ作ってるだけではだめです。

 やや辛口になってしまいましたがそこはご勘弁。頑張ってください!