WPF時代にやっておいてよかった7つのこと

―「もうWPFの時代じゃない?」そう思ったあの頃の自分に教えてあげたい―

  1. 「WPF、続ける意味あるのかな?」と思っていたあの頃の僕へ
    1. “ニッチ”という言葉が怖かった時期
    2. 振り返って思う。「あの頃やっておいてよかった」と心から言えること
    3. 本記事の構成について
    4. こんな人に読んでほしい!
  2. “WPF時代にやっておいてよかった”と思えた7つのこと
    1. ① MVVMを「自分の言葉」で語れるようにした
    2. ② ControlTemplateとUserControlの違いを“体感”で理解した
    3. ③ Style / Resource設計に“設計思想”を込めた
    4. ④ 英語でUI仕様書を“自分で書いた”
    5. ⑤ 他人の画面をレビューする癖をつけた
    6. ⑥ “使いにくいUI”を勝手に再設計してみた
    7. ⑦ WPF以外のUI技術に“翻訳”してみる練習をした
  3. WPFの経験が、“海外で戦えるスキル”に変わった瞬間
    1. 「WPFだけで、本当に海外で通用するの?」
    2. 英語レジュメでは“WPF”より“設計力”で語る
      1. ✅ 1. 技術名じゃなく、設計視点を強調する
      2. ✅ 2. 結果ベースで伝える
      3. ✅ 3. “技術を超えた貢献”を入れる
    3. 海外面接で「評価された」質問と答え
      1. 💬 Q1. “Tell me about a challenging UI you’ve worked on.”
      2. 💬 Q2. “How do you ensure UI consistency across large teams?”
    4. ポートフォリオで「刺さった」構成とポイント
      1. 🟡① Before/After UI改善例(スクリーンショット付き)
      2. 🟡② コードサンプル+構造図
      3. 🟡③ “Thinking Process”の可視化(考え方を図に)
    5. 実際、どんなプロジェクトに採用された?
      1. ✅ 医療デバイスのUI再設計(WPF→Blazorへ移行中)
      2. ✅ 海外スタートアップの業務SaaS UI設計支援
    6. 海外では「プラットフォームより、UI設計の原則」が重視される
    7. 転職活動でWPFを“強み”として使うために
      1. 🧠 ① UI設計ポリシーを英語でまとめた
      2. 📘 ② WPFコードをGitHubに英語コメント付きで公開
      3. 📹 ③ 画面操作を録画して、設計意図を5分動画で紹介
  4. “WPFの時代”が、あなたの武器になる未来の話
    1. 「これからのUIキャリア、どう描く?」
    2. 「もうWPFの仕事は少ないから…」で終わらせるのはもったいない
    3. 今からできる“UIアーキテクトへの準備”3ステップ
      1. ✅ ステップ①:自分の設計思想を言語化する
      2. ✅ ステップ②:英語でUIポートフォリオを作る
      3. ✅ ステップ③:他技術への“翻訳スキル”をつけておく
    4. WPFという土台が、あなたの「UIキャリアの原点」になる
    5. “未来のあなた”が感謝する準備を、いま

「WPF、続ける意味あるのかな?」と思っていたあの頃の僕へ

正直なところ、数年前の僕はちょっと焦ってました。

Web全盛。スマホアプリの波。
ReactだFlutterだと、みんなが次々に新しいUI技術に乗り換える中で、
僕はというと、相変わらずWPFで業務アプリを作り続けていた

朝から晩まで、GridとStackPanelと格闘し、
INotifyPropertyChangedにうんざりしながら、
MVVMパターンの癖に慣れ、
「もうコードよりXAMLの方が好きかも…」なんて思ってたあの頃。

でも、ふと疑問に思ったんです。

「この技術、もう先がないんじゃないか?」
「転職しようと思っても、WPFじゃ評価されないんじゃないか?」
「みんな新しい技術やってるのに、自分は置いていかれてるのでは…?」


“ニッチ”という言葉が怖かった時期

特に辛かったのは、LinkedInやTwitter(現X)で流れてくる投稿たち。

  • 「Reactで爆速フロントエンド開発!」
  • 「Flutterでマルチプラットフォーム対応しました!」
  • 「Blazor最高!WPF?まだ使ってるの?笑」

WPFを続けてる自分が**「時代遅れ」みたいに思えて**、
実績を積んでるはずなのに、なんだか自信を失いかけていました。

でもあるとき、海外のエンジニアと話す機会がありました。
彼は、今もWPFで複数の医療系ソフトを作っている開発リーダーで、こんなことを言ってくれたんです。

「WPFって、奥が深いし、ビジネスアプリでは今でも現役だよ」
「むしろ、“今のWPF”をちゃんと使える人がどんどん貴重になってる」
「新しい技術を追いかけるのもいいけど、深く掘れる技術を持ってるのは大きな強みだよ」

…その言葉に、少し救われました。


振り返って思う。「あの頃やっておいてよかった」と心から言えること

それからもWPFを続けてきた結果、いまでは海外案件で設計からレビューまで任されることも増え、
「UIアーキテクト」としてのキャリアにも道が開けました。

だから今、WPF時代を振り返ってみて、こう思います。

「あのとき“次が見えなくても”、やってきたこと全部が今に生きている」

そして、これから海外を目指すWPFエンジニアにこそ伝えたいんです。
「新しい技術をやってない=価値がない」ではない、ってことを。

むしろ、WPFという“完成された深い技術”の中で、
どれだけ設計力・表現力・抽象化力を鍛えたかが、
これからの武器になる。


本記事の構成について

というわけで、今回の記事では、そんな**“やっておいてよかった”と思える7つの経験や習慣**を、僕のリアルな失敗・発見とともに紹介していきます。

全部、「今WPFをやっている人」にこそ共感してもらえることばかりです。

ちなみにこの7つは、単なるTipsじゃありません。

  • 海外の案件でも通用した
  • 他のUI技術(MAUI / Blazor / Web)にも応用できた
  • 面接や英語レジュメで強みとして語れた

…という、実績ベースで「本当にやってよかった!」と胸を張って言えるものです。


こんな人に読んでほしい!

  • 「WPFしかやってこなかった…これでいいのかな?」と不安を感じている方
  • 「UI設計力を強みにしたいけど、どう伸ばせばいいかわからない」方
  • 「将来、海外でUIエンジニアやUIアーキテクトとして働きたい」と考えている方
  • 「他のUI技術へのキャリア展開のヒントが欲しい」方

“WPF時代にやっておいてよかった”と思えた7つのこと

WPFにどっぷり浸かっていた日々。
当時は「これでいいのかな…」と不安だったけど、
今では**「あれ、全部やっておいてマジで良かった…!」**って思えることがある。

それは単なるコーディングスキルじゃなくて、
“思考の癖”とか“設計への向き合い方”とか、
もっと本質的な部分だったりします。

ここでは、僕が「WPF時代にやっておいてよかった!」と心から思える7つのことを、エピソードとともに紹介します👇


① MVVMを「自分の言葉」で語れるようにした

MVVM(Model-View-ViewModel)は、WPF開発者なら避けて通れないパターン。
でも最初は本当にチンプンカンプンで、「これ、なんで必要なの?」というレベルでした。

転機になったのは、「新人にMVVMを教えることになった」時。

「なぜViewとViewModelを分けるの?」
「Commandとイベントハンドラって何が違うの?」
「Bindingしてるけど、PropertyChangedが効かないのはなぜ?」

…もう、説明してるこっちが試されてる(笑)。

このとき、「自分の中で理解できてなかったこと」が浮き彫りになったんです。

だからこそ、自分なりの言葉で「MVVMってこういう思想なんだよ」と説明できるようになるまで徹底的に噛み砕きました。

この経験は、海外面接で聞かれた「How do you separate logic from view?」にスラスラ答えられる力になりました。


② ControlTemplateとUserControlの違いを“体感”で理解した

最初のうちは、画面ができればそれで満足してたんです。
でもある日、複雑なレイアウトを複数の画面で再利用しようとしたら、カオスになった。

  • UserControlにしたら、テンプレート適用が難しくなり…
  • ControlTemplateにしたら、コードビハインドで詰み…

ここで初めて、**「UserControlはロジックを持つ」「ControlTemplateは見た目だけ差し替える」**という本質を体感しました。

この理解があったおかげで、Blazorのコンポーネント設計やReactの再利用構造を設計するときにも、迷わず対応できるようになった。


③ Style / Resource設計に“設計思想”を込めた

StyleやResourceDictionaryって、慣れるまでは「設定ファイル」くらいの感覚ですよね。
でも実は、“デザインシステム”の原型でもある。

僕はあるプロジェクトで、「この色、どこに使っていいかわからない」「フォントサイズがバラバラ」という声をきっかけに、リソースの共通化に取り組みました。

  • 色、フォント、ボタンサイズを定義
  • 画面ごとの適用ルールを決定
  • ResourceDictionaryを名前空間で分割&モジュール化

結果的に、**「誰が作っても統一感のあるUI」**が作れるようになった。
これはまさに、海外でも求められる“UIアーキテクト的な視点”でした。


④ 英語でUI仕様書を“自分で書いた”

最初は抵抗あったんですよ、英語で仕様書書くの。
でも海外案件で「UI構成図」や「状態遷移図」が求められるようになってから、
**「これ、自分で書けるようになった方が早いな」**と気づいてトライ。

  • UIの要素と役割を英単語で表現(例:Filter Panel, Action Button, Readonly View)
  • 表現を簡潔に(”Shows warning if input is empty.”)
  • FigmaやPowerPointで図解を英語ラベル付きに

これ、やってみるとめちゃくちゃ力になります。

なぜなら、“UIを言語化する力”は、どの技術でも通用するから。
特にUIアーキテクトを目指すなら、この力はマストです。


⑤ 他人の画面をレビューする癖をつけた

これ、地味だけど効果抜群。

WPFチームのレビュー文化がなかった頃、「他人のXAMLに口出すなんて…」と思ってたけど、逆にそこにこそUI改善のチャンスがあった

  • 「このBinding、Nullのときに崩れない?」
  • 「このTextBox、Tabキーでフォーカス飛ばないよ?」
  • 「この画面だけ、Saveボタンが右上だけど他は右下だよ?」

…といったフィードバックができるようになったのは、
日頃から“誰かのUIを観察する習慣”があったから。

これは、UXレビューの現場やFigmaコメント文化にもスムーズに応用できました。


⑥ “使いにくいUI”を勝手に再設計してみた

個人的に、これが一番成長に効いたかも。

業務システムの“使いにくい”UIに出会ったとき、
「これ、どう改善できるかな?」と自分で勝手に再設計してみるクセをつけました。

  • ワイヤーフレームをFigmaやPowerPointで再構成
  • 情報グルーピング、導線の短縮、ボタン配置の見直し
  • Before/Afterを自分で比較

これを何度も繰り返した結果、
UI改善の“引き出し”が圧倒的に増えました。

さらに、ポートフォリオに「Before/After」形式で載せると、
英語が苦手でも“改善力”が一目で伝わるという利点もあります。


⑦ WPF以外のUI技術に“翻訳”してみる練習をした

WPFで学んだパターンを、他のUI技術に置き換えてみる。
これ、最初は趣味で始めたんですけど、実はめちゃくちゃ良かった。

たとえば:

  • MVVMパターン → BlazorのComponent+EventCallback
  • ResourceDictionary → SCSSの変数とMixin構造
  • ControlTemplate → ReactのSlot構造やコンテナパターン

こうやって**“概念レベルで理解する力”**を養ったおかげで、
転職活動でも「この人はWPFしかできない人じゃない」と思ってもらえるようになりました。

WPFの経験が、“海外で戦えるスキル”に変わった瞬間

「WPFだけで、本当に海外で通用するの?」

これは、僕が転職活動を始める前にずっと感じていた疑問でした。

なぜなら、海外求人の技術スタックを見ても、React、Angular、Flutter、Blazor…
WPFって、まず見かけないんです。

「WPFメインの自分が、どうやってアピールすればいい?」
「WPFってだけで落とされるんじゃない?」
「やっぱりWebにキャッチアップしておかないと無理?」

そんな風に不安でいっぱいでした。

でも、実際に海外向けにレジュメを出し、ポートフォリオを見せ、面接に進んでいく中で、少しずつ気づいたんです。

「あれ?WPFでやってきたこと、けっこう評価されてるぞ…?」


英語レジュメでは“WPF”より“設計力”で語る

ここで、僕が意識した3つの翻訳ポイントを紹介します。

✅ 1. 技術名じゃなく、設計視点を強調する

❌ NG例:

Developed UI with WPF, using MVVM and DataBinding.

⭕ OK例:

Designed a component-based UI architecture that separated view logic using MVVM, improving maintainability and testability across 40+ screens.

→ ポイントは、「UIをどう考えて設計したか」を語ること。

✅ 2. 結果ベースで伝える

❌ NG例:

Used ResourceDictionary and ControlTemplate.

⭕ OK例:

Standardized UI design through templating and resource management, reducing inconsistencies across 5 modules and decreasing onboarding time by 30%.

→ 「だから何が良くなったの?」を必ず添える。

✅ 3. “技術を超えた貢献”を入れる

⭕ 例:

Collaborated closely with designers and PMs to translate UX concepts into maintainable components, acting as a bridge between design and development.

→ WPFでも「翻訳者」になれるんです。


海外面接で「評価された」質問と答え

特に印象深かった海外面接でのやり取りを2つ紹介します。

💬 Q1. “Tell me about a challenging UI you’ve worked on.”

A(僕の回答要約)
「製造業の案件で、50以上のWPF画面がバラバラの設計になっていて、学習コストとバグが多発していた。そこで共通のコントロールテンプレートとStyleガイドを整備し、ResourceDictionaryを分割設計。これにより、新人開発者の立ち上がりが半分になりました。」

→ 面接官「それってReactのComponent化と同じ考え方だね!」

→ 僕「Yes! That’s why I believe my WPF experience is transferable.」

💬 Q2. “How do you ensure UI consistency across large teams?”

A(要約)
「UI用の命名規則と、XAML Styleの共通ベースを作成してCIでチェック。さらにPull Requestレビューで“画面レビュー”の観点も入れて、コード+UI両方をレビューできる文化を作った。」

→ 面接官「CodeレビューだけじゃなくてUIレビューも?面白いアプローチだね。」


ポートフォリオで「刺さった」構成とポイント

僕のWPF経験を海外で評価されたポートフォリオは、以下の3構成で作りました👇

🟡① Before/After UI改善例(スクリーンショット付き)

  • 業務画面を改善した前後のUIを並べる
  • 「課題 → 解決案 → 結果」を簡単な英語で解説
  • Figma or PowerPointでの設計意図も添付

例:

“Improved user navigation by reorganizing menu structure and grouping related actions, reducing task time by 40%.”

🟡② コードサンプル+構造図

  • ViewModelとCommand設計の分離構成図
  • ResourceDictionaryやテンプレート階層の図解
  • GitHubでシンプルなWPFデモプロジェクトを公開

例:
https://github.com/yourname/WpfUiPatterns

🟡③ “Thinking Process”の可視化(考え方を図に)

  • 状態管理図
  • エラーフィードバックの設計ポリシー
  • タブ切り替えやウィザード進行のステート設計

→ 技術よりも「考え方」で魅せることができる。


実際、どんなプロジェクトに採用された?

僕が面接通過・アサインされたのは、こんなプロジェクトでした👇

✅ 医療デバイスのUI再設計(WPF→Blazorへ移行中)

  • WPF経験者として既存UIの課題整理と移行設計を担当
  • 「このUIって何が使いにくいの?」という問いに答える役割
  • MAUIやBlazorの構成に落とし込む設計レビューにも関与

→ つまり、「移行の橋渡し」ができる人材として評価された

✅ 海外スタートアップの業務SaaS UI設計支援

  • WPF経験からくる「業務UIの本質理解」が高評価
  • Web技術未経験でも「構造思考がある」ことでプロトタイプ設計に参加
  • デザイナーとFigmaですり合わせしながら仕様化できた

海外では「プラットフォームより、UI設計の原則」が重視される

面白いことに、どの面接官も技術名よりも以下を見ていました。

  • 「この人、UIの再利用性を考えてるか?」
  • 「ユーザー体験を言語化できるか?」
  • 「UIとロジックの分離ができるか?」
  • 「デザイナーやPMと協業する視点があるか?」

つまり、“WPFできる”ことより、“UIを設計できる”ことの方が重要視されていたんです。


転職活動でWPFを“強み”として使うために

最後に、WPFで築いた経験を海外で活かすために僕が実践してよかった3つのことを紹介します👇

🧠 ① UI設計ポリシーを英語でまとめた

例:「Every input should have a default value.」「Group related actions visually.」

→ 英語にすることで“思考の型”が明確に

📘 ② WPFコードをGitHubに英語コメント付きで公開

→ 面接前に見せられる“構造と思考”の証拠に

📹 ③ 画面操作を録画して、設計意図を5分動画で紹介

→ 英語力に自信がなくても「見せる」で勝負できる

“WPFの時代”が、あなたの武器になる未来の話

「これからのUIキャリア、どう描く?」

7つの「やってよかったこと」を振り返ってみると、
そのすべてに共通していたのは──「設計を考え抜く力」と「ユーザー視点」

これはつまり、

  • “技術トレンド”に左右されない
  • “プラットフォームを超える”
  • “価値を翻訳できる”

──そんなUIアーキテクト的な思考力そのものだったわけです。

そしてこの力こそ、海外でUIエンジニアとして生きていく上で、最大の武器になるんです。


「もうWPFの仕事は少ないから…」で終わらせるのはもったいない

よく見かける意見です。
「WPFはレガシー」「もうWebに移行した方がいい」
たしかにその通り。今後、WPFの新規案件が爆増することはないでしょう。

でもね、ここが大事:

“WPFができる”ことじゃなく、
“WPFで設計できるようになった”ことが武器なんです。

だからもし、あなたがこれまでWPFで、

  • 複雑な業務UIを構築した経験がある
  • チーム内でUI設計やレビューに関わったことがある
  • ResourceやStyleの設計ルールをまとめたことがある
  • UXを意識して設計の工夫をしてきた

…なら、そのすべてが今からでも**“国際的に通用するスキル”**になります。


今からできる“UIアーキテクトへの準備”3ステップ

じゃあこれから何をすればいいの?っていう話をまとめます👇


✅ ステップ①:自分の設計思想を言語化する

たとえば、以下の問いに英語 or 日本語で答えられるようにしてみましょう:

  • あなたのUI設計におけるこだわりは?
  • 「良いUI」って、あなたにとってどんなUI?
  • UIの統一性ってなぜ大事?どうやって保ってきた?

これを**“答え”じゃなく、“語れるエピソード”で話せるようにしておく**と、面接・ポートフォリオ・ブログすべてで武器になります。


✅ ステップ②:英語でUIポートフォリオを作る

前回も書いたように、WPF経験を活かすには見せ方が大事。

  • Before/After UI
  • WPF設計の構造図(View-ViewModel構成、Template構成)
  • 改善の理由と効果を簡単な英語で記述
  • GitHub+動画(LoomやYouTube)でもOK!

難しい英語じゃなくても大丈夫。

“Grouped similar actions to reduce decision load.”
“Separated logic with MVVM for easier maintenance.”

このくらいでも十分伝わります!


✅ ステップ③:他技術への“翻訳スキル”をつけておく

あなたの中にある「WPFでやってきた設計の原則」を、
他のUI技術でどう再現できるか?の発想力を磨きましょう。

  • WPF → MAUI の画面構成比較
  • XAML Style → CSS + Tailwind
  • Command + ViewModel → React Hooks + Context

この“翻訳スキル”があると、**「この人は適応力がある」**と見なされやすくなり、海外転職の武器になります。


WPFという土台が、あなたの「UIキャリアの原点」になる

よく言われるのは、

「WPFは終わった技術」

でも僕にとってはこうです:

「WPFは、考える習慣をくれた技術」

  • UIの構造をどう分けるか?
  • 情報をどう見せればユーザーが迷わないか?
  • チームでどう再利用しやすく設計するか?
  • UXって何?業務にどう影響するの?

これを毎日悩みながら作った経験は、どんな技術が主流になっても、絶対に腐らない。


“未来のあなた”が感謝する準備を、いま

最後に、あの頃の自分に言ってあげたい言葉があります。

「WPFしかやってこなかったじゃない。
WPFで“ちゃんと考える人”になれたんだよ。」


そして今、もしあなたが同じように不安を抱えているなら、
これだけは伝えておきたいです。

「WPFの設計力は、世界に通じる武器になる」

あとは、それを翻訳し、発信し、見せていく準備をしていくだけ。
あなたの中にある“設計力”を、世界に届けていきましょう。

コメント

タイトルとURLをコピーしました