見出し画像

これからのエンジニアとデザイナーのコミュニケーション

この記事は Qiita Advent Calendar 2021 の「エンジニアリングに興味があるデザイナー、デザインに興味があるエンジニア」の7日目の記事です。

株式会社CureAppでフロントエンドエンジニアをしているかむかむレモンです。
僕はフロントエンドエンジニアになって(UIとUXの)デザイナーになって、またフロントエンドエンジニアになってと、エンジニアとデザイナーの間をうろついています。

いつも文章で書く時は、デザイナーさん、エンジニアさんと「さん」を付けたい人なのですが、今日はよく出てくるワードなので付けないです(冗長なので)。

エンジニアとデザイナーが協同することは普通となりつつある

2022年が目前となった2021年12月現在、エンジニアとデザイナーが一緒に強力してプロダクトを作り上げることは、珍しい働き方から当たり前の働き方となりつつあります。
今思えば、この流れは2018年にAtomic Designに注目が集まったのが始まりだったのかなと思います。
Atomic Designではエンジニアとデザイナーで共通言語を作るという文脈が登場し、この言葉に惹かれたエンジニアやデザイナーの方は多かったのではないでしょうか。

時代はそこから更に進み、Figmaでのコラボレーションやデザインシステムという言葉をよく見たり聞いたりするようになりました。
特に、デザインシステムの盛り上がりは凄く、Figmaで各社がデザインシステムを公開するようにもなりました。
とても良い時代になったなぁとしみじみ思います。
エンジニアとデザイナーの垣根をなくす、あるいは両者をつなぐということはトレンドであり、今後も続いていくと僕は考えています。

何を話すか

協同することが珍しくなくなった今だからこそ、僕たちエンジニアとデザイナーの関係性やコミュニケーションについてフォーカスしていきます。

畑違いのことを知るのは難しい

お互いのことを知る第一歩としてよく語られるのが、デザインとその実装コストではないでしょうか?
他にも、デザイン意図の言語化だったり、デザイン(エンジニアリング)してる時に頭の中で何を考えたりとかもよく語られますね。

僕たちは先ず、お互いの仕事について知ることから始めるのですが、まぁ1,2回話したぐらいじゃわからないんですよね。
自分の分野ですら分かってないことが多いのに、相手の分野を知るのはもっと難しいです。
エンジニアリングもデザインも沼です。底なし沼です。

そして、知らないことに対して意見をしたり聞くのってとても怖いです。

  • こんな言い方すると失礼じゃないかな

  • 逆に困らせちゃわないかな

  • 「あーこいつ全然わかってないんだな」って思われちゃうかな

  • なんども同じ説明させて申し訳なさすぎる…

分かってないからこその苦悩があります。
同時に、これは相手のことを尊重してるが故の苦悩でもあります。
これの難しい所は「困ったら何でも聞いてください」や「何回でも同じ説明するよ」って言われても素直にそうできない点ですね。
まぁ、人間ってそういうものです。
オフィスで「ちょっといいですか」ができなくなったリモート中心の今では尚更この傾向は高まっています。

エンジニア(デザイナー)と協同したい人たちは、往々にして共感性が高く、それが故に、必要以上に相手のことを慮るきらいがあります。
それにこの数年、自分がやった事がない分野に土足で踏み込んでくる不届き者が炎上するツイートやそれに共感している人々を、とてもよく見かけるようになりました。
自分がそうなりたくない、という恐れも皆心のどこかに持っているんじゃないのかなと思います。

協同していくための第一歩を踏み出した(踏み出そうとしてる)はいいものの、そこからうまくコミュニケーションがとれてなくて、もやもやしてる人が多いんだろうなぁという印象を受けます。

まぁ、そのうちやってれば徐々にわかってくるし、あんま気にせずノリでやっていこ〜〜
てか自分の分野すらよくわかってないし笑

かむかむレモン

と言いたいところですが、さすがに雑すぎ(でもそんなに外してはないと思う)なので、どういうデザイナーなのかエンジニアなのか知ることから始めてみてはどうでしょうか?

1人ひとり個性があるのがエンジニアとデザイナー

相手が何を得意としているのか何が苦手なのかを知ることはとても大事なことだと思っています。
僕は汚いものをキレイに、キレイなものをより美しくできないかみたいなこと無限に考えてるし、スキあらばリファクタリングするし、コンポーネント作りには変態的なこだわりあるし、情報設計するのも得意だし、FigmaのAutoLayoutでガチガチにデザイン固めるの好きだし、TypeScriptでガチガチに型固めるのも好きです。(オタク特有の超早口)

とまぁ、一人ひとりこのような個性やクセがあります。
そしてこの個性やクセはそのままアウトプットに反映されていきます。

  • こだわりのデザイン(実装)はどれか

  • 時間を気にしないでいいなら何を1番改善したいか

  • パフォーマンスを最も発揮できる領域はどこか

  • 今までで1番苦しんだ実装(デザイン)はなにか

こういう何気ない質問の中に、その人のポリシーや葛藤が詰め込まれていたりします。

デザイナーがエンジニアが何をしてるのかを知ることも勿論大事ですが、一緒に仕事をしている人がどういうデザイナーなのかエンジニアなのか知る事の方が大事です。
相手を知らずして協同はできません。
目の前のその人に興味を持ってください。

デザインの実装コストについて

これはデザイナーでエンジニアリングをやろうとしてる人、あるいは既に両方をやってる方に向けての話になります。

デザイナーがコードを書いてみて、デザインの実装コスト感がわかるようになった、意識してデザインできるようになったという話をよく聞きます。
これって飽くまで自分が実装したらの話なんですよね。
あなたにとっては実装コストが高そうと思ったデザインでも、実装するエンジニアにとっては高くないことがあります。
僕のようなエンジニア上がりのデザイナーの場合は、この逆もありえます。

こと実装コストにおいては、エンジニアのレベル感でとても差がでます。
物差しは自分ではなく相手で測らないと思わぬミスリードを招きます。
こういう意味でもやはり、エンジニアが何してるかではなくて相手がどういうエンジニア(この例だと経験年数やフレームワークの習熟度)なのかを知った方がいいでしょう。

微妙な事を引き出すのが1番難しい

とりたてて言う程ではないけど、ちょっと気になってる事や困ってないけど改善できるかも的な微妙な事ってありますね。
こういう微妙なものは大抵、個人の少しの努力でなんとかできることが多く、放置されがちです。
体感的に、能力の高いエンジニア(デザイナー)であればあるほど、この微妙の幅は広がっていきます。
能力の高さ故に視野が広くて気付くが、能力の高さ故に自己解決できています。
人それぞれパフォーマンスを発揮できる得意分野があると思いますが、そこに沢山潜んでいる気がします。
どうにかできてるので本人的にはそんなに問題にしていないし、(時間がたって)これが普通となって意識すらしなくなることも珍しくないです。
優先順位もかなり低めに設定されるので、俎上にのること自体が稀です。

コロナ禍以前であれば、オフィスで「ちょっといいですか」のついでに話されることもありました。
リモート中心の今、「ちょっといいですか」に相当するものがないので、より難しくなりました。

1つ言えるのは、チームの文化に染まっていない新しい人が入ってきたタイミングでこの微妙な事が発見されることが比較的高いです。

僕自身、これに対する明確な打ち手は持ってないですが、こういうものがエンジニアリングとデザインの狭間には無数に転がっており、両者の中だけに留められているという現実があるということは知っておいた方がいいです。

共通認識は作るものではなく見つけるもの

共通認識とはデザイナーとエンジニアの間にある差を埋めたり繋げたりするためのルールのようなものと思ってください。
Atomic Designで語られるatomsやorganisms、デザインシステムで語られるデザイントークンなどがこれに当たりますね。

場を設けて決めることが多いですが、何を共通認識として定義するのかでとても悩みます。
そして、定義したものが両者の頭のなかに定着するまでには結構な時間が必要で、この間かなり消耗します。

そもそもの話にはなりますが、デザイナーとエンジニアの感覚は全てにズレがあるわけではありません。
部分部分に、感覚が違かったり認識にズレがあったりします。
また、それとは別に感覚や認識が似通ってる部分もあります。
これはデザイナーがデザインをしてエンジニアが実装を繰り返していくことで徐々に見えてくるようになります。
その中で、認識のズレがある部分を直したい、感覚が似てる部分をルール化していきたい、と提案していきましょう。
そして、お互いの個性をより伸ばすことができそうな共通認識を見つけれるようになれたら理想ですね。

さいごに

相手を知るためのコミュニケーションももっとやっていきましょう!


この記事が気に入ったらサポートをしてみませんか?