UI/UXの勘所さえ押さえておけば
エンジニアとして現場に出ていると、一度はこんな経験、あるんじゃないでしょうか。
「機能要件は全部満たしてるのに、なんでクライアントは渋い顔をしてるんだ?」
「一生懸命作った管理画面なのに、現場のパートさんから『使いづらい』ってクレームが来た」
「デザイナーがいない案件で、自分で画面を作ったら『なんか素人っぽい』と笑われた」
「システムなんだから、動けばいいだろ」
「ボタンのデザインなんて飾りだ。ロジックの美しさを見てくれ」
正直に言うと、私もキャリアの最初の3年くらいはこれの連続でした。
でも、ある炎上案件で痛感させられたんです。
どんなにバックエンドの処理が高速でも、どんなに堅牢なセキュリティを組んでいても、UI(ユーザーインターフェース)がクソなら、そのシステムは「ゴミ」扱いされるってことに。
エラーが出なくても、ユーザーが「どこを押せばいいかわからない」と感じた時点で、その機能は存在しないのと同じなんです。
逆に言うと、UI/UXの勘所さえ押さえておけば、エンジニアとしての単価は跳ね上がります。「あいつに任せると、説明書がいらないくらい使いやすいものが上がってくる」って言われるようになるから。
今回は、デザインセンスなんて1ミリもなかった私が、現場でデザイナーと殴り合い(比喩です)ながら学んだ、「エンジニアのためのUI/UX生存戦略」を共有します。
感覚の話は一切しません。「余白は〇〇px」「配色は比率で決める」といった、すべてロジックで説明できる技術の話だけをします。

UIとUX、ケチャップで理解する「体験」の話
まず、ここを履き違えてると話が進まないので、整理しておきましょう。
「UI/UX」ってセットで語られがちですけど、これ、明確に別物です。
よくデザイン界隈で使われる「ケチャップ」の例え話、聞いたことありますか?
- UI(User Interface):ガラス瓶に入ったおしゃれなケチャップ。見た目は美しいし、食卓に置くと映える。でも、中身を出そうとすると瓶の底をバンバン叩かないといけない。
- UX(User Experience):逆さ置きができるプラスチック容器のケチャップ。見た目はチープかもしれないけど、握るだけで適量が出るし、最後まで使い切れる。
私らエンジニアがやりがちな失敗は、間違いなく「ガラス瓶」の方なんですよね。
BootstrapやMaterial UIを使って、見た目だけ整える。ボタンは綺麗に並んでる。
でも、ユーザーがいざ入力しようとすると、必須項目が多すぎて心が折れたり、保存ボタンが画面外にあって押せなかったりする。
「UIは手段で、UXは結果」です。
綺麗な画面を作るのがゴールじゃない。「ユーザーが迷わずに、最短で目的を達成できること」。ここをブラさずに持っておかないと、どんなにCSSをいじっても無駄な時間になります。
なぜエンジニアにデザインスキルが必要なのか
「デザインはデザイナーの仕事でしょ?」って思ってる人、結構多いと思います。
分業制の大手SIerならそれでも生きていけるかもしれません。でも、Web系やフリーランス、副業でやっていくなら、その思考はかなり危険です。
「素人っぽい」は信頼を破壊する
人は情報の8割を視覚から得ている、なんて話がありますけど、これはシステム開発でも同じです。
ログイン画面の入力フォームが数ピクセルずれているだけで、クライアントは無意識にこう思います。
「このシステム、中身の計算処理も雑なんじゃないか?」
これ、心理学の「ハロー効果」ってやつですね。見た目の印象が機能の評価まで引きずり下ろすんです。
逆に、UIがピシッと整っているだけで、「しっかり作られている」という信頼ボーナスがもらえます。
私が副業で案件を取るとき、ポートフォリオサイトのUIを徹底的に作り込んだだけで、面談の通過率が倍になりましたから。
手戻りが劇的に減る
デザイナーから上がってきたカンプ(デザイン画)を見て、「これ実装無理だよ」「スマホで表示したら崩れるよ」って思うこと、ありますよね。
エンジニアがUI/UXの基礎を知っていれば、実装に入る前に「ここはUX的に使いにくいから、標準的なUIコンポーネントに変えませんか?」って提案できるんです。
共通言語を持つことで、無駄な手戻りが減る。結果、定時で帰れるようになる。これ、切実なメリットです。
脱・素人感!すぐに使えるデザイン改善の「4原則」
ここからは、明日からのコーディングですぐに使える具体的なテクニックの話をします。
デザインにセンスはいりません。必要なのは「ルールを守ること」だけです。
特に、以下の「デザインの4原則」を守るだけで、素人っぽさは9割消えます。
1. 近接(Proximity)|関連するものは近づけろ
「関係あるものは近づけて、関係ないものは離す」
これだけです。でも、初心者のコードを見ると、ここが甘いことが多い。
例えば、ブログ記事のリストを作るとします。
「タイトル」と「本文の抜粋」と「日付」。これらは1つのセットですよね。だから、margin-bottom は少なめにする。
一方で、次の記事との間には、ガッツリと余白を取る。
私がコードレビューをしていて一番指摘するのが「余白(マージン)恐怖症」です。
初心者は余白を恐れるんですよ。画面がスカスカになるのが不安で、要素をギチギチに詰めてしまう。
でも、プロのデザインを見てください。驚くほど余白があります。
「余白は『何もない場所』じゃなくて、『情報の区切りを示すための見えない線』」なんです。勇気を持って margin-bottom: 80px; とか書いてみてください。世界が変わります。
2. 整列(Alignment)|見えない線を見ろ
「なんとなく中央揃え」にしてませんか?
これ、一番やっちゃいけないやつです。
見出しは中央、本文は左揃え、ボタンは右揃え…みたいにバラバラだと、ユーザーの視線があちこちに飛んで疲れるんです。
基本は「左揃え」です。
そして、画面に見えない方眼紙(グリッド)があると思って、すべての要素の「開始位置」をピシッと揃える。
CSSで言うなら、container クラスの padding を統一するだけです。
これだけで、画面に「プロの規律」が生まれます。
3. 反復(Repetition)|ルールを繰り返せ
サイト内に「保存ボタン」が複数あるなら、それらは全部同じ色、同じ形、同じ大きさであるべきです。
ある画面では青い四角、別の画面では緑の丸…となってたら、ユーザーは毎回「これ、押していいのかな?」って考えなきゃいけない。
エンジニアなら、CSSのクラス設計やコンポーネント化(ReactやVueなら当たり前ですよね)で、自然と意識できてるはずです。
デザインにおいても「DRY(Don't Repeat Yourself)」は有効です。スタイルを統一し、パターン化することで、ユーザーに学習コストをかけさせない。これが優しさです。
4. 対比(Contrast)|メリハリをつけろ
画面上のすべての要素が「私を見てくれ!」って主張してたら、ユーザーはどこを見ればいいかわかりません。
スーパーのチラシを想像してください。一番売りたい「特売の肉」は巨大な赤文字で書かれてますよね?
Webデザインも同じです。
一番見てほしい「購入ボタン」は目立つ色で、大きく。
補足情報は、薄いグレーで、小さく。
初心者は「文字を小さくする」のを怖がりますが、情報の優先順位をつけて、大胆にサイズ差をつける(ジャンプ率と言います)ことが、洗練されたデザインへの近道です。
CSSで言うなら、font-weight: bold と color: #999 を使い分けるだけ。簡単でしょ?

色とフォント選びの「エンジニア的」正解
レイアウトが整っても、配色やフォント選びで失敗すると、一気に「ダサい個人サイト」になります。
ここにも、センスに頼らないロジックがあります。
配色の「60-30-10」ルール
服のコーディネートと同じで、色を使いすぎるとガチャガチャします。
基本は3色です。
- ベースカラー(70%):背景色など。白(#FFF)や薄いグレー(#F5F5F5)が無難。
- メインカラー(25%):ブランドカラー。ロゴの色など。
- アクセントカラー(5%):一番目立たせたいボタンの色。メインカラーの補色(反対色)を使うと目立ちます。
ここで初心者がやりがちなミスが、「原色(ビビッドカラー)をそのまま使う」こと。
CSSで red や blue って書いたときの色、あれ彩度が高すぎて目に痛いんですよ。
プロは、少しだけ彩度を落としたり、明度を調整した色を使います。
配色はセンスじゃなくてツールに頼りましょう。「Adobe Color」や「Coolors」みたいなサイトを使えば、相性の良い3色を自動で選んでくれます。エンジニアなんだから、文明の利器は使い倒しましょう。
フォントは「システムフォント」で十分
「かっこいいから」って理由で、可読性の低い英語フォントや、癖の強い手書き風フォントを使ってませんか?
システム開発においては「読みやすさ(可読性)」が最優先です。
Macならヒラギノ角ゴ、Windowsなら游ゴシックやメイリオ。
これらOS標準のフォント(システムフォント)は、プロが膨大な時間をかけて作った「最も読みやすい文字」です。
無理にWebフォントを導入してページの読み込み速度を落とすより、システムフォントを綺麗に表示するCSS(font-feature-settings: "palt"; とか)を学ぶ方が、よっぽどUX向上に繋がります。
あと、行間(line-height)も大事です。
デフォルトのままだと行間が狭すぎて読みづらい。
本文なら 1.6 ~ 1.8 くらいに設定すると、適度な余白が生まれて、文章がスッと頭に入ってくるようになります。

エンジニアが陥る「UI/UXの罠」と回避策
ここからは、私が実際に現場で見てきた「エンジニアだからこそハマってしまう失敗事例」を紹介します。
耳が痛い話もあるかもしれませんが、成長のための通過儀礼だと思ってください。
罠1:エラーメッセージが不親切すぎる問題
「System Error: 500」
「入力内容が不正です」
「JSON parse error」
これ、ユーザーからしたら「で、どうすればいいの?」っていう絶望しかないんですよね。
エンジニアにとっては「サーバーエラーだな」「バリデーションエラーだな」って一発で分かるけど、ユーザーは専門家じゃありません。
改善案:
「サーバーとの通信に失敗しました。5分ほど時間をおいて再度お試しください」
「メールアドレスの形式(@が含まれているか)をご確認ください」
UXライティングっていう分野なんですけど、エラーメッセージひとつでユーザーの離脱率は劇的に変わります。
「エラーを出す」のが仕事じゃなくて、「ユーザーの行動をどうリカバリーさせるか」まで設計するのが、真のエンジニアです。
罠2:クリックできるかわからないボタン問題
フラットデザインが流行った弊害で、ボタンなのかただのラベルなのか分からないデザインが増えました。
エンジニアは「cursor: pointer になってるから分かるでしょ?」と思いがちですが、スマホユーザーにはカーソルなんてありません。ホバー効果なんて見えないんです。
改善案:
- ボタンには影(
box-shadow)をつけて、立体感を持たせる。 - リンクテキストには下線を引くか、明確に色を変える。
- タップ時に色が沈むなどのフィードバック(マイクロインタラクション)を入れる。
「押した感覚」を視覚的に返すことは、システムの安心感に直結します。active 擬似クラス、ちゃんと設定してますか?
罠3:確認画面の乱用問題
「本当に削除しますか?」
「本当によろしいですか?」
慎重なエンジニアほど、確認ダイアログを至る所に入れたがります。データロストが怖いからね。
でも、頻繁な確認はユーザーにとって「邪魔」でしかない。これを「モーダル疲労」って言います。
改善案:
- 取り返しがつかない操作(データの完全削除など)以外は、確認画面を出さない。
- 代わりに「元に戻す(Undo)」機能を実装する。
Gmailでメールを削除した時、「削除しました。元に戻す」っていう通知が一瞬出ますよね? あれが理想的なUXです。
ユーザーの操作を邪魔せず、ミスした時の救済措置も用意する。技術力が必要ですが、これこそがUX向上の勘所です。

案件獲得に直結するポートフォリオの作り方
あなたがエンジニアとして案件を取りたいなら、ポートフォリオサイト自体のUI/UXがそのまま「あなたのスキル証明書」になります。
どんなに凄いReactのコードを書いていても、ポートフォリオが見づらければ、採用担当者はコードを見る前にブラウザを閉じます。残酷だけどこれが現実です。
1. ファーストビューで「何ができる人か」を叫べ
ポートフォリオを開いて、最初に出てくるのが「Welcome to my portfolio」という謎の英語と、風景写真。
これ、一番やってはいけないパターンです。
採用担当者は忙しいです。3秒で判断します。
「PHPとLaravelでECサイトが作れます」
「Reactを用いたモダンなUI実装が得意です」
このように、日本語で具体的にスキルを明記してください。それが最高のUXです。
2. スクリーンショットは「枠」に入れろ
制作物のキャプチャを貼る時、ただの長方形の画像を貼るんじゃなくて、MacbookやiPhoneのモックアップ(枠)にはめ込んでください。
これだけで「実在するアプリ感」が爆上がりし、素人っぽさが消えます。Canvaとか使えば一瞬で作れますから。
3. 「こだわりポイント」を言語化しろ
ただ成果物を並べるだけじゃなくて、「なぜこのUIにしたのか」「どんなUXを目指したのか」をテキストで補足してください。
「ターゲットユーザーが高齢者なので、コントラスト比を高くし、ボタンサイズを通常の1.5倍にしました」
もし私が採用担当なら、この一行があるだけで採用候補に入れます。
技術力だけじゃなくて、「ユーザーのことを考えて設計できる思考力」をアピールするんです。
ツールと学習ロードマップ
「じゃあ、これから何を勉強すればいいの?」って話ですよね。
最短ルートを教えます。
必須ツール:Figma
今、Webデザインの現場はFigma一強です。
ブラウザで動くし、基本無料だし、エンジニアとの連携機能(Dev Mode)も強力です。
SketchやAdobe XDも悪くないですが、これから覚えるならFigma一択です。
「Figmaでデザインカンプを作り、そこからCSSを抽出する」というフローを覚えると、コーディング速度も劇的に上がります。VS CodeとFigmaを行き来するのが現代のスタイルです。
学習手順
- 既存サイトの模写(トレース):Pinterestなどで「LP デザイン」と検索し、気に入ったものをFigma上で完コピする。これで余白の感覚や文字サイズが身体に染み込みます。「あ、見出しってこんなに大きくていいんだ」みたいな気づきが得られます。
- UIコンポーネントライブラリを見る:Material UIやBootstrap、Tailwind UIなどのドキュメントを読み込む。「世の中の標準的なボタンやフォーム」を知ることができます。車輪の再発明をしないためにも重要です。
- 自分のブログやアプリのデザインをリニューアルする:学んだ知識を使って、実際にアウトプットする。
スクールに通う必要はありません。UdemyのFigma講座や、良質なWeb記事(この記事とか!)で十分独学可能です。
大事なのは「デザインを見る目」を養うこと。普段使っているアプリを見て、「なぜこのボタンはここにあるんだろう?」と疑問を持つ癖をつけてください。

現場での価格交渉と「デザイン費」の扱い
これ、副業エンジニアとして活動するなら絶対に知っておいてほしい話です。
デザインスキルがあると、見積もりの説得力が段違いになります。
よくあるのが、クライアントから「デザインも込みでやってよ」と軽く言われるケース。
ここで「いいですよ」とタダで受けてはいけません。自分の首を締めるだけです。
「UI/UX設計費として、別途5万円いただきます。その代わり、御社のターゲット層である20代女性に刺さる配色と、コンバージョン率を高める導線設計を行います」
と言い切ってください。
デザインを「ただのお絵かき」じゃなくて、「売上を上げるための設計図」として定義することで、クライアントは喜んでお金を払ってくれます。
実際、UI改善で売上が120%になった事例なんかを話せば、費用対効果の説明も容易です。
エンジニアとしての単価を上げたければ、コード以外の「付加価値」をつける。これが鉄則です。
FAQ:よくある質問
現場で後輩からよく聞かれる質問をまとめておきます。
Q. 絵心がないのですが、デザインできますか?
A. できます。断言します。Webデザインにデッサン力みたいな絵心は不要です。必要なのは「整列」や「近接」といったロジックと、情報の整理能力です。むしろ、論理的に物事を考えるエンジニアの方が、UIデザインには向いてるくらいです。
Q. センスを磨くにはどうすればいいですか?
A. 「良いもの」を大量に見ることです。これに尽きます。ギャラリーサイト(SANKOU!やMUUUUU.ORGなど)を毎日見る習慣をつけてください。センスとは「知識の集合体」です。引き出しが増えれば、自然と良いアウトプットが出せるようになります。
Q. デザイナーがいなくてもエンジニアだけで開発できますか?
A. 小規模なプロダクトなら可能です。ただし、デザインシステム(Material Designなど)や、UIフレームワーク(Chakra UI、Tailwind CSS)をフル活用して、「俺流デザイン」を避けることが成功の鍵です。素人がゼロからボタンを作るより、Googleが作ったボタンを使ったほうが100倍使いやすいですから。
Q. デザインの修正依頼が多くて疲れます。どうすれば?
A. 実装に入る前に、Figmaなどのデザインツールで合意を取るプロセス(プロトタイピング)を挟んでください。「コードを書いてから直す」のはコストが高すぎます。「絵の段階で直す」のが鉄則です。これを徹底するだけで、残業時間は半分になりますよ。
UI/UXは「思いやり」の技術だ
長々とお話ししてきましたが、結局のところ、UI/UXデザインの本質って、ユーザーへの「思いやり」なんですよね。
「ここで迷うかもしれないから、ヒントを出しておこう」
「スマホだと指が届きにくいから、ボタンを下に配置しよう」
「入力ミスをしたら悲しいから、優しく教えてあげよう」
コードを書いている時、画面の向こうにいる「生身の人間」をどれだけ想像できるか。
その想像力こそが、エンジニアとしての器を決めると私は思っています。
私がかつて作った「おばちゃんが怖がるシステム」は、技術的には正しかったかもしれませんが、人間的には冷たいシステムでした。
今、あなたが作っているそのアプリは、ユーザーにどんな表情をさせるでしょうか?
眉間にシワを寄せて困らせるのか、それとも、「便利だな」とふっと笑顔にさせるのか。

今日から、ほんの少しでいいです。margin を1行書くときに、color を選ぶときに、「これを使う人の気持ち」を考えてみてください。
その積み重ねが、あなたを「替えの効かないエンジニア」へと成長させてくれるはずです。
さあ、エディタを開く前に、まずはFigmaを開いて、ユーザーの笑顔を設計することから始めましょうか。
あなたの作る画面が、誰かの生活を少しだけ便利にすることを願っています。
