2008年7月31日木曜日

フロントエンジニアに必要な素質は何か

自社の Web サイト上でビジネスを展開する企業にとって、フロントエンジニアの存在は重要だ。ここで、フロントエンジニアとは、以下のように定義している。
JavaScript, CSS, HTML, Ajax などの技術により、反応の良い、エレガントな UI を持つソフトウェアを書くスペシャリスト。
例えば、米 Yahoo には 600 人以上のフロントエンドエンジニアがいる、というし、Google のジョブボードにも勿論、Front Engineer という職種がある。

どんなエレガントなロジックも、フロントエンジニアの作成したインターフェースを通してユーザに提供される以上、フロントエンジニアの力量はサイトの力量に直接影響する。

フロントエンジニアに必要な素養とは次のようなものであろう。
  • サーバサイド技術の開発経験
  • Ajax/HTML/CSS 経験及び UI デザインへの興味
  • OOP な JavaScript 技術
  • ウェブアプリケーション開発経験
  • XUL, Flex, XAML などの UI フレームワーク の知識
  • クロスブラウザプラットフォームにおける経験
  • コンピュータサイエンスの知識
これを踏まえ、フロントエンジニアの面接には、一般のエンジニア用の面接問題に加えて、以下のような面接問題が有効だと思われる。
UI が優れていると考えている Web サービスをひとつ挙げ、その理由を教えてください。
(目の前でサイトを開いて論じてもらう)
デザイン が優れていると考えている Web サービスをひとつ挙げ、その理由を教えてください。
(目の前でサイトを開いて論じてもらう)
会社のブレインストーミング用の部屋をデザインしてください。
デザインするにあたり、必要な情報は適宜聞いて頂いて構いません。
mixi のような SNS サイトを作成するプロジェクトに参加することになりました。
会員登録ページを作成することが最初の仕事です。
あなたの出番はどこですか??
開発者と連携する必要がある場合は、その様子を教えてください。
今から 15 分で、以下のようなモバイルページをデザインし、デザインにあたり、注意した点を教えてください。
モバイルデバイスは日本の 3G 携帯とします。
※ 画面内に必ず表示したい情報は以下です。必要な情報は適宜追加してください。
- 地図
- 友達の位置 (5人)
- 表示されている地図内に店舗のある広告
HTML, CSS, JavaScript 以外にも、注目しているメディア技術があれば教えてください。