Webのフロントエンドエンジニアやスマートフォンアプリのエンジニアはデザイン要件に触れる機会が多い傾向にあります。仕様上の都合でデザインの変更があった場合に、いちいちクリエイターに依頼するということでは、時間もコストもかかります。
いっそ自分でデザインができたら、ちょっとした細かい変更ができたり、自分一人でソフトウェアを生み出すことも可能になったりするのではと考えるエンジニアの方もいるのではないでしょうか。
ここではエンジニアとしての仕事をしながら、デザインについて学ぶ方法について考えてみましょう。
類似したソフトウェアを参考にする
この世に同じようなものが存在しない、全く新しいソフトウェアばかりを開発するようなエンジニアはそう多くはない事でしょう。独学でデザインを学ぶ手法としては、自分が開発に携わっている案件に類似したものを探して、参考にするのが最もお手軽です。多くのソフトウェアは専属のクリエイターがユーザーインターフェースやデザインを手掛けており、様々なユーザーに使われることを想定した使いやすいデザインとなっています。
エンジニアが作るデザインというものは、多くが内部の仕様や挙動をもとに作られることが多くなります。しかし、デザイナーが作るデザインは、ユーザーが使う順番や頻度をもとに作られていることが多いのです。
類似したソフトウェアが複数ある場合には、並べてみることでデザイン的な共通点を見出すことができる可能性があります。デザインを決める際には、当然どこの企業も競合を調査して、よいと思う部分を真似する傾向にあります。そのため、複数のソフトウェアで採用されているデザインというのは、優れているものが多いといえるでしょう。
プロジェクトメンバーのデザイナーに学ぶ
多くのデザイナーは自ら生み出したものに関して、どうしてそのように作ったのかという確固たる軸を持っています。渡されたデザインに対して、ただ指示通り組込みを行うだけでなく、どういう意図をもってそのデザインにしたのかを常に教えてもらうことで、デザイン仕様の意図を理解することができ、デザインをするという視点から見たときの考え方を学ぶことができるでしょう。
デザインを作成した根拠について、ヒヤリングを続けることで、こういう場合にはこのようなデザインが最適であるといった法則が見えてくるでしょう。
デザインフレームワークを参考にする
Webページやスマートフォンアプリのフレームワークには、ある程度の標準デザインが用意されているものも多く存在します。これらのデザインは世界中で広く利用されている汎用的なデザインが採用されているケースが多く、基本的なデザイン設計を学ぶために適しています。
ただプログラムを組むだけでデザインまで反映されるフレームワークが多く、エンジニアにとっても扱いやすく、学びやすい環境といえるでしょう。
それぞれの要素の配置には、必ず意味があるはずなので、どうしてそこに配置されているのかといった意味を考えながら見ていくと、見えてくることがあるはずです。
ハッカソンなどのイベントに参加する
様々な分野のエンジニアやデザイナーなどが集まり、即席でチームを組んで一つの目標を達成するハッカソンは多くの知見に溢れています。自らの職業領域では考えたこともないような仕様やデザイン思考などを、存分に学ぶまたとないチャンスとなるでしょう。
またチーム内で要件定義から詳細設計などのあらゆる事を短時間で行う必要があるハッカソンでは、他者との連携が極めて重要となるため、エンジニアの多くが苦手とするコミュニケーション能力を養う事もできるでしょう。
短時間で作られたデザインは、シンプルであることが多いので、よりその配置や配色の意味合いが理解しやすいものになっているはずです。
おわりに
エンジニアとしての技術を磨きながら、一流のデザインも生み出すということは極めて困難なこともかもしれません。二兎を追うものは一兎も得ずということになってしまうことも考えられます。
しかし、いきなり美しいデザインを作ることを目標にするのではなく、ユーザーインターフェースを考慮したデザインを作成することは不可能なことではないでしょう。
また、自らデザインをする機会がなかったとしても、デザイナーがどのようなことを考えながらデザインをしているのかを知っておくことで、開発しやすくなることもあります。自分はエンジニアだからデザインは関係ないと考えるのではなく、どのような意図をもってこのデザインになったのかということに興味を持つことで、ソフトウェアがより優れたものになるのかもしれません。