スキル研修教材
(C/C++/C#)

C / C++ / C#は名前が似ていますが、SES営業が見るべき案件領域は大きく違います。 この教材では、案件概要を分類し、スキルシートで実務深度を読み、登録面談で追加確認し、提案コメントでミスマッチを防ぐところまで扱います。

C/C++/C#の違いを説明できる 案件領域を分類できる 実務深度を読める 面談で追加確認できる 提案コメントを書ける

01 / Why

この技術を営業が知る意味

C/C++/C#は、ゲーム、業務システム、組込み、制御、ネイティブアプリ、製品開発まで幅が広い技術です。営業が判断を間違えると、言語名は合っているのに現場経験がズレる提案になります。

営業の判断フロー。案件概要→領域分類→スキルシート→登録面談→提案コメントの5ステップで、各段階が何を取り出すかを示す
判断の軸は「言語名」ではなく「経験の近さ」。各ステップで何を取り出すか(領域・C#の分類・担当範囲・不足点)を確認して提案コメントにつなぐ。
この章で覚えること

C/C++/C#は同じカテゴリで雑に扱わず、案件領域と担当範囲で分けて読む。

新人が間違えやすいこと

「C#経験あり」を見て、Unity案件にも.NET案件にも同じ強さで提案してしまう。

営業現場で使う場面

案件概要の必須スキル確認、登録面談の深掘り、提案コメントの補足で使う。

営業が見るのは「文法」ではなく「経験の近さ」

C経験者をUnity C#案件に出す、ASP.NET中心のC#経験者をゲームクライアント案件に即戦力として出す、Blueprint経験だけでUnreal C++案件に出す。 こうしたミスは、言語名だけで判断したときに起きます。

新人営業は、言語、開発領域、担当工程、開発規模、商用経験、運用経験、性能要件を分けて確認します。

営業向けの結論

C/C++/C#は「近い名前の言語群」ではなく、SES提案では別カテゴリとして扱います。特にC#は、Unity C#、業務系C#、WindowsアプリC#を必ず分けて読みます。

02 / Difference

C / C++ / C# の違い

3つは歴史的につながりがありますが、案件概要で評価される経験は別物です。ここでは新人営業が分類できる粒度に絞って理解します。

C

組込み・制御で今も使われる重要技術

C言語は古いから不要、ではありません。ハードウェアに近い処理を軽く速く動かす必要がある現場で今も使われます。

  • 案件例: 車載、医療機器、産業機器、IoT、通信機器、家電
  • 見る点: Linux、RTOS、ベアメタル、マイコン、通信、実機デバッグ
C++

速度・メモリ・大規模開発が重要な現場で使う

Unreal Engineだけでなく、高性能処理、画像処理、金融の低遅延処理、ミドルウェア、ネイティブアプリ、製品開発でも使われます。

  • 案件例: Unreal、ゲームエンジン、画像処理、金融、製品開発
  • 見る点: C++実装、設計、STL、メモリ管理、マルチスレッド、最適化
C#

Unityと.NETで広く使われるMicrosoft系言語

C#はUnityゲームだけでなく、ASP.NET、WPF、Windows Forms、社内システム、基幹システム、業務アプリで多く使われます。

  • 案件例: Unity、ASP.NET、ASP.NET Core、WPF、Windows Forms
  • 見る点: Unity C#、業務系C#、WindowsアプリC#を分ける
2軸ポジショニングマップ。縦軸は性能・低レベル制御の重さ、横軸はハードウェア寄りからアプリ・サービス寄り。C・C++・C#(Unity)・C#(.NET)が対角に分布する
縦軸=性能・低レベル制御の重さ、横軸=ハードからアプリへの距離。同じ「C系」でも立ち位置は対角に離れ、C#はUnityと.NETで評価軸ごと変わる。

営業向けの比較表

観点CC++C#
主な現場組込み、制御、ファームウェア、ドライバUnreal、高性能処理、画像処理、製品開発Unity、ASP.NET、WPF、Windows Forms
案件概要の読み方ハードウェアに近い経験があるかを見る速度・メモリ・設計・大規模開発の経験を見るUnity系か、業務系.NETか、Windowsアプリかを分ける
提案時の注意Web系やゲーム系とは別軸で見るC経験だけではC++設計案件に足りないことがあるC#経験だけでUnity即戦力とは言えない

03 / Foundation

営業が最低限知るべき技術基礎

コードを書ける必要はありません。ただし、面談で用語を拾い、スキルシートの強弱を判断するための基礎語は押さえます。

この章で覚えること

用語を技術解説として覚えるのではなく、案件判断に使える意味に変換する。

営業の注意

「ポインタを説明できるか」より「ポインタやメモリを扱う現場経験があるか」を確認する。

使う場面

面談で回答が浅いか具体的かを判断するときに使う。

C系でよく聞く基礎用語

ポインタ: メモリ上の場所を扱う考え方。C/C++、特に組込みや高性能処理で重要です。

メモリ管理: プログラムが使う記憶領域を管理すること。C/C++は理解が求められ、C#はガベージコレクションで自動管理されます。

オブジェクト指向: クラス、継承、カプセル化、多態性など。C++やC#の設計経験を見る入口になります。

ビルド / コンパイル: ソースコードを実行できる形にする工程。Visual Studio、Unity Editor、CI/CD経験につながります。

API: システム同士をつなぐ窓口。Unityゲームでも.NET業務系でも、サーバー連携経験を見るときに出ます。

案件判断に直結する用語

Unity
C#でゲームロジック、UI、通信、課金、広告、演出などを実装するゲームエンジン。
Unreal
C++とBlueprintを使うゲームエンジン。BlueprintだけかC++実装まであるかを分けて確認します。
.NET
C#を使う業務系開発基盤。ASP.NET、WPF、Windows Forms、Azureなどと一緒に出ます。
RTOS
組込み機器で使うリアルタイムOS。制御や実機経験の深さを見るキーワードです。

04 / Domains

案件領域の分類

同じC#でもUnityゲーム開発とASP.NET業務システムは別領域です。ここで案件概要を4つに分類できるようにします。

領域別の見方 早見表

領域主な現場・案件見る点提案時の補足
Unity / C# スマホ・カジュアルゲーム、VR/AR、インディー、運用中タイトル。ゲームロジック・UI・通信・課金・広告・ログ・アセット組込み。 Unity実務、商用タイトル、uGUI、Addressables、UniTask、Photon、API連携、ストアリリース、運用改善。 インゲームかアウトゲームか、運用中タイトルか新規開発かを添える。
Unreal / C++ コンソール、PC、高品質3D、シミュレーション、メタバース、製品デモ。BlueprintだけかC++実装まであるかが重要。 UEバージョン、C++実装範囲、Blueprint連携、3D、描画、物理、マルチプレイ、最適化。 Blueprint中心ならC++必須案件には慎重に出す。
.NET / C# SES案件で多い業務系。社内・基幹システム、業務アプリ、保守改修、リプレイス、Web API開発。 ASP.NET / ASP.NET Core、.NET Framework、.NET 6以降、WPF、Windows Forms、SQL Server、Azure、Web API。 VB.NETからC#移行、古い.NET Frameworkからモダン.NETへの移行経験は強い材料。
組込み / C・C++ 車載、医療機器、産業機器、IoT、通信機器、家電、ファームウェア、ドライバ、評価・検証。 Linux、RTOS、ベアメタル、マイコン、通信規格、実機デバッグ、評価環境、センサー制御。 ハードウェアに近い経験、対象機器、評価環境を具体的に書く。
案件領域の2×2マトリクス。横軸ゲーム⇔業務・制御、縦軸 低レベル・高性能⇔高レベル・生産性。各象限に領域名と見る点キーワードを配置
2軸(ゲーム⇔業務・制御 × 低レベル⇔高レベル)で4領域に分かれる。置かれた位置が、そのまま見るべき経験の違いになる。
C#が3つに分岐する図。Unity C#(ゲーム)、業務系C#(.NET)、WindowsアプリC#に分かれ、それぞれ主な現場と評価軸が異なる
同じ「C#」でもUnity・業務系(.NET)・Windowsアプリで現場も評価軸も別物。「C#経験◯年」だけで判断せず、どのC#かを必ず確認する。

C#経験の読み分けは必須

Unity C#、業務系C#、WindowsアプリC#は同じ「C#」でも評価軸が違います。案件概要でC#とだけ書かれている場合は、Unityなのか、ASP.NETなのか、WPF / Windows Formsなのかを必ず確認します。

05 / Keywords

案件概要でよく見るキーワード

キーワードは候補者検索のタグではなく、案件の種類と難易度を読む材料です。必須と尚可も分けて見ます。

Unity / C#

UnityC#uGUIUniTaskAddressablesPhoton課金広告SDKiOS / Android運用中タイトル

Unreal / C++

Unreal EngineC++BlueprintAAAリアルタイム3D最適化マルチプレイコンソール画像処理ミドルウェア

.NET / C#

ASP.NETASP.NET Core.NET Framework.NET 6以降WPFWindows FormsSQL ServerAzureWeb APIリプレイス

組込み / C・C++

車載医療機器産業機器IoT通信機器家電LinuxRTOSマイコン実機デバッグ

案件概要での確認ポイント

「C#経験3年以上」だけでは不十分です。Unity C#なのか、ASP.NET C#なのか、WPF C#なのかを確認します。「C++経験」も、Unrealなのか、画像処理なのか、金融低遅延なのか、製品開発なのかで提案の見せ方が変わります。

06 / Skill Sheet

スキルシートの読み方

スキルシートでは、技術名やプロジェクト名だけで判断しません。担当範囲、工程、チーム開発、商用経験、運用、改善経験を読みます。

この章で覚えること

「使ったことがある」と「現場で任された」は別。実装範囲と責任範囲を見る。

新人が間違えやすいこと

個人制作、学習、商用運用を同じ強さで読んでしまう。

営業現場で使う場面

候補者の提案可否、単価感、面談前の深掘り項目整理で使う。

案件例

Unityスマホゲーム開発 / C# / 運用中タイトル

工程
詳細設計、実装、単体テスト、リリース後改修
担当
イベント機能、UI改修、API連携、ログ送信、課金周辺の不具合修正
環境
Unity、C#、Git、Jira、Firebase、iOS / Android
営業判断
Unityの実務経験として提案可能。新規開発より運用改善に強い人材として補足する。
見る点 1

Unity経験の中身

チュートリアル、個人制作、実務運用、商用リリースでは評価が違います。ストア公開や運用中タイトル経験は強い材料です。

見る点 2

C#経験の分類

Unity C#、ASP.NET、WPF、Windows Formsを分けます。C#経験ありだけでUnity即戦力とは言いません。

見る点 3

.NET移行経験

VB.NETからC#、古い.NET Frameworkから.NET 6以降、オンプレからAzureなどの移行経験は提案材料になります。

見る点 4

組込み経験の対象

車載、医療、産業機器、IoT、通信機器など、対象機器と評価環境を確認します。

記載

C#開発経験3年

弱い読み

C#ならUnityにも.NETにも出せる

営業が確認

Unityか、ASP.NETか、WPFか。DB、API、Azure、商用経験はあるか。

提案補足

「ASP.NET中心のC#経験。Unity実務はないため.NET業務系案件に適性」

強く読む記載 / 注意する記載

記載強く読む条件注意点
Unity / C#商用タイトル、機能実装、UI、API、課金、リリース、運用改善がある個人制作のみの場合、即戦力とは言い切らない
Unreal / C++C++実装、Blueprint連携、描画/物理/最適化、チーム開発があるBlueprintだけの場合、C++要件には弱い
C# / .NETASP.NET Core、SQL Server、Azure、Web API、保守改修、リプレイスがあるUnity案件にそのまま横展開しない
C / C++ 組込みRTOS、Linux、通信、ドライバ、マイコン、実機デバッグ、評価環境があるゲームC++とは評価軸が違う

07 / Interview

登録面談で聞くこと

面談では、技術用語の暗記チェックではなく、提案で使える事実を集めます。何を作ったか、どこまで任されたか、どんな制約で工夫したかを聞きます。

共通質問

  • C / C++ / C#のうち、実務で一番使った言語はどれですか。
  • 担当工程は、設計、実装、テスト、運用、改善のどこまでですか。
  • チーム規模、開発期間、Gitなどのバージョン管理経験を教えてください。
  • パフォーマンス改善や不具合調査で印象に残っている経験はありますか。
  • コードレビュー、設計レビュー、CI/CD、単体テストの経験はありますか。

Unity / Unreal 質問

  • Unityではどの機能を実装しましたか。UI、ゲームロジック、通信、課金、広告、演出のどれですか。
  • 運用中タイトルの改修経験はありますか。障害対応やストアリリースは経験しましたか。
  • UnrealではBlueprint中心ですか、C++実装も担当しましたか。
  • FPS低下、メモリ増加、ロード時間などの改善経験はありますか。

.NET / 業務系 質問

  • .NET Framework、.NET Core、.NET 6以降のどれを使いましたか。
  • ASP.NET、ASP.NET Core、WPF、Windows Formsのどれが中心ですか。
  • SQL Server、Web API、Azureの経験はありますか。
  • 社内システム、基幹システム、業務アプリ、保守改修、リプレイスのどれを経験しましたか。
  • VB.NETからC#、古い.NET Frameworkからモダン.NETへの移行経験はありますか。

組込み / C・C++ 質問

  • 対象機器は何ですか。車載、医療機器、産業機器、IoT、通信機器、家電など。
  • OSはLinux、RTOS、ベアメタルのどれですか。
  • マイコン、通信規格、センサー制御、ドライバ、ファームウェアの経験はありますか。
  • デバッグは実機、エミュレータ、ログ解析、評価環境のどれで行いましたか。

08 / Level

レベル感の見極め

年数だけで判断しません。回答の具体性、担当範囲、トラブル対応、設計・改善経験で見ます。

初級

指示を受けて実装できる

既存コードを読んで修正、簡単な機能追加、単体テストができる。個人制作や学習経験のみの場合は初級扱い。

出しやすい案件

Unity改修補助、.NET実装補助、テスト/運用、組込み評価補助。

中級

機能単位で任せられる

設計意図を理解し、機能実装、レビュー対応、不具合調査、パフォーマンス改善の一部を自走できる。

出しやすい案件

Unity機能開発、ASP.NET開発、Unreal C++実装、組込み制御開発。

上級

設計・改善・リードができる

アーキテクチャ、設計方針、性能改善、チームリード、技術選定、メンバー育成まで関われる。

出しやすい案件

リードエンジニア、ゲーム基盤、エンジン改善、.NET移行、組込みアーキ設計。

スキルレベルの3段階を昇格ステップで表す図。初級(製造・実装中心)→ 中級(機能単位で自走)→ 上級(設計・改善・リード)と右上へ上がり、各段に提案先を併記
レベルは年数ではなく担当範囲で上がる。初級=指示を受けて実装、中級=機能単位で自走、上級=設計・改善・リード。各段で出しやすい案件(提案先)も変わる。

回答の見極め例

質問弱い回答提案可能強く推せる
Unityで何を担当しましたかゲームを作りました。UI画面とイベント機能をC#で実装しました。運用中タイトルでイベント機能、API連携、ログ送信、課金周辺の不具合修正を担当し、リリース対応まで行いました。
Unrealの経験を教えてくださいBlueprintを少し触りました。Blueprint中心でキャラクター挙動を実装しました。C++でゲームロジックを実装し、Blueprintと連携。描画負荷とメモリを調査しFPS改善も行いました。
.NET経験を教えてくださいC#で開発しました。ASP.NETで画面とAPIの改修を担当しました。ASP.NET Core、SQL Server、Azure環境でWeb API設計、保守改修、.NET Frameworkから.NET 6移行まで担当しました。
組込みCの経験を教えてくださいCで開発しました。Linux環境で通信処理と評価を担当しました。RTOS上でセンサー制御、通信ドライバ、実機デバッグ、不具合解析まで担当しました。

09 / Mismatch

営業がミスりやすい提案

近そうに見える経験ほど危険です。提案前に、ズレやすいポイントを確認します。

よくあるミスなぜ危ないか提案前に確認すること
C#業務系をUnity即戦力として提案C#文法は近いが、Unityのライフサイクル、UI、アセット、ビルド、ストア対応は別経験。Unity実務、個人制作、uGUI、API連携、運用経験の有無。
Unity C#とASP.NET C#を同じに扱うゲームクライアントと業務系Webでは、設計対象も開発フローも違う。Unity、ASP.NET、WPF、Windows Formsのどれが中心か。
Blueprint経験だけでUnreal C++案件へ提案BlueprintとC++実装では求められる技術深度が違う。C++実装範囲、クラス設計、メモリ、最適化経験。
C経験者をC++設計案件へそのまま提案C++はオブジェクト指向、STL、テンプレート、設計力が必要。C++実務年数、設計、レビュー、スマートポインタ、STL。
組込みCを単なる古い技術として軽く見る車載、医療、産業機器などでは今も重要で、実機・評価環境経験が差別化になる。対象機器、OS、マイコン、通信規格、実機デバッグ。

10 / Proposal

提案コメント例

提案コメントでは「C#できます」では弱いです。案件側が不安に思う差分を、経験の根拠で埋めます。

提案時の注意点

  • Unity / Unreal / .NET / 組込みの分類を明記する。
  • C#はUnity、ASP.NET、WPF、Windows Formsを分けて補足する。
  • C++案件では、C++実装範囲、設計、メモリ、性能改善を補足する。
  • 学習経験や個人制作は正直に書き、商用経験と混ぜない。
  • 案件要件に足りない部分は「キャッチアップ前提」「補助から」と表現する。

良い提案コメント例

Unity/C#で運用中スマホゲームのイベント機能、UI改修、API連携を担当しています。Gitでのチーム開発、リリース後の不具合修正まで経験があり、運用案件との親和性が高い人材です。
Unreal EngineではBlueprintだけでなくC++でのゲームロジック実装経験があります。描画負荷の調査とFPS改善にも関わっており、3Dゲーム開発案件での即戦力性が見込めます。
C#はASP.NET Coreを中心に、Web API設計、SQL Server、Azure環境での開発経験があります。Unity実務はありませんが、C#の設計・実装力を活かせる.NET業務系案件に適しています。
組込みCではRTOS環境でセンサー制御と通信処理を担当し、実機デバッグと不具合解析まで経験しています。制御系・IoT系案件で親和性があります。

弱いコメント / 改善後コメント

弱い

C#経験3年なのでUnity案件に合います。

改善後

C#はASP.NET中心のためUnity実務はありません。C#の設計・実装力はありますが、Unity案件では補助・キャッチアップ前提での提案が現実的です。

弱い

Unreal経験があるのでC++案件に出せます。

改善後

Unreal経験はBlueprint中心です。C++実装必須案件では不足がありますが、Blueprint実装やC++メンバー補助の案件であれば提案余地があります。

弱い

C言語経験があるので組込み案件に合います。

改善後

C言語ではLinux環境で通信処理と評価を担当しています。RTOSやマイコン経験は未確認のため、対象機器と実機デバッグ経験を追加確認のうえ提案します。

11 / Practice

ケース演習

講師が問いかけながら進められる実務判断形式です。正解を一つに決めるより、確認すべきこと、提案時の注意、コメントの方向性を押さえます。

ケース1: 案件概要「Unity/C#、スマホゲーム運用、課金・広告SDK改修」。誰を提案する?

状況: 候補AはASP.NET C# 4年。候補BはUnity個人制作1年。候補CはUnity商用運用2年、UIとAPI改修経験あり。

問い: 最優先で提案する候補と、他候補を出す場合の注意点は?

回答観点: 候補Cが最も近い。AはC#経験だけではUnity即戦力とは言えない。Bは育成枠や補助なら可能性あり。課金・広告SDK経験の有無は追加確認する。

ケース2: スキルシートに「Unityでゲーム制作」とだけ記載。即戦力と言える?

状況: 商用か個人か、担当機能、チーム開発、リリース経験が書かれていない。

問い: 追加確認すべきことは?

回答観点: 商用/個人、完成物、担当範囲、uGUI/API/課金/広告、Git、レビュー、ストア公開、運用中改修を確認。即戦力と断定せず、確認後に提案レベルを決める。

ケース3: C#業務系経験者をUnity案件に出せる?

状況: ASP.NET Core、SQL Server、Azure経験は豊富。Unity実務はなし。

問い: どのように提案判断する?

回答観点: Unity即戦力ではない。.NET業務系案件が本線。Unity案件に出すなら個人制作やキャッチアップ状況を確認し、補助・育成枠として正直に補足する。

ケース4: Blueprint経験のみの候補者をUnreal C++案件に出せる?

状況: Unrealでキャラクター挙動をBlueprintで実装。C++実装経験は記載なし。

問い: 提案可否と確認事項は?

回答観点: C++必須案件には弱い。C++実装経験、既存C++コード読解、BlueprintとC++連携経験を確認。Blueprint中心案件なら提案余地あり。

ケース5: 組込みC案件「車載、RTOS、通信制御、評価」。何を追加確認する?

状況: 候補者はC言語経験3年だが、対象機器やOSが不明。

問い: 面談で聞くべきことは?

回答観点: 車載経験、RTOS経験、通信規格、マイコン、実機デバッグ、評価環境、センサー制御、ドライバ/ファームウェア経験を確認する。

ケース6: .NETリプレイス案件「.NET Frameworkから.NET 8、SQL Server、Azure」。誰が近い?

状況: 候補AはUnity C# 3年。候補BはASP.NET MVCとSQL Server保守4年。候補CはWPFのみ2年。

問い: 提案候補とコメントの方向性は?

回答観点: 候補Bが本線。ASP.NET、DB、保守改修経験を補足し、.NET 8やAzure経験の有無を確認する。AはC#でも領域違い。CはWindowsアプリ寄りでWebリプレイスには不足がある。

12 / Check

確認テスト

案件概要、スキルシート、面談、提案の判断軸が残っているかを確認します。

研修後にできてほしいこと

  • C / C++ / C#を別カテゴリとして説明できる。
  • Unity C#と業務系C#を混同しない。
  • Unreal BlueprintとC++実装を分けて確認できる。
  • 組込みC案件で確認すべきキーワードを言える。
  • スキルシートから担当範囲・実務深度を読み取れる。
  • 提案コメントで経験の近さと不足点を正直に補足できる。
1. C#経験者をUnity案件に提案する前に確認すべきことは?
回答観点: Unity実務または制作経験、uGUI、ゲームロジック、API連携、商用/個人、チーム開発、リリース/運用経験。
2. ASP.NET経験者をUnity即戦力と言い切れない理由は?
回答観点: C#文法は共通でも、Unityのライフサイクル、アセット、ゲームUI、ビルド、ストア対応、運用経験は別だから。
3. Unreal案件でBlueprint経験だけの候補者をどう扱う?
回答観点: C++必須案件では弱い。Blueprint中心案件や補助枠なら可能性あり。C++実装経験の有無を必ず確認する。
4. .NET業務系案件で見るキーワードを5つ挙げてください。
回答観点: ASP.NET、ASP.NET Core、.NET Framework、.NET 6以降、WPF、Windows Forms、SQL Server、Azure、Web API、保守改修、リプレイスなど。
5. 組込みC案件で確認するキーワードは?
回答観点: Linux、RTOS、ベアメタル、マイコン、ファームウェア、ドライバ、通信規格、実機デバッグ、評価/検証、センサー制御。
6. 提案コメントで「言語名だけで押す」のが弱い理由は?
回答観点: 案件領域、担当範囲、商用経験、実務深度、足りない経験が伝わらず、ミスマッチの不安を解消できないため。

13 / Summary

まとめ

C/C++/C#案件の提案精度は、言語名ではなく、領域、担当範囲、実務深度を読めるかで決まります。

案件概要

Unity、Unreal、.NET、組込みを分け、必須技術と尚可技術を読み分ける。

スキルシート

タイトル名より、実装箇所、工程、商用経験、運用、改善経験を見る。

登録面談

何を作ったか、どこまで任されたか、どう改善したかまで聞く。

提案

経験の近さと不足点を正直に補足し、案件側の不安を先回りする。