最近、在宅・リモートワークや副業、フリーランスなどのさまざまな働き方ができるようになりました。そういった環境に依存しない働き方が多く取り入れられているのが「ITエンジニア」です。
本記事ではITエンジニアの中でもC#エンジニアに注目し、案件の内容や探し方、必要になる準備などを紹介していきます。こちらを参考にC#エンジニアとしてのキャリアやスキルアップを目指しましょう。
目次
1.C#とは
C#はMicrosoftが開発した「C++ / Javaをもとにした新たなオブジェクト指向のプログラミング言語」です。Web、ゲーム、業務システムなどさまざまな開発において活用されています。
C#の特徴は以下の通りです。
C / Java / C++エンジニアは習得が容易
マルチプラットフォームで高い汎用性
仮想マシンで実行するため、処理が高速
C / Java / C++よりも扱いやすく機能が豊富
C / Java / C++と同様にセキュリティ面が強固
C#は共通中間言語( Common Intermediate Language:CIL)という形式にコンパイルして共通言語基盤(Common Language Infrastructure:CLI)という環境を使用して、実行されます。その共通言語基盤として有名なのが「.NET Framework」です。C#の開発では.NET Frameworkを活用することが一般的だと覚えておくと良いでしょう。
しかし、.NET FrameworkはWindows用のみのため、他の環境で使用する際には「Mono」などの.NET Frameworkと互換性のある環境が必要になります。
※共通言語基盤とは、Microsoftが定めた国際規格で「複数のプログラミング言語を実行できる環境」です。複数のプログラミング言語を実行するために使用されるのが「共通中間言語」になります。共通中間言語とは「複数のプログラミング言語を同じ環境で扱うための中間形式」です。
2.C#案件の種類と仕事内容
本章ではC#案件の種類と仕事内容について紹介していきます。
前述の通り、C#はC++ / Javaを参考にし、マルチプラットフォームに対応しているため、幅広い開発分野での活用が可能です。
大きく分けると以下の4種類になります。
業務システム
Webシステム、サービス
ゲーム、アプリ
AR、VR
それぞれの内容について詳しく見ていきましょう。
業務システム
一般企業向けの基幹システムといった規模の大きいものから、POS(販売店情報管理)や電子カルテ、決済管理などのさまざまな分野でC#が活用されています。
主な仕事内容は設計書をもとにしたプログラミングやコーディングです。クライアントの需要や要望によって、Webアプリ向けの「ASP.NET」やMicrosoftが開発したプログラミング言語「VB.NET」に関する実務経験が必要になります。
Webシステム、サービス
C#にはASP.NETなどのWeb向けのフレームワークも多くあるため、予約や決済などのWebシステムやWeb・ECサイトなどのWebサービスでも案件はあります。
仕事内容はプログラミングやコーディング、Webデザインなどです。他の案件と同様に使用するフレームワークの実務経験とHTML・CSSやPHP、JavaScriptの知識が求められます。
ゲーム・アプリ
低コストでアプリやゲーム開発が可能なゲームエンジンの「Unity」がC#に対応しているため、ネイティブアプリやモバイルゲームなどの分野でもC#が活躍しています。
内容は他の案件と同様にプログラミングやコーディングですが、修正や機能の追加・更新といった作業もあるのが特徴です。Unityはもちろん、ゲームやアプリの開発に関する経験や知識も求められるため、他の案件と共通しない要素もあります。
AR、VR
AR(拡張現実)やVR(仮想現実)を活用し、UnityとC#で開発されたサービスも増えてきています。医療現場や災害現場、イベントなどさまざまな分野でARやVRは活用されるようになっているため、今後も幅広い展開が期待できます。
内容は機能の追加や保守管理などです。Unityの経験が求められます。
上記以外により具体的なC#案件をみたい方はこちらから確認いただけます。
3.C#案件の単価や年収
C#案件の単価
C#のフリーランスや副業で受注可能な案件単価はさまざまです。
例えばフリーランス求人・案件を取り扱っている「フリーランスボード」では、C#フリーランスエンジニアの月額平均単価は66.4万円です。
本人の実務経験や稼働時間などに応じて変化します。
一例ですが実務経験と稼働時間での単価は違いは以下の通りです。
C#実務経験1~2年
週4~5日稼働(月140~180時間程度) 月額30~60万
週2~3日稼働(月60~90時間程度) 月額20~40万
C#実務経験3年以上
週4~5日稼働(月140~180時間程度) 月額60~90万
週2~3稼働(月60~90時間程度) 月額20~90万
単価以外にも案件の種類や数も基本的に実務経験と稼働時間と比例しています。
現在のITエンジニア不足やDX需要の高まりを背景に、C#などの特定のスキルセットを持つエンジニアの単価はやや上昇傾向にあるといえます。
ただし、これらは主にフリーランスや副業での案件単価の目安であり、正社員として就業する場合には月給制・賞与・福利厚生などが含まれるため、年収の換算方法が大きく異なります。
契約期間に関してはフリーランスや副業案件の場合、案件ごとにより異なります。
6ヶ月単位または3ヵ月単位の案件が一般的です。6ヶ月や3ヵ月で契約が終了する場合や実務経験が増えて単価をあげられそうな場合などを考慮して、契約の継続や次の案件への応募といったスケジュール管理が必要になります。
C#案件の年収
まず、賃金構造基本統計調査をもとにするとエンジニアの平均年収は約550万円とわかります。しかし、フリーランスや副業など個人の場合は単価と案件の獲得状況次第では平均年収を下回ることもあるため、注意が必要です。
仮にフリーランスとして一年間継続して案件の獲得ができたとすると以下のようになるでしょう。
C#実務経験1~2年:年収360~720万円
C#実務経験3年以上:年収720~1080万円
上記から所得税や住民税、社会保険料などを抜いた金額が実際の手取り額になります。また、計算上は実務経験3年以上で年収1000万円を超えられるように見えますが、月額80万円以上の案件は希少です。
そのため、年収1000万円程度が上限になることもあると理解しておきましょう。
4.5つのC#案件を探す方法
C#の基本や案件の種類と内容を理解した上で実際に探すための5つの方法について触れていきましょう。
方法としては以下のようなものがあります。
友人や知人からの紹介
クラウドソーシング
支援サービスの活用
直接の営業活動
SNSでの募集
それぞれの内容から自分の実務経験や求める条件にあった方法を見つけましょう。
友人や知人からの紹介
まずは、友人・知人から案件やクライアントを紹介してもらう方法です。信頼関係があるため、実務経験に大きく左右されずに希望する条件や報酬をかなえられる可能性があります。
この方法で注意が必要なのが「トラブル時の対応」です。紹介者やクライアントとの信頼や関係を壊さないように慎重な対応が求められます。また、継続して案件を紹介してもらえるとは限らないので、他の方法と組み合わせることが必要です。
クラウドソーシング
クラウドソーシングとは、仕事を依頼したい個人や企業と、仕事を受注したい人をマッチングさせるサービスです。有名なサービスとしてはクラウドワークスやランサーズなどがあげられます。初心者向けと経験者向けの両方の案件があり、単価や作業時間などの希望条件を設定して検索ができるのが特徴です。
多種多様な案件がある代わりに、それだけ応募者も多く、自己アピールやコミュニケーションスキルが求められます。また、以下のようなことに注意が必要です。
サービス利用料はいくらか
発注元の信頼性はあるか
適正な単価か
実務経験1年以上などの応募条件があるか
これらをしっかり確認した上で自分の経歴やスキルにあった案件を探す必要があります。
支援サービスの活用
副業やフリーランス向けの案件、さらに転職先まで幅広く探してくれる支援サービスの活用も手段の一つです。
たとえば、以下のサービスはIT転職支援に力を入れています。
Geekly
BIZREACH
レバテックキャリア
フリーランス支援は、以下のサービスが有名です。
希望条件に合わせた案件や転職先を紹介してくれるため、案件探しと営業活動の時間を短縮できる魅力があります。
しかし、この方法では基本的に1年以上のC#実務経験が必須です。また、同じ案件でも仲介料や条件がサイトごとで異なる場合があるため、複数のサイトでの比較が大切になります。
上記以外に自分に見合うフリーランスエージェントを探したい方はこちらから確認いただけます。
直接の営業活動
これはC#の開発が可能な人材を募集している企業に自ら営業する方法です。企業のサイトを見て募集を見つけたり、交流会やセミナーなどでのオフラインで出会った人脈を活用して営業したり、といった方法があります。
案件の調査や営業、契約後のやり取りをすべて自ら行うため、仲介料やサービス料が発生しません。ただし、実務経験はもちろん、営業スキルや自己アピールができないと希望に合った案件を獲得することが困難です。
SNSでの募集
最後がSNSで自分のスキルや経験を発信する方法です。自らの知識や実績などをSNSに投稿し、C#エンジニアを求めている企業担当者からの連絡やスカウトを待ちます。
すぐに連絡やスカウトが来ることはありません。待っている間、継続的に投稿したり、フォロワーを獲得したり、通常の案件獲得とは異なる努力が求められる可能性があります。
また、基本的には受け身の営業になるため、他の方法との並行が大前提です。
5.C#案件に参画するまでに必要なこと
本章では、C#案件に参画するまでに必要なことを紹介します。
副業、フリーランス、転職など働き方にかかわらず求められるので、必ずおさえておきましょう。
必要なスキル
プログラミングスキル
何よりもC#でのプログラミングができることが前提条件です。その上でC#以外の開発言語を使えるようにしておくと案件の幅は広がり、キャリアアップへの道も見えてきます。
また「Unity」や「Visual Studio」といった開発に必要な機能をまとめた「統合開発環境(IDE)」の知識も重要です。関わりたい案件にあった知識を身に着けることで、より良い評価を得られます。
スクールに通ったり、資格取得をする際の学習での習得を検討するのも良いでしょう。
システム開発スキル
C#の案件でより稼げるようになるためには、システム開発に関する知識とスキルも重要です。システム開発ではC#以外にも以下のような要素があります。
操作画面(HTML/CSSやJavaScript)
データベース(SQL)
他システム
C#のプログラミングは要素の一つでしかないため、システムの設計や構成を理解できるような知識が必要です。
フレームワークスキル
前述でも紹介したASP.NETやVB.NET、Monoなどは基本的に.NET Frameworkがもとになっています。そのため、どのような案件に関わるにしても.NET Frameworkに関するスキルの習得は欠かせません。実務経験以外にも、スクールや資格講座で学習できます。
副業やフリーランスでかかわる場合の注意点
本業や他の仕事との兼ね合い
副業の場合は本業、フリーランスの場合は複数の案件に参画している場合の注意点です。
そもそも、副業の場合は本業の就業規則で禁止されている場合はNGになります。
フリーランス・副業の場合は各案件の納期や稼働時間帯が指定されている場合もあるため綿密なスケジュール管理が重要です。
確定申告
フリーランスの方はもちろん、副業の場合でも20万円を超える場合は確定申告が必要です。
確定申告を怠ってしまうと収入に対する納税額に加えて、遅れてしまった分だけ追加で税金を納めることにもなるため注意しましょう。
実務経験に応じた対応
恵まれた人脈がない限りは、実務経験ゼロ~1年未満の人は案件に関わることすらできません。企業は自分の会社の社員でない人を育てることはほとんどないためです。
そのため、まずはスクールや転職サイトからしっかりと実務経験を積める会社に就職し、実務経験を積みましょう。
案件の条件は要確認
副業やフリーランスでの単価の計算方法はさまざまです。時給や日給以外に一定期間内での納品物の量や質などがあります。条件をしっかり確認していないと稼働時間と収入が見合わない状況に陥る可能性も高いです。
稼働時間の増加は休息の減少につながり、本業や他案件に悪影響を及ぼすでしょう。
条件はしっかりと確認し、無理のない範囲でスキルアップを図り、高単価を目指すことが大切です。
関連記事
副業禁止の規則は守るべきか?副業禁止の企業で本業以外に収入を得る方法も解説
確定申告のやり方【初めての方向け】基本から流れ、詳しい手順までわかりやすく解説
6.C#案件の将来性
前述にもあるようにC#は業務システム、Web、ゲームなどとさまざまな分野で活用されています。それ以外にも注目すべきなのが以下の強みです。
Microsoft社が開発
開発元の関係もあり、Windows向けのシステムに対して高い需要を誇っております。
マルチプラットフォーム
はじめはWindows向けではありましたが、現在ではAndroidやiOS、Linuxなどさまざまな環境に対応しております。
.NET Framework
.NET Frameworkは多くのライブラリを保有しており、高い生産性と利便性があります。
良質な開発環境
C#の開発でよく使用されるのが、Microsoft社の提供する「Visual Studio」やマルチプラットフォーム対応のゲームエンジン「Unity」になります。コーディングやデバッグだけでなく、複数のプラグインといった高い生産性を支援してくれる環境です。
C#はこれらの強みや活用分野の多さを誇り、C / Java / C++からC#への移行やAR・VRなどの最新技術への活用もされています。
さらに経済産業省の試算によると、2025年には約79万人ものIT人材が不足するといわれており、C#エンジニアは今後も高い需要が期待できるでしょう。
7.まとめ
C#はさまざまな分野で活用され、将来性もあるプログラミング言語です。
理想のキャリアや案件と自らのスキルや経験が一致するかどうかを確認するのは大切になります。自分に合っているかどうかを精査した上で探すことが大切です。
副業、フリーランスはもちろん、転職も視野にいれつつ挑戦していきましょう。
本記事が皆様にとって少しでもお役に立てますと幸いです。