今回は、グッドパッチのエンジニアとして活躍する松村のインタビュー記事をお届けします!大学でデザインとプログラミングを学んだ経緯、これまで歩んできたエンジニアとしてのキャリアや、デザイン会社という印象が強かったグッドパッチを選んだ理由、入社してから実感したデザイナーとエンジニアの働き方について話を聞きました。

プロフィール

エンジニア 松村智弘(まつむら ともひろ)
芸術工学専攻修了後、システム開発会社でのソフトウェア受託開発、モバイルアプリ開発会社での iOS/Android アプリ開発を経て、2017年グッドパッチに入社。趣味は囲碁。

大学で出会ったデザインの概念

昔から音楽が好きで音に携わることに興味があり、大学は九州大学芸術工学部の音響設計学科に入学しました。音響設計(Acoustic Design)を学べる大学というのは、日本全国のなかでも珍しいと思います。カリキュラムも独特で、音に関わることなら、物理学、音響工学、デジタル信号処理、音文化学、心理学など様々なことを学ぶことができます。別の言い方をすれば、音響設計をするためには様々な分野の知識が必要だということです。これは UX デザインのマインドセットと似ています。

芸術工学は英訳すると「Design」です。同学部の他学科にはグラフィックデザインや工業デザインを学んでいる友達がいたこともあり、「デザイン」という言葉は僕にとって最初から包括的な概念でした。デザイナーの仕事とは意匠を整えるだけでもなければ、アートのような表現を追求するだけでもなく、課題を発見し解決する方法を考えることだという認識がありました。

プログラミングとデザインを仕事に

大学でメディアアートに触れたことをきっかけに、自分の作品をつくるためにプログラミングを独学で学びました。作っていたのは独自の GUI を持った音楽シーケンサーで、音楽の知識や楽器の演奏技術がない人に音楽を作る楽しさを体験してもらうことを目的としていました。はじめて組んだプログラムは Max/MSP で、それから Processing や openFrameworks といったフレームワークを学びながら作品を育てていきました。

その作品はアートとしての側面と同時に GUI を持つソフトウェアとしての側面を持っていたので、自然とプログラミング全般に興味を持ちました。また、僕の活動を知っていた友人から音響実験用のソフトウェア開発を頼まれたりといったことをしている内に、プログラミングでご飯を食べることができる可能性に気づきました。

大学院を卒業した後、福岡のシステム開発会社でエンジニアとして働きましたが、最初から全て決まった通りに実行していくプロセスに自分の無力感を覚えることもありました。次第に「企画や設計から開発に関わりたい」「もっとユーザーのことを考えた開発がしたい」という気持ちが強くなり、興味があったモバイルアプリ開発の仕事を探すようになりました。

ただ、当時の僕はモバイルアプリ開発の知識も実績も全く持っていなかったので、大学のときに作ったシーケンサーを Android に移植したものを作り、それを片手に転職活動をしていました。もともと Mac で動かしていたものを Android 用に UI デザインし直すのは思っていたより大変で、結果ほぼフルスクラッチで作り変えることになりましたが、とても勉強になったし楽しかったのを覚えています。

松村が作った実際のアプリ画面

その結果、京都のモバイルアプリ開発会社で働くことになりました。その会社では3年半勤めましたが、本当に沢山の経験をさせてもらいました。バックエンドまで含めたモバイルアプリの開発はもちろんですが、デザイナーと一緒に仕事ができたことが嬉しかったです。席を隣にしてモニターやスマホを突き合わせ、どんな UI が作れるか一緒に相談しながらアプリを作っていました。また、あるプロジェクトではプロトタイピングツールを試してみようという提案をして、実際に Prott を使ってクライアントとイメージを共有したりといったこともしました。

経験を積み、次のキャリアを考え始めたころ、京都で開催された RubyKaigi でグッドパッチがスポンサーをしていたのを見かけました。デザイン会社としてのイメージが強かったので、プログラミング言語のカンファレンスに支援していることに驚きましたし、グッドパッチでエンジニアとして働くことに興味が湧き、選考を受けてみることにしたんです。

クライアントに負けないくらい深く

当時僕は京都に住んでいたので、採用担当とのカジュアル面談、ベルリン出張中だった当時の CTO との面談、現場の iOS エンジニアとの面接はすべてオンラインで行いました。

実は選考当初は自社プロダクト志望だったのですが、勧められたのはクライアントワークをしているデザイン部でした。最初にそれを聞いたときは、正直に言うと少しテンションが下がっていました。漠然と自社プロダクト開発の方がユーザーやプロダクトのことを考えた開発ができると思っていたんです。しかし、選考を通して現場の iOS エンジニアと会話をしていくと、グッドパッチのクライアントワークを魅力的に感じるようになっていきました。

特に以前からブログで読んでいた 「JINS MEME OFFICE」の話を直に聞けたことは心に響きました。クライアントワークでありながら、クライアントに負けないくらい深くプロダクトのことを考えているグッドパッチのエンジニアに惹かれたんです。

JINS MEME OFFICE」プロジェクトに携わった当時メンバーの写真

代表土屋との最終面接は、土屋が大阪出張で宿泊していたホテルのラウンジで行いました。

デザインの力を証明するというミッションについて土屋から直接話を聞いたり、僕からは今までデザイナーと一緒にデザインに取り組んできた話をしたりしました。当時の僕は個人的な課題感としてデザイナーの活躍する領域を拡げていく必要があると考えていました。一緒に働いていたデザイナーの想像力をいわゆる前工程・後工程といった区別なく活かすとこができればプロダクトをもっと良くできると感じていたんです。グッドパッチの掲げるミッションは僕の課題感に通じるものがあって、そんな会社があることを頼もしく感じました。

最終的に内定をもらったのですが、結局内定をもらうまでグッドパッチのオフィスに来ることはなかったです。こういったグッドパッチの柔軟さを選考を通じて感じていたのも入社の決め手でした。

渋谷にあるグッドパッチオフィス

みんなが等しくデザインに責任を持っている

入社してみて驚いたのは、エンジニアが UI デザインに鋭いツッコミを入れていることです。いわゆる実装方法やコストについての「エンジニア目線の」フィードバックではなく、UI デザインとしてどうあるべきか、そしてその理由についてデザイナーと対等に議論しているんです。

過去の経験ではエンジニアが UI デザインについて考えることは、いわばオプショナルな条件でした。しかし、グッドパッチのエンジニアには UI デザインについてアイデアを出したり責任を持つことが認められているし、求められています。

あるプロジェクトで一緒に働いたエンジニアは Sketch で素材を作って Prott でプロトタイプに落とし込んだものをチームに配布し、実際にモノを触った体験をもとに仕様を議論し決めていくというプロセスを実行していました。使うツールはもちろん、デザイナーやエンジニアという垣根なくプロダクトを作りあげていく様は、まさに僕が目指していたものでした。

垣根がないのは、クライアントとの間でも同じです。良いプロダクトを作るために、お互いに忖度せずに意見をぶつけ合えていると感じています。上司経由でいただくフィードバックでも「エンジニアもユーザー視点を持っている」と言っていただくこともあり、僕のやりたかった仕事ができているんだなと感じることもあります。

今まさに取り組んでいるプロジェクトでは、プロジェクト初期からコードによるプロトタイプを作ってチームで使い続けています。プロトタイプの UI デザインはエンジニア主導で進めていて、それと並行してデザイナーによる UI デザインが進んでいます。デザイナーとエンジニアの共通言語として UI に登場するオブジェクトをモデル化し、それを基にデザインすることで最終的にふたつのデザインを結びつけるという有機的なプロセスに挑戦しています。

Goodpatchが考える「ソフトウェアデザイン」の観点について 

https://goodpatch.com/blog/ui-interface-architect/

デザイナーとエンジニアは役割も責任もツールもプロセスも共有することができます。

テクノロジーを使ったデザインを目指したい

これからのデザインを考えるとき、デザイナーとエンジニアの垣根はなくなっていくはずだし、既にそうなってきていると感じます。

人間はテクノロジーに囲まれて暮らしているので、体験をデザインするためにはテクノロジーについて知っている必要があります。さらに Ambient Computing のような概念では、テクノロジーを使っていることすら意識させないデザインが期待されています。また、アルゴリズムや機械学習を利用したデザインでは、デザインするという行為はアルゴリズムを考案したりモデルを訓練することと同義になります。

テクノロジーを使ったデザインの可能性はデザイナーにもエンジニアにも等しく開かれていると思いますし、それを一緒に目指していくことが今の僕の野望です。